PlanPacer API Documentation

PlanPacer allows you to create flexible payment plans for your Stripe customers. Split large purchases into manageable installments and boost your conversion rates.

Overview

PlanPacer integrates with your existing Stripe account to create installment payment plans. We handle the scheduling and collection of payments while you maintain full control over your Stripe account.

Authentication

All API requests require authentication using your API key. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Base URL

https://planpacer.com

or for stripe test mode (requires reconnection to stripe)

https://test.planpacer.com

Endpoints

Stripe Connect

Connect Stripe Account

GET /api/stripe/connect

Query Parameters:

  • userId (required): Your user ID

Response: Redirects to Stripe Connect OAuth flow

Payment Plans

Create Payment Plan

POST /api/plans
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Body:

{
  "name": "Advanced React Course",
  "currency": "usd",
  "total_amount": 120000,
  "schedule": [
    {
      "due_date": "2024-06-01",
      "percentage": 40
    },
    {
      "due_date": "2024-07-01",
      "percentage": 60
    }
  ]
}

Response:

{
  "success": true,
  "plan_id": "plan_123",
  "message": "Payment plan created successfully"
}

List Payment Plans

GET /api/plans
Authorization: Bearer YOUR_API_KEY

Response:

[
  {
    "id": "plan_123",
    "name": "Advanced React Course",
    "currency": "usd",
    "total_amount": 120000,
    "schedule": [
      {
        "due_date": "2024-06-01",
        "percentage": 40
      },
      {
        "due_date": "2024-07-01",
        "percentage": 60
      }
    ]
  }
]

Customer Assignment

Assign Customer to Plan

POST /api/customer/assign
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Body:

{
  "email": "customer@example.com",
  "plan_id": "plan_123"
}

Response:

{
  "success": true,
  "customer_id": "customer_123",
  "access_token": "token_123",
  "message": "Customer assigned to plan successfully"
}

Error Responses

All endpoints return consistent error responses:

{
  "error": "Error message",
  "details": "Additional error details"
}

Common HTTP status codes:

  • 400 - Bad Request (invalid input)
  • 401 - Unauthorized (invalid API key)
  • 404 - Not Found (resource doesn't exist)
  • 409 - Conflict (resource already exists)
  • 500 - Internal Server Error

Support

For support and questions: