api.botsubscription.com
GET /v1/endpoint
Authentication Bearer
Token
Stays in this tab. Required for this endpoint — the value below is what gets sent.
Request GET Response —
cURL Node Python PHP Go Ruby
Copy curl --request GET \
--url https://api.botsubscription.com/v1/endpoint \
--header 'Authorization: Bearer sk_live_•••'— — · — · —
Response will appear here.
Generate a checkout session for a user to purchase a subscription plan. The API creates a payment intent with your configured provider and returns details you can use to redirect the user to complete payment. Optionally apply coupon codes for discounts.
POST /v2/projects/ {project_id} /payment-requests CopyTry it Authorization Bearer Token Required
Path Parameters The unique identifier of the project.
Request Body The user ID to create the payment for.
The plan ID to subscribe to.
Specific merchant account to use. If omitted, uses default.
Optional coupon code to apply.
Additional metadata for the payment.
curl -X POST "https://api.botsubscription.com/v2/projects/YOUR_PROJECT_ID/payment-requests" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"user_id": "123456789012345678",
"plan_id": "11111111-1111-1111-1111-111111111111",
"coupon_code": "SUMMER2024"
}' const project_id = 'YOUR_PROJECT_ID' ;
const response = await fetch ( `https://api.botsubscription.com/v2/projects/${ project_id }/payment-requests` , {
method: 'POST' ,
headers: {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
body: JSON . stringify ({
user_id: '123456789012345678' ,
plan_id: '11111111-1111-1111-1111-111111111111' ,
coupon_code: 'SUMMER2024'
})
});
const data = await response. json (); import requests
project_id = 'YOUR_PROJECT_ID'
response = requests.post(
f 'https://api.botsubscription.com/v2/projects/ { project_id } /payment-requests' ,
headers = {
'Authorization' : 'Bearer YOUR_TOKEN' ,
'Content-Type' : 'application/json'
},
json = {
'user_id' : '123456789012345678' ,
'plan_id' : '11111111-1111-1111-1111-111111111111' ,
'coupon_code' : 'SUMMER2024'
}
)
data = response.json() $project_id = 'YOUR_PROJECT_ID' ;
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL , "https://api.botsubscription.com/v2/projects/{ $project_id }/payment-requests" );
curl_setopt ($ch, CURLOPT_POST , true );
curl_setopt ($ch, CURLOPT_HTTPHEADER , [
'Authorization: Bearer YOUR_TOKEN' ,
'Content-Type: application/json'
]);
curl_setopt ($ch, CURLOPT_POSTFIELDS , json_encode ([
'user_id' => '123456789012345678' ,
'plan_id' => '11111111-1111-1111-1111-111111111111' ,
'coupon_code' => 'SUMMER2024'
]));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER , true );
$response = curl_exec ($ch); Payment request created application/json
{
"ok" : true ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/payment-requests" ,
"code" : 201 ,
"message" : "Payment request created successfully" ,
"data" : {
"payment_request_id" : "11111111-1111-1111-1111-111111111111" ,
"merchant_account_id" : "22222222-2222-2222-2222-222222222222" ,
"amount" : "23.99" ,
"currency" : "USD" ,
"status" : "pending" ,
"request_type" : "invoice" ,
"created_at" : "2024-12-15T10:30:00.000Z" ,
"user_id" : "123456789012345678" ,
"provider" : "stripe" ,
"provider_payment_id" : "pi_3NkQz2ABC123" ,
"settled_at" : null ,
"payment_request_data" : {}
}
} Invalid request application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/payment-requests" ,
"code" : 400 ,
"error" : {
"error_code" : "BAD_REQUEST" ,
"message" : "Plan not found"
}
} User already subscribed application/json
{
"ok" : false ,
"request_id" : "11111111-1111-1111-1111-111111111111" ,
"method" : "POST" ,
"path" : "/v2/projects/YOUR_PROJECT_ID/payment-requests" ,
"code" : 409 ,
"error" : {
"error_code" : "CONFLICT" ,
"message" : "User already has an active subscription to this plan"
}
} Last updated: May 28, 2026
PreviousGet Payment Next List Settings