Skip to main content
A payment starts as pending and ends in exactly one final status. Only succeeded means money moved.

Statuses

succeeded, declined, canceled and expired are final. A final payment never changes status.

Declined payments

A declined payment includes a decline_reason.
Response

Canceling a payment

While a payment is pending, your server can cancel it with POST /v1/payments/{id}/cancel, for example when the customer changes the payment method. A payment that already reached a final status cannot be canceled.

Repeated requests

If your server sends the same creation request twice with the same Idempotency-Key, Broco returns the original payment. The customer is debited at most once for one key. After a payment expired or was declined, a new attempt uses a new key, such as ORD-10482-attempt-2.

Next steps

Payments API

The payment object and its operations.

Events & webhooks

Receive payment.succeeded on your server.