Payments

Refunds

Refunds use the currency of the original payment. The refund request does not accept a currency.


API

POST /merchant/refund-payment
X-API-KEY: <secret key>
Content-Type: application/json

{
  "track_id": "<track_id>",
  "amount": 1.5
}

track_id is the VenPays id from payment creation. amount is optional and is in the original payment currency.

Omit amount only for a first, full refund. If any amount was already refunded, send refundable_balance from POST /merchant/get-refundable-balance.

A confirmed refund returns HTTP 200 with success: true and a refund_id. Payment status then becomes refunded or partial_refund.

HTTP 200 with success: false means the provider did not confirm. The payment status stays as it was. Check payment status and the balance before you try again.

Request failures use HTTP 400 and a detail string. The full list is on Refunds API.


Preconditions

  • Original payment status is success or partial_refund
  • amount is not greater than refundable_balance
  • The API key is a secret key for the profile that created the payment