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 ID or order number
^#?([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/string/charge" \ -H "Content-Type: application/json" \ -d '{ "items": [ {} ] }'{ "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 with specified options for timing and refunds.