Use this API to query refunds by their refund reference through the Pay1st Gateway.
Used in Gateway Integration
NOTE This API feature is still in an beta state
Overview
A Refund's details can be viewed with the Pay1st gateway after a payment has been processed. This API is a GET request returns the details of the refund given a refund reference.
Pre Requisites
- An access token needs to be generated in order to use this API (see Authentication - Generate Access Token)
API Description
HTTP Headers
| Header Name | Description |
|---|---|
| AccessToken | This is the Access Token field returned from the Authentication - Generate Access Token response. This should be in the format Bearer <AccessToken> |
| Content-Type | application/vnd.carry1st.payments.refund+json |
URL Format
GET https://<payments_url>/api/pay1st/transactions/refund?refundReference={refundReference}
GET https://<payments_url>/api/pay1st/transactions/refund?partnerRefundReference={partnerRefundReference}URL Query Parameters
Send one of these query parameters:
| Param | Format | Mandatory | Description |
|---|---|---|---|
| refundReference | String | One of the two | The refundReference returned by the Refund Request API |
| partnerRefundReference | String | One of the two | The partnerRefundReference you sent in the refund request |
Success Response
Valid HTTP Status Codes:
| HTTP Status Code | Name | Description |
|---|---|---|
| 200 | Success | The refund was found |
| 400 | Bad Request | Neither query parameter was sent, or the refund belongs to another partner (error 4209) |
| 404 | Not Found | No refund was found for the reference (error 4200) |
HTTP Response Body:
{
"refundReference": "C-7MV6T02M8O88UCRCBYW-R",
"transactionReference": "C-CA5CGGMV7QQG1HUY05Z-P",
"partnerReference": "48502830697945",
"partnerRefundReference": "refund-7f3c2a91",
"amount": 50.00,
"currencyCode": "NGN",
"status": "SUCCESSFUL",
"handlingType": "PSP_API",
"fullRefund": false,
"reason": "Customer requested refund",
"createdDate": "2026-Mar-10 12:00:00",
"lastModifiedDate": "2026-Mar-10 12:05:00"
}HTTP Response Fields
| Name | Type | Description |
|---|---|---|
| refundReference | String | The unique identifier of the refund |
| transactionReference | String | The original Pay1st transaction reference |
| partnerReference | String | The partnerReference of the original payment |
| partnerRefundReference | String | Your refund identifier from the refund request. Left out if you did not send one |
| amount | Number | The amount that will be refunded |
| currencyCode | String | The currency code of the refund |
| status | String | The current status of the refund: PENDING, PROCESSING, SUCCESSFUL, FAILED or REJECTED |
| handlingType | String | How the refund is handled: PSP_API (refunded automatically through the payment provider) or PSP_MANUAL (processed manually by Carry1st) |
| fullRefund | Boolean | true if this refund is for the full amount paid |
| reason | String | The reason passed in the refund request |
| createdDate | String | The date and time the refund was created, in UTC, in the format yyyy-MMM-dd HH:mm:ss (e.g. 2026-Mar-10 12:00:00) |
| lastModifiedDate | String | The date and time the refund was last updated, in UTC, in the format yyyy-MMM-dd HH:mm:ss |
Error Response
| Error Code | HTTP Status | Description |
|---|---|---|
| 4200 | 404 | No refund was found for the reference |
| 4209 | 400 | The refund does not belong to your account |
See Handling Error Codes for the general error codes and how to handle error responses.
