> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pawapay.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Check deposit status

Get the current status of a deposit based on its `depositId`.


## OpenAPI

````yaml openapi_v2 get /v2/deposits/{depositId}
openapi: 3.0.0
info:
  title: PawaPay Merchant API V2
  description: Please find complete documentation from https://docs.pawapay.io/.
  version: v2
  x-logo:
    url: >-
      https://global-uploads.webflow.com/62824591015aa314fd308df1/6411b26596e3de3f52551c00_Logopawapay-p-500.png
    href: https://docs.pawapay.io/
    altText: PawaPay logo
servers:
  - url: https://api.sandbox.pawapay.io
    description: PawaPay Merchant API sandbox
  - url: https://api.pawapay.io
    description: PawaPay Merchant API production
security:
  - bearerAuth: []
tags:
  - name: deposits
    x-displayName: Deposits
  - name: split-payments
    x-displayName: Split Payments
  - name: checkouts
    x-displayName: Checkouts
  - name: payouts
    x-displayName: Payouts
  - name: refunds
    x-displayName: Refunds
  - name: remittances
    x-displayName: Remittances
  - name: payment-page
    x-displayName: Payment Page
  - name: toolkit
    x-displayName: Toolkit
  - name: finances
    x-displayName: Finances
paths:
  /v2/deposits/{depositId}:
    get:
      tags:
        - deposits
      summary: Check deposit status
      operationId: getDeposit
      parameters:
        - $ref: '#/components/parameters/DepositId'
      responses:
        '200':
          description: Request has been processed by PawaPay
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositSearchResult'
              examples:
                COMPLETED:
                  value:
                    status: FOUND
                    data:
                      depositId: 8917c345-4791-4285-a416-62f24b6982db
                      status: COMPLETED
                      amount: '123.00'
                      currency: ZMW
                      country: ZMB
                      payer:
                        type: MMO
                        accountDetails:
                          phoneNUmber: '260763456789'
                          provider: MTN_MOMO_ZMB
                      customerMessage: To ACME company
                      clientReferenceId: REF-987654321
                      created: '2020-10-19T08:17:01Z'
                      providerTransactionId: '12356789'
                      metadata:
                        orderId: ORD-123456789
                        customerId: customer@email.com
                ACCEPTED:
                  value:
                    status: FOUND
                    data:
                      depositId: 8917c345-4791-4285-a416-62f24b6982db
                      status: ACCEPTED
                      amount: '123.00'
                      currency: ZMW
                      country: ZMB
                      payer:
                        type: MMO
                        accountDetails:
                          phoneNUmber: '260763456789'
                          provider: MTN_MOMO_ZMB
                      clientReferenceId: REF-987654321
                      customerMessage: To ACME company
                      created: '2020-10-19T08:17:01Z'
                      metadata:
                        orderId: ORD-123456789
                        customerId: customer@email.com
                PROCESSING:
                  value:
                    status: FOUND
                    data:
                      depositId: 8917c345-4791-4285-a416-62f24b6982db
                      status: PROCESSING
                      amount: '123.00'
                      currency: ZMW
                      country: ZMB
                      payer:
                        type: MMO
                        accountDetails:
                          phoneNUmber: '260763456789'
                          provider: MTN_MOMO_ZMB
                      clientReferenceId: REF-987654321
                      customerMessage: To ACME company
                      created: '2020-10-19T08:17:01Z'
                      metadata:
                        orderId: ORD-123456789
                        customerId: customer@email.com
                IN_RECONCILIATION:
                  value:
                    status: FOUND
                    data:
                      depositId: 8917c345-4791-4285-a416-62f24b6982db
                      status: IN_RECONCILIATION
                      amount: '123.00'
                      currency: ZMW
                      country: ZMB
                      payer:
                        type: MMO
                        accountDetails:
                          phoneNUmber: '260763456789'
                          provider: MTN_MOMO_ZMB
                      clientReferenceId: REF-987654321
                      customerMessage: To ACME company
                      created: '2020-10-19T08:17:01Z'
                      metadata:
                        orderId: ORD-123456789
                        customerId: customer@email.com
                FAILED:
                  value:
                    status: FOUND
                    data:
                      depositId: 8917c345-4791-4285-a416-62f24b6982db
                      status: FAILED
                      amount: '123.00'
                      currency: ZMW
                      country: ZMB
                      payer:
                        type: MMO
                        accountDetails:
                          phoneNUmber: '260763456789'
                          provider: MTN_MOMO_ZMB
                      clientReferenceId: REF-987654321
                      customerMessage: To ACME company
                      created: '2020-10-19T08:17:01Z'
                      failureReason:
                        failureCode: PAYMENT_NOT_APPROVED
                        failureMessage: >-
                          The customer did not approve the authorisation for
                          this payment
                      metadata:
                        orderId: ORD-123456789
                        customerId: customer@email.com
                NOT_FOUND:
                  value:
                    status: NOT_FOUND
        '401':
          description: >-
            Authentication failed. Make sure you have added the API token into
            the header. If using signatures, make sure they are valid.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthenticationFailureResponse'
              examples:
                AUTHENTICATION_ERROR:
                  value:
                    status: REJECTED
                    failureReason:
                      failureCode: AUTHENTICATION_ERROR
                      failureMessage: The API token in the request is invalid.
        '403':
          description: Authorization failure. Please check your authentication token.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthorizationFailureResponse'
              examples:
                AUTHORISATION_ERROR:
                  value:
                    status: REJECTED
                    failureReason:
                      failureCode: AUTHORISATION_ERROR
                      failureMessage: >-
                        The API token in the request is not authorised for this
                        endpoint.
        '500':
          description: An unknown failure has occurred.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/UnknownFailureResponse'
              examples:
                UNKNOWN_ERROR:
                  value:
                    failureReason:
                      failureCode: UNKNOWN_ERROR
                      failureMessage: Unable to process request due to an unknown problem.
