FILTER BY TAG

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}
/refunds
Test:
POST
https://apitest.cybersource.com
/pts/v2/payments/
{id}
/refunds
The
{id}
is the request ID contained in the original transaction request.

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.

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" }