On This Page
Refund a Payment
You can refund a completed payment for the full amount or a partial amount by sending a refund request. P24 supports multiple
refund requests when the total amount of all of the refund requests is less than the captured amount.
Requesting a
refund requires the request ID from the sale response. The request ID is located in the
response field.
Endpoints
Production:
POST
https://api.cybersource.com
/pts/v2/payments/{id}
/refundsTest:
POST
https://apitest.cybersource.com
/pts/v2/payments/{id}
/refundsThe is the request ID
contained in the original transaction request.
{id}
Response Statuses
Cybersource
responds to your refund request with one of these statuses as the status
field value:- FAILED: The refund request failed.
- REFUNDED: The refund request is accepted but is not completed. Request the check status service to retrieve status updates. For more information, see Check a Request Status.
When you send a check status request to retrieve an updated refund status, these are
the possible responses:
- FAILED: The refund request failed.
- REFUNDED: The settled payment is successfully refunded.
Required Fields for Refunding a Payment
Optional Fields for Refunding a Payment
Example: Refunding a Payment
Request
{ "clientReferenceInformation": { "code": "refnum-1234" }, "paymentInformation": { "paymentType": { "method": { "name": "P24" }, "name": "bankTransfer" } }, "processingInformation": { "actionList": "AP_REFUND" }, "orderInformation": { "amountDetails": { "totalAmount": "60.00", "currency": "PLN" } } }
Response to a Successful Request
{ "_links": { "self": { "method": "GET", "href": "/pts/v2/refunds/7546693022266551304805" }, "status": { "method": "POST", "href": "/pts/v2/refresh-payment-status/7546693022266551304805" } }, "clientReferenceInformation": { "code": "refnum-1234" }, "id": "7546693022266551304805", "processorInformation": { "responseCode": "00006" }, "status": "REFUNDED" }