BINKDocs
HelpDashboard

Refunds & Cancellations

/docs/global/payments/refundsGlobal

Refund a paid payment in full or in part. Cancel a payment that has not been paid yet to close a link before it expires.

Which one do you need?

RefundThe customer already paid.
CancelThe customer never paid.

Create a refund

POST/merchant/refunds
ParameterTypeRequiredDescription
paymentIdstringRequiredThe payment to refund. Must be PAID or PARTIAL_REFUND.
amountMinorstringRequiredAmount in minor units. Cannot exceed the remaining refundable balance.
reasonstringOptionalFree text, shown in your dashboard and audit log.
bash
curl https://api.binkpay.net/merchant/refunds \
 -H "Authorization: Bearer sk_test_..." \
 -d '{
 "paymentId": "pay_8f2a1c",
 "amountMinor": "5000",
 "reason": "Customer requested cancellation"
 }'

Partial refunds are cumulative

Several partial refunds against one payment are allowed while the total stays within the captured amount. Status becomes PARTIAL_REFUND after the first, and REFUNDED once fully refunded.

Refund statuses

A refund carries its own status, separate from the payment it belongs to.

StatusMeaningWhat to do
PENDINGSubmitted to the rail, not yet settledWait — no action needed
COMPLETEDFunds returned to the customerClose the case
REJECTEDThe rail declined the refundContact support with the refund id
GET/merchant/refunds

Returns your company's refunds, newest first.

Cancel an unpaid payment

POST/merchant/payments/:id/cancel

A paid payment cannot be cancelled

Cancel works only while the payment is still pending. Once the customer has paid, the only route back is a refund.

Was this page helpful?