curl --request POST \
--url https://api.pandabase.io/v2/core/stores/{storeId}/mandates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "<string>",
"description": "<string>",
"frequency": "ONE_OFF"
}
'{
"ok": true,
"data": {
"id": "<string>",
"status": "REQUIRES_ACTION",
"agreementUrl": "<string>"
}
}Create a billing agreement (mandate) tied to a customer. The response includes an agreementUrl — redirect the customer there to authorize the saved payment method. Once authorized, the mandate transitions to ACTIVE and can be charged via the payments endpoint.
curl --request POST \
--url https://api.pandabase.io/v2/core/stores/{storeId}/mandates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerId": "<string>",
"description": "<string>",
"frequency": "ONE_OFF"
}
'{
"ok": true,
"data": {
"id": "<string>",
"status": "REQUIRES_ACTION",
"agreementUrl": "<string>"
}
}Documentation Index
Fetch the complete documentation index at: https://docs.pandabase.io/llms.txt
Use this file to discover all available pages before exploring further.
Store API token. Use the sk_ prefixed secret key as the Bearer token.
Store ID (shp_ prefix)
12 - 48ID of the customer this mandate is tied to (cus_ prefix). Create the customer via the Customers API first.
Why you want to charge this customer. Surfaced in the agreement flow.
ONE_OFF: a single expected charge — auto-revokes after first success. WEEKLY: one charge every 7 days. MONTHLY: one charge every 30 days. QUARTERLY: one charge per quarter. YEARLY: one charge per year. AD_HOC: no fixed cadence — charge whenever you need to.
ONE_OFF, WEEKLY, MONTHLY, QUARTERLY, YEARLY, AD_HOC