Payment Requests
Update Payment Request
Update the status of a payment request. Any status transition is permitted.
PATCH
This endpoint requires a PRO plan or above. If your plan does not include the External Billing API, the request returns
403 with error code external_billing_api.What happens when you mark a request as PAID
Sending "status": "PAID" triggers the internal payment service in addition to updating the status field:
paid_atis recorded with the current timestamp.external_payment_idis stored if provided (useful as a reference to your payment processor’s transaction ID).- The platform checks whether the linked subscription has any remaining unpaid cycle requests (
PENDINGorOVERDUE).- If none remain → subscription status returns to
activeand any paused campaigns are automatically resumed. - If others remain → subscription stays in its current state until all are resolved.
- If none remain → subscription status returns to
external_payment_id is optional
You can mark a request as PAID without providing external_payment_id. It is recommended when you have a transaction reference from your payment processor (e.g. txn_abc123, pi_abc123 from Stripe), but the field is not required.
Status reference
| Status | When to use |
|---|---|
PAID | Client has paid. Triggers subscription recovery if no other cycle requests are outstanding. |
PENDING | Reset to pending (e.g. if you marked paid by mistake). |
FAILED | Payment attempt failed - client should be contacted. |
CANCELED | Charge is void - no payment needed. |
OVERDUE | Mark manually overdue (normally set automatically by the platform’s sweep). |
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Integer ID of the payment request to update.
Example:
"10"
Body
application/json
New status for the payment request. Required.
Available options:
PENDING, PAID, FAILED, CANCELED, OVERDUE Example:
"PAID"
Optional external transaction reference (e.g. txn_abc123 from your payment processor). Recommended when setting status to PAID.
Example:
"txn_abc123"

