Refund a capture
POSThttps://app.shuttleglobal.com/c/api/instances/{instance_key}/captures/{capture_id}/refund
You can refund a capture in part or full, or simply mark a payment as refunded (if refunded offline).
Note, support for multi-refund (e.g., I pay $100 and refund $20 followed by a second refund of $80) is not available on all gateways.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The capture’s ID (ca_...).
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
"10.00"(Optional) The amount of the refund as a string e.g., “10”.
The amount should not have commas and use a . as a decimal separator.
If omitted, the entire unrefunded amount of the transaction will be refunded.
"Customer returned item"The reason for the refund (free text)
(Optional) Set to true if you do not want to process the refund via the gateway, but simply record that a refund was performed offline.
Responses
Section titled “Responses”Refund processed
object
object
"ref_11842_11073"The unique ID of the refund
"pay_11842_11072"The original payment this refund relates to
"10"The amount refunded
"2020-11-27T15:17:15.000Z"When the refund was created/instructed
"2020-11-27T15:17:18.000Z"When the refund completed processing
"Customer requested cancellation"The reason for the refund
"BOLT-00011073"A unique customer facing reference for the refund
"tr_11842_11072"The original transaction that is being refunded - may be a payment or a capture
The status of the refund transaction
The gateway status of the refund transaction
The message from the gateway (if pending or declined)
False if the refund was instructed, or true if it was only recorded (in which case the onus is on the user to perform the refund via an offline method)
"USD"The currency of the refund (always the same as source transaction)
The ID of the person this refund is for
An array of parts objects for which charge(s) the refund was applied to
object
True if this is just a record to indicate a refund was performed offline
The date the record was last updated
The version of the record
Bad request - invalid refund parameters
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Unauthorised: the API key is missing or not valid
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Example
{ "code": "UNAUTHORIZED", "message": "Unauthorised"}Capture not found or not eligible for refund
Every error has a code and a message. Some add more fields alongside them, with detail about the error.
object
The error code, for example VALIDATION_ERROR, INVALID, INVALID_REQUEST, UNAUTHORIZED, FORBIDDEN or NOT_FOUND. Program against this, not the message.
What went wrong, in words, for logs and support.
Was this page helpful?
What went wrong?
Thanks for telling us.