components:
  parameters:
    DepositId:
      in: path
      name: depositId
      required: true
      description: The id of the deposit that you are performing this operation on.
      schema:
        minLength: 36
        maxLength: 36
        type: string
        format: uuid
      example: f4401bd2-1568-4140-bf2d-eb77d2b2b639
  schemas:
    DepositSearchResult:
      required:
        - status
      type: object
      properties:
        status:
          $ref: '#/components/schemas/SearchResultStatus'
        data:
          $ref: '#/components/schemas/Deposit'
    AuthenticationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthenticationFailureReason'
    AuthorizationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthorizationFailureReason'
    UnknownFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        failureReason:
          type: object
          properties:
            failureCode:
              type: string
              description: >
                Reason for the failure:

                * `UNKNOWN_ERROR` - Unable to process request due to an unknown
                problem.
              example: UNKNOWN_ERROR
            failureMessage:
              type: string
              description: A description of the failure
              example: Unable to process request due to an unknown problem.
    SearchResultStatus:
      type: string
      description: |
        The result of this operation.
        - `FOUND` - The payment was found in PawaPay.
        - `NOT_FOUND` - The payment was not found in PawaPay.
      enum:
        - FOUND
        - NOT_FOUND
    Deposit:
      required:
        - depositId
        - status
        - amount
        - currency
        - country
        - payer
        - created
      type: object
      properties:
        depositId:
          $ref: '#/components/schemas/ResponsePaymentId'
        status:
          $ref: '#/components/schemas/DepositStatus'
        amount:
          $ref: '#/components/schemas/Amount'
        currency:
          $ref: '#/components/schemas/Currency'
        country:
          $ref: '#/components/schemas/Country'
        payer:
          $ref: '#/components/schemas/PayerOrRecipient'
        customerMessage:
          $ref: '#/components/schemas/CustomerMessage'
        clientReferenceId:
          $ref: '#/components/schemas/ClientReference'
        created:
          $ref: '#/components/schemas/CreatedTimestamp'
        providerTransactionId:
          $ref: '#/components/schemas/ProviderTransactionId'
        failureReason:
          $ref: '#/components/schemas/DepositFailureReason'
        metadata:
          $ref: '#/components/schemas/TransactionMetadataResponse'
    AuthenticationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `NO_AUTHENTICATION` - The API token was not found in the request
            headers.

            * `AUTHENTICATION_ERROR` - The API token in the request headers is
            not valid.

            * `HTTP_SIGNATURE_ERROR` - The signature you have passed with the
            request did not pass verification.
          enum:
            - NO_AUTHENTICATION
            - AUTHENTICATION_ERROR
            - HTTP_SIGNATURE_ERROR
        failureMessage:
          type: string
          description: A description of the failure
    AuthorizationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `AUTHORISATION_ERROR` - The API Token in the request header is not
            authorised to make this request.

            * `DEPOSITS_NOT_ALLOWED` - Deposits are not enabled with the
            provider on your PawaPay account.

            * `PAYOUTS_NOT_ALLOWED` - Payouts are not enabled with the provider
            on your PawaPay account.

            * `REMITTANCES_NOT_ALLOWED` - Remittances are not enabled with the
            provider on your PawaPay account.

            * `REFUNDS_NOT_ALLOWED` - Refunds are not enabled with the provider
            on your PawaPay account.
          enum:
            - AUTHORISATION_ERROR
            - DEPOSITS_NOT_ALLOWED
            - PAYOUTS_NOT_ALLOWED
            - REMITTANCES_NOT_ALLOWED
            - REFUNDS_NOT_ALLOWED
        failureMessage:
          type: string
          description: A description of the failure
    ResponsePaymentId:
      minLength: 36
      maxLength: 36
      type: string
      format: uuid
      description: >-
        The unique ID for this payment in PawaPay as specified by you during
        initiation.
      example: f4401bd2-1568-4140-bf2d-eb77d2b2b639
    DepositStatus:
      type: string
      description: >
        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.
      enum:
        - ACCEPTED
        - PROCESSING
        - IN_RECONCILIATION
        - COMPLETED
        - FAILED
    Amount:
      minLength: 1
      maxLength: 23
      type: string
      pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
      description: >
        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.
      example: '15'
    Currency:
      type: string
      description: >
        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.
      example: ZMW
    Country:
      type: string
      minLength: 3
      maxLength: 3
      description: >
        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).
      example: ZMB
    PayerOrRecipient:
      description: Details about the customer who is paying or receiving the payment.
      required:
        - type
        - accountDetails
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AccountDetailsType'
        accountDetails:
          $ref: '#/components/schemas/AccountDetails'
    CustomerMessage:
      minLength: 4
      maxLength: 22
      type: string
      pattern: ^[a-zA-Z0-9 ]+$
      description: >
        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.
      example: Note of 4 to 22 chars
    ClientReference:
      type: string
      description: >-
        A reference to an entity in your system that this payment relates to.
        For example, an invoice ID, customer ID etc.
      example: INV-123456
    CreatedTimestamp:
      type: string
      description: >-
        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)
      format: date-time
      example: '2020-02-21T17:32:29Z'
    ProviderTransactionId:
      type: string
      description: >-
        The unique ID for this payment assigned by the provider. The customer
        would see this ID on their SMS receipt and transaction history.
      example: ABC123
    DepositFailureReason:
      description: The reason of the failure in case the payment is in `FAILED` status.
      required:
        - failureCode
      type: object
      properties:
        failureCode:
          type: string
          description: >
            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.
          example: INSUFFICIENT_BALANCE
          enum:
            - PAYER_NOT_FOUND
            - PAYMENT_NOT_APPROVED
            - PAYER_LIMIT_REACHED
            - PAYMENT_IN_PROGRESS
            - INSUFFICIENT_BALANCE
            - UNSPECIFIED_FAILURE
            - UNKNOWN_ERROR
        failureMessage:
          type: string
          description: Description of the reason for this failure
          example: The customer does not have enough funds to complete this payment.
    TransactionMetadataResponse:
      description: >
        The metadata that was provided in the original initation request in a
        JSON object format.
      type: object
      properties:
        additionalProperties:
          type: string
          description: >-
            Each passed in metadata field will be a property of the metadata
            JSON object.
      example:
        orderId: ORD-123456789
        customerId: customer@email.com
    AccountDetailsType:
      type: string
      description: >-
        The type of account involved in the transaction. At the moment, only
        **MMO** is supported.
      example: MMO
      enum:
        - MMO
    AccountDetails:
      required:
        - provider
        - phoneNumber
      type: object
      properties:
        phoneNumber:
          $ref: '#/components/schemas/PhoneNumber'
        provider:
          $ref: '#/components/schemas/Provider'
    PhoneNumber:
      type: string
      description: >
        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.
      example: '260763456789'
    Provider:
      type: string
      description: >
        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).
      example: MTN_MOMO_ZMB
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        See
        [Authentication](/v2/docs/how_to_start#how-to-authenticate-calls-to-the-merchant-api).
      scheme: bearer
      bearerFormat: JWT

````