Payments - Refund a Payment
Easily manage and process customer refunds directly through our Portal or API. We provide full and partial refund capabilities to give you complete control over your post-purchase experience.
Funding Summary
The fundingSummary object provides a detailed breakdown of the financial components of a transaction. Use this data to determine the total funds available for a refund.
| Field | Description |
|---|---|
| cashPayableToMerchant | The net amount designated for settlement to your business bank account for this transaction. |
| customerFundedAmount | The total portion of the transaction amount paid directly by the customer. |
| superFundedAmount | The portion of the transaction value covered by Super's incentive or reward programs. |
| merchantFundedAmount | The portion of the transaction value covered by your own merchant-specific discounts or promotions. |
Full Refunds
A full refund returns the total transaction amount to the customer.
- Request Logic: Submit a
POSTrequest to the refund endpoint with the uniquetransactionId,amount, andcurrency. - Response Outcome: The
fundingSummarywill reflect a zero balance across all funded fields, indicating a full refund. - Webhooks: We will trigger a Refund Status Webhook to notify your system once the refund is successfully processed.
Request Example
curl --location 'https://api.superpayments.com/2025-11-01/refunds' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transactionId":"33afc4e4-6f61-4171-9acd-8c9694fe1dff",
"amount":5000,
"currency":"GBP",
"externalReference":"Full Refund"
}'curl --location 'https://api.test.superpayments.com/2025-11-01/refunds' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transactionId":"33afc4e4-6f61-4171-9acd-8c9694fe1dff",
"amount":5000,
"currency":"GBP",
"externalReference":"Full Refund"
}'Response Example
200 Successful Refund
{
"fundingSummary": {
"cashPayableToMerchant": {
"amount": 0,
"currency": "GBP"
},
"customerFundedAmount": {
"amount": 0,
"currency": "GBP"
},
"merchantFundedAmount": {
"amount": 0,
"currency": "GBP"
},
"superFundedAmount": {
"amount": 0,
"currency": "GBP"
}
},
"transactionId": "1445174f-8e93-4bc2-848b-90cf683ad4a9",
"transactionReference": "RELUEM65AUC0G4AJ3"
}Partial Refunds
Partial refunds allow you to return a specific portion of the total transaction value. This is typically used for multi-item orders where only one item is being returned.
- Request Logic: Submit a
POSTrequest to the refund endpoint with the uniquetransactionId,amount, andcurrency. - Response Outcome: The
fundingSummarywill reflect the remaining balance across specific funded fields, indicating the funds still available for future refunds. - Webhooks: We will trigger a Refund Status Webhook to provide real-time updates on the status of the partial refund.
Request Example
curl --location 'https://api.superpayments.com/2025-11-01/refunds' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transactionId":"33afc4e4-1234-4171-9acd-8c9694fe1abc",
"amount":2500,
"currency":"GBP",
"externalReference":"Partial Refund"
}'curl --location 'https://api.test.superpayments.com/2025-11-01/refunds' \
--header 'Authorization: YOUR_SUPER_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data '{
"transactionId":"33afc4e4-1234-4171-9acd-8c9694fe1abc",
"amount":2500,
"currency":"GBP",
"externalReference":"Partial Refund"
}'Response Example
200 Successful Refund
{
"fundingSummary": {
"cashPayableToMerchant": {
"amount": 2500,
"currency": "GBP"
},
"customerFundedAmount": {
"amount": 2500,
"currency": "GBP"
},
"merchantFundedAmount": {
"amount": 0,
"currency": "GBP"
},
"superFundedAmount": {
"amount": 0,
"currency": "GBP"
}
},
"transactionId": "152254f-8e93-4bc2-848b-90cf683ad4a9",
"transactionReference": "RELUEM65AUC0G6M89"
}Check Refund Status
Use our GET Refund Transaction endpoint to manually verify the state of a specific refund at any time.
Refund Status Definitions
The transactionStatus field for a refund event will return one of the following values:
| Status | Description |
|---|---|
| RefundSuccess | The refund has been completed. |
| RefundPending | The refund is currently being processed. |
| RefundFailed | The refund could not be completed. |
| RefundAbandoned | The refund process was initiated but timed out. |
Request Example
To check a refund status, provide the unique transactionId generated during the Create Refund request. This ID is found in the initial refund response and serves as the primary reference for manual verification.
curl --location 'https://api.superpayments.com/2025-11-01/refunds/YOUR_TRANSACTION_ID' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SECRET_KEY'curl --location 'https://api.test.superpayments.com/2025-11-01/refunds/YOUR_TRANSACTION_ID' \
--header 'Accept: application/json' \
--header 'Authorization: YOUR_SECRET_KEY'Response Example
200 Refund Transaction Details
{
"brandId": "YOUR_BRAND_ID",
"payments": [
{
"amountInMinorUnits": 1000,
"fundingCard": {
"brand": "visa",
"lastFourDigits": "4242"
},
"fundingDetails": {
"brand": "visa",
"last4": "4242",
"reference": "123456789",
"referenceStatus": "available",
"referenceType": "acquirer_reference_number",
"type": "CARD"
},
"fundingInstitution": null,
"reference": "123456789",
"referenceStatus": "available",
"referenceType": "acquirer_reference_number"
}
],
"transactionId": "1edc0640-337b-47ef-970d-0aef5e41234",
"transactionReference": "REGDAEM3NCS97SABC",
"transactionStatus": "RefundSuccess"
}Handle Post-Payment Events
Automate your backend processes by listening for real-time transaction updates.
Automate Order Fulfillment
Set up a webhook to handle post-payment events sent by Super. These notifications ensure your system is updated with the final payment status even if the customer closes their browser or leaves the page before the frontend callback completes.
Why Use Webhooks?
Listening to these asynchronous events is essential for a robust integration. It ensures your system stays in sync for all payment methods—including those that require external authentication.
Tip: For more details on setting up webhooks, check out our Webhook Documentation.
Updated 1 day ago
