Return funds from a purchase POS transaction back to a customer.
Use the following request to return funds from a purchase transaction back to the original payment method.
You can also perform a refund by initiating a transaction and setting the intent to Refund.
{
"merchant": "MERCHANT-1",
"site": "SITE-1",
"merchantTransactionId": "POS_002",
"merchantTransactionDate": "2025-01-27T08:51:02.826Z",
"amounts": {
"transaction": 24.99,
"currencyCode": "GBP",
"gratuity": 0
},
"operation": "Refund",
"statusCallbackUrl": "http://192.168.204.43:5000/statuspacket"
}| Parameter | Description |
|---|---|
merchantstring (≤ 20 characters) required | Your unique merchant identifier, as assigned by PXP. |
sitestring (≤ 20 characters) required | Your unique site identifier, as assigned by PXP. |
merchantTransactionIdstring (≤ 50 characters) required | The unique identifier for this transaction, as chosen by you. |
merchantTransactionDatedate-time required | The date and time when the initial transaction happened, in ISO 8601 format. |
amountsobject required | Details about the transaction amount. |
amounts.transactionstring required | The value of the transaction. For Refund operations, this can't be more than the original transaction value. |
amounts.currencyCodestring required | The currency code associated with the transaction, in ISO 4217 format. |
amounts.gratuitynumber | The gratuity or tip amount added by the customer to the transaction total. |
operationstring required | The type of modification that you want to make. Set this to Refund.Possible values:
|
statusCallbackUrlstring | The webhook URL that PXP should sent status updates to, if the Return status packets feature is enabled for the device. This overrides the webhook URL configured in the Unity Portal. |
If your request is successful, you'll receive a 200 response containing a new systemTransactionId. You'll also receive a Transaction (Authorised) webhook notification.
{
"state": "Authorised",
"stateData": {},
"approvalCode": "991721",
"merchantTransactionId": "ngtest250411_m12",
"systemTransactionId": "c2bacf16-c6f9-4709-b03a-6916504c730b",
"merchantTransactionDate": "2025-04-11T09:51:02.826445+01:00",
"fundingData": {
"maskedPrimaryAccountNumber": "",
"expiryMonth": "",
"expiryYear": "",
"cardScheme": "AmericanExpress",
"gatewayTokenId": "31759b1c-9057-4306-900e-a944e189c79c",
"providerResponse": {
"provider": "American Express",
"code": "000",
"message": "",
"merchantId": "0371518531",
"terminalId": "12345678",
"paymentAccountReference": "99999999999999999999999999999999999",
"schemeTransactionId": "000003530991721",
"merchantAdvice": {
"code": "",
"message": ""
},
"settlementDate": "2025-04-11T09:42:54.369310+01:00"
}
},
"amounts": {
"gratuity": 0
},
"dccData": {
"dccSelectedIndicator": "Selected",
"amounts": {
"local": {
"transaction": 100.00,
"currencyCode": "USD"
},
"cardholder": {
"transaction": 85.50,
"currencyCode": "EUR"
}
},
"exchangeRate": 0.855,
"markupRate": 3.92,
"disclaimer": "You are offered to pay in EUR. This includes a 3.5% commission above the base rate of 0.9245 provided by Elavon.",
"providerData": {
"provider": "Elavon",
"referenceId": "REF123456789",
"merchantId": "MERCH001",
"terminalId": "TERM001",
"markupTextIndicator": 1
}
}
}