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:
- Email: support@planpacer.com
- Documentation: https://planpacer.com/docs