---
title: "Check deposit status"
method: GET
path: "/v2/deposits/{depositId}"
tags: ["deposits"]
---

# Check deposit status

`GET /v2/deposits/{depositId}`

## Path parameters

- `depositId` string, uuid, required

## Response `200`

Request has been processed by PawaPay

- DepositSearchResult
  - `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` Deposit
    - `depositId` string, uuid, required — The unique ID for this payment in PawaPay as specified by you during initiation.
    - `status` 'ACCEPTED' | 'PROCESSING' | 'IN_RECONCILIATION' | 'COMPLETED' | 'FAILED', required — Possible deposit statuses: * `ACCEPTED` - The deposit has been **accepted** by PawaPay for processing. * `PROCESSING` - The deposit has been submitted to the provider and is being processed. * `IN_RECONCILIATION` - The deposit is being reconciled currently to determine it's final status. * `COMPLETED` - The deposit has been successfully processed. This is a **final status.** * `FAILED` - The deposit 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).
    - `payer` 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.
    - `clientReferenceId` string — A reference to an entity in your system that this payment relates to. For example, an invoice ID, customer ID etc.
    - `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` DepositFailureReason — The reason of the failure in case the payment is in `FAILED` status.
      - `failureCode` 'PAYER_NOT_FOUND' | 'PAYMENT_NOT_APPROVED' | 'PAYER_LIMIT_REACHED' | 'PAYMENT_IN_PROGRESS' | 'INSUFFICIENT_BALANCE' | 'UNSPECIFIED_FAILURE' | 'UNKNOWN_ERROR', required — Possible deposit failure codes: * `PAYER_NOT_FOUND` - The phone number does not have an mobile money account with the provider or does not belong to the provider. * `PAYMENT_NOT_APPROVED` - Customer did not approve the payment. * `PAYER_LIMIT_REACHED` - Customer has reached a transaction limit of their mobile money wallet. * `PAYMENT_IN_PROGRESS` - Customer has a payment already pending. New payments cannot be initiated during that time. This payment may not have been initiated by you. * `INSUFFICIENT_BALANCE` - Customer does not have enough funds. * `WALLET_LIMIT_REACHED` - Customer has reached a wallet limit. * `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/revisions/ce13c31e9746/schema)
