Charge Subscription
Charge an additional one-off amount to an active Subscription. Creates a new Invoice and handles payment processing. Multiple items (up to 20) can be charged in a single call; each becomes its own Invoice line. All items must share the same currency, and that currency must match the Subscription's currency. Tax is calculated on the total and distributed proportionally across the lines.
Authorization
Public key Secret key In: header
In: header
Path Parameters
Subscription identifier - the initial order number, exactly as returned in subscription.id. Omit the leading # the dashboard shows: a #-prefixed value passes validation but resolves to nothing. Payment-provider subscription ids are not accepted.
^#?([0-9A-Za-z]{12,32}|[0-9]+)(-[0-9]+)?$Request Body
application/json
POST /v0/subscriptions/:subscriptionIdOrNumber/charge Request body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/v0/subscriptions/ABC123DEF456/charge" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "unitPrice": 4999, "quantity": 1, "description": "Additional storage upgrade" } ] }'{ "status": "success", "data": { "payment": { "object": "payment", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "type": "one_time", "number": "string", "status": "PENDING", "value": 0, "tax": 0, "fee": 0, "currency": "AFN", "currencyDecimals": null, "createdAt": 0, "userId": null, "user": null, "orderId": null, "orderNumber": null, "order": null, "subscriptionId": null, "subscription": null, "checkoutId": null, "discount": null, "invoiceNumber": null, "invoiceUrl": null, "charges": null } }}Update Subscription PATCH
Update Subscription items and handle proration behavior. Can modify prices, quantities, and add/remove items. The items array is the desired end state of the Subscription: items are paired to existing lines by offerId, missing ones are removed, and new ones are added (up to 20 total). All resulting items must share the same currency and billing period (recurring interval + interval count); otherwise the request is rejected with a 400.
Cancel Subscription PATCH
Cancel a Subscription, either immediately or at the end of the current billing period. This endpoint issues no refund; refund the Subscription's payment separately if one is due.