---
title: "Check refund status"
method: GET
path: "/v2/refunds/{refundId}"
tags: ["refunds"]
---

# Check refund status

`GET /v2/refunds/{refundId}`

## Path parameters

- `refundId` string, uuid, required

## Response `200`

Request has been processed by PawaPay

- RefundSearchResult
  - `status` 'FOUND' | 'NOT_FOUND', required — The result of this operation. - `FOUND` - The payment was found in PawaPay. - `NOT_FOUND` - The payment was not found in PawaPay.
  - `data` Refund
    - `refundId` string, uuid, required — The unique ID for this payment in PawaPay as specified by you during initiation.
    - `status` 'ACCEPTED' | 'ENQUEUED' | 'PROCESSING' | 'IN_RECONCILIATION' | 'COMPLETED' | 'FAILED', required — Possible refund statuses: * `ACCEPTED` - The refund has been **accepted** by PawaPay for processing. * `ENQUEUED` - The refund has been **accepted**, but has been enqueued for processing later. Read more about [enqueued refunds](/v2/docs/refunds#handling-enqueued-refunds-and-provider-availability). * `PROCESSING` - The refund has been submitted to the provider and is being processed. * `IN_RECONCILIATION` - The refund is being reconciled currently to determine it's final status. * `COMPLETED` - The refund has been successfully processed. This is a **final status.** * `FAILED` - The refund has been processed, but failed. This is a **final status.**. See `failureReason` for details.
    - `amount` string, required — The amount of the payment. Amount must follow below requirements or the request will be **rejected**: * Not all providers support decimals. Find which ones do from [providers](/v2/docs/providers) or dynamically using [active configuration](/v2/api-reference/toolkit/active-configuration) endpoint. * Transaction limits apply. Find them from the [Active Configuration](/v2/api-reference/toolkit/active-configuration) endpoint. * Leading zeroes are not permitted except where the value is less than 1. For any value less than one, one and only one leading zero must be supplied.
    - `currency` string, required — The currency in which the `amount` is specified. Format must be the ISO 4217 three character currency code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). Find the supported currencies for the [provider](/v2/docs/providers). The [active configuration](/v2/api-reference/toolkit/active-configuration) endpoint has all the providers configured for your account together with the supported currencies.
    - `country` string, required — The country in which the payment was initiated. Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).
    - `recipient` PayerOrRecipient, required — Details about the customer who is paying or receiving the payment.
      - `type` 'MMO', required — The type of account involved in the transaction. At the moment, only **MMO** is supported.
      - `accountDetails` AccountDetails, required
        - `phoneNumber` string, required — The phone number (MSISDN) of the customer paying or receiving payment. The format is described in [Wikipedia](https://en.wikipedia.org/wiki/MSISDN). Use [predict provider](/v2/api-reference/toolkit/predict-provider) to validate and sanitise the phone number. Phone number validation has following rules: * Only digits without whitespaces or any other separators or prefixes like '+'. * Should not start with zero. * Country code is mandatory. * Should not exceed or be less than the valid length of specified country.
        - `provider` string, required — The provider represents the mobile money operator or processor that can process payments. Find here a list of all the supported [providers](/v2/docs/providers). The [active configuration](/v2/api-reference/toolkit/active-configuration) endpoint provides the list of provider configured for your account. You can use the [predict provider](/v2/api-reference/toolkit/predict-provider) enpoint to predict the provider to use based on the phone number (MSISDN).
    - `customerMessage` string — A short narration for the transaction. Depending on the 'provider', this message may be visible to the customer in the SMS receipt or within their transaction history. Defaults to your company name as registered on your PawaPay account trimmed to fit the length limitations.
    - `created` string, date-time, required — The timestamp of when the payment was created in the PawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)
    - `providerTransactionId` string — The unique ID for this payment assigned by the provider. The customer would see this ID on their SMS receipt and transaction history.
    - `failureReason` RefundFailureReason
      - `failureCode` 'PAWAPAY_WALLET_OUT_OF_FUNDS' | 'RECIPIENT_NOT_FOUND' | 'WALLET_LIMIT_REACHED' | 'UNSPECIFIED_FAILURE' | 'UNKNOWN_ERROR', required — Possible refund failure codes: * `PAWAPAY_WALLET_OUT_OF_FUNDS` - Your PawaPay wallet does not have enough funds to complete this refund. * `RECIPIENT_NOT_FOUND` - The phone number specified for the receipient does not belong to the provider. * `WALLET_LIMIT_REACHED` - The recipient has reached a limit on their wallet that stops them from receiving this refund. * `UNSPECIFIED_FAILURE` - The provider confirmed the payment has failed, but did not provide any information about the reason of the failure. * `UNKNOWN_ERROR` - An unknown error has occurred.
      - `failureMessage` string — Description of the reason for this failure
    - `metadata` TransactionMetadataResponse — The metadata that was provided in the original initation request in a JSON object format.
      - `additionalProperties` string — Each passed in metadata field will be a property of the metadata JSON object.

## Other responses

- `401` — Authentication failed. Make sure you have added the API token into the header. If using signatures, make sure they are valid.
- `403` — Authorization failure. Please check your authentication token.
- `500` — An unknown failure has occurred.

---

[API](https://skmtc.net/pawapay/apis/pawapay-merchant-api-v2.md) · [All operations](https://skmtc.net/pawapay/apis/pawapay-merchant-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pawapay/pawapay-merchant-api-v2/versions/ce13c31e9746/schema)
