List Refunds

Use this API to list refunds by their transaction reference through the Pay1st Gateway.

Used in Gateway Integration

📘

NOTE This API feature is still in an beta state

Overview

All refunds for a payment can be listed with the Pay1st gateway. This API is a GET request that returns every refund of one transaction, given the transaction's transactionReference or the partnerReference you sent when creating the payment. Use it to check the status of your refunds, for example before retrying a refund request.

Pre Requisites

API Description

HTTP Headers

Header NameDescription
AccessTokenThis is the Access Token field returned from the Authentication - Generate Access Token response. This should be in the format Bearer <AccessToken>
Content-Typeapplication/vnd.carry1st.payments.refund+json

URL Format

GET https://<payments_url>/api/pay1st/transactions/refunds?transactionReference={transactionReference}
GET https://<payments_url>/api/pay1st/transactions/refunds?partnerReference={partnerReference}

List Refund URL Parameters

Send one of these query parameters. If both are sent, transactionReference is used.

ParamFormatMandatoryDescription
transactionReferenceStringOne of the twoThe Pay1st transaction reference of the payment
partnerReferenceStringOne of the twoThe partnerReference you sent when creating the payment

Success Response

Valid HTTP Status Codes:

HTTP Status CodeNameDescription
200SuccessThe transaction was found. refunds lists its refunds, and is empty if it has none
400Bad RequestNeither query parameter was sent, or the transaction belongs to another partner (error 4202)
404Not FoundNo transaction was found for the reference (error 4201)

HTTP Response Body:

{
  "refunds": [
    {
      "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

The response contains a list of refunds objects, described in the table below.

NameTypeDescription
refundReferenceStringThe unique identifier of the refund
transactionReferenceStringThe original Pay1st transaction reference
partnerReferenceStringThe partnerReference of the original payment
partnerRefundReferenceStringYour refund identifier from the refund request. Left out if you did not send one
amountNumberThe amount that will be refunded
currencyCodeStringThe currency code of the refund
statusStringThe current status of the refund: PENDING, PROCESSING, SUCCESSFUL, FAILED or REJECTED
handlingTypeStringHow the refund is handled: PSP_API (refunded automatically through the payment provider) or PSP_MANUAL (processed manually by Carry1st)
fullRefundBooleantrue if this refund is for the full amount paid
reasonStringThe reason passed in the refund request
createdDateStringThe 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)
lastModifiedDateStringThe date and time the refund was last updated, in UTC, in the format yyyy-MMM-dd HH:mm:ss

Error Response

Error CodeHTTP StatusDescription
4201404No transaction was found for the reference
4202400The transaction does not belong to your account

See Handling Error Codes for the general error codes and how to handle error responses.