# Payment History

List payments

Endpoint: GET /v2/payments
Version: 3.0.0
Security: bearerAuth

## Security:

  - `bearerAuth` (unknown)
    http bearer JWT

## Query parameters:

  - `country` (string, required)

  - `limit` (integer)

  - `offset` (integer)

  - `sorting_order` (string)
    Sort direction on `timestamp`. Defaults to `desc` (newest first). Note `GET /v3/payments` names this `direction` and defaults to `asc`.

  - `start_ts` (any)

  - `end_ts` (any)

  - `status` (any)

  - `search_type` (any)

  - `search_term` (any)

## Response 200:

  - `200` (unknown)
    Successful Response

## Response 200 fields (application/json):

  - `id` (string, required)

  - `order` (any, required)

  - `order.country` (string, required)
    ISO 3166-1 alpha-3 Country Code
    Enum: "BGD", "EGY", "IND", "NGA", "NPL", "PAK", "PHL", "VNM"

  - `order.currency` (string, required)
    Enum: "BHD", "EUR", "KWD", "MYR", "OMR", "QAR", "SAR", "SGD", "TRY", "AED", "USD", "INR", "PHP", "EGP", "VND", "PKR", "NGN"

  - `order.quote` (string, required)
    Valid currency quote id (`UUID4`) as returned by `POST /v2/quote`. Quote currency must match base currency.

  - `order.amount` (number, required)
    The payout amount, in the DESTINATION (local) currency - INR for `country=IND`, PKR for `PAK`, and so on.
Send the `amount_destination` value returned by `POST /v2/quote` verbatim; do not recompute it. Note the naming trap: `amount`
is the SOURCE amount on `POST /v2/quote` and the DESTINATION amount here. The value is rounded to 2 decimal places and must fall
inside the quote's `min_amount_destination` / `max_amount_destination` band, which is the only amount check performed - a value outside the band is a 400.

  - `order.bank_name` (string, required)
    Bank name where the beneficiary account is held.

  - `order.beneficiary_name` (string, required)
    Full name of the beneficiary (name and surname).

  - `order.beneficiary_city` (string, required)
    Beneficiary address (city)

  - `order.beneficiary_address` (string, required)
    Beneficiary address (street and number)

  - `order.beneficiary_account_number` (string, required)
    Bank account id of the beneficiary. The same value `POST /v2/validate_account` takes as `account_number`.

  - `order.beneficiary_mobile` (any)
    Beneficiary mobile number in ITU E.164 format: the destination country's calling-code prefix followed by the national number, with no spaces, hyphens or parentheses.

  - `order.beneficiary_email` (any)
    If specified, must be a valid email address

  - `order.remarks` (any)
    Supplementary info and notes for tracking the transaction.

  - `order.sender_name` (string, required)
    Full name of Sender (name and surname)

  - `order.sender_birthdate` (any)
    Sender birthdate

  - `order.sender_identity_doc_exp` (any)
    Expiry date for the sender identity document

  - `order.sender_identity_doc_country` (any)
    Sender country (nationality) (ISO 3166-1 alpha-3 Country Code)

  - `order.sender_city` (string, required)
    Sender residency/address (city)

  - `order.sender_address` (string, required)
    Sender residency/address (street and number)

  - `order.sender_country` (string, required)
    Sender residency/country (ISO 3166-1 alpha-3 Country Code)

  - `order.sender_mobile` (any)
    Sender mobile number (ITU E.164 format)

  - `order.sender_relation` (string, required)
    What the beneficiary is to the sender.
    Enum: "aunt", "brother", "colleague", "cousin", "daughter", "father", "friend", "husband", "inlaws", "mother", "nephew", "niece", "other", "own", "self", "sister", "son", "uncle", "wife"

  - `order.external_id` (any)

  - `order.timestamp` (any)
    Timestamp of the order (will be filled in automatically server side)

  - `order.beneficiary_nationality` (any)
    Beneficiary nationality (ISO 3166-1 alpha-3 Country Code)

  - `order.purpose` (any)
    Purpose of the payment

  - `order.beneficiary_account_type` (string)
    Enum: "savings", "current"

  - `order.bank_branch_code` (string, required)
    SWIFT / BIC code of the beneficiary bank branch

  - `order.sender_identity_doc_type` (string, required)
    Type of the sender's identity document.
    Enum: "idcard", "passport", "resident_card", "other"

  - `order.sender_identity_doc` (string, required)
    Sender identity document number

  - `order.beneficiary_mobile` (any)
    Beneficiary mobile number, validated as an Indian number and normalised to ITU E.164 (`+91` prefix) before the order is stored.

  - `order.bank_branch_name` (any)
    Branch name of the specified bank. OPTIONAL — omit it or send null. Passed through to providers that accept a branch name; the branch is identified by `bank_branch_code` (IFSC), not by this field.

  - `order.bank_branch_code` (string, required)
    Bank branch code (e.g. for India it is equivalent to IFSC)

  - `order.bank_code` (string, required)
    NIBSS Instant Payment (NIP) bank code: the 6-digit NIBSS institution code of the beneficiary's bank (e.g. Access Bank `000014`, GTBank `000013`, Zenith Bank `000015`).

  - `order.bank_code` (string, required)
    SWIFT / BIC code of the beneficiary bank, full or 8-character (e.g. ALFHPKKAXXX or ALFHPKKA), or the four characters an IBAN carries (e.g. ALFH)

  - `response` (any, required)

  - `response.id` (string, required)
    Payment id, as returned by `POST /v2/payment`.

  - `response.timestamp` (string, required)
    When this status was recorded (UTC).

  - `response.status` (string, required)
    Enum: "queued", "rejected", "pending", "processing", "succeeded", "failed", "canceled", "unknown", "reversed"

  - `response.msg` (any)
    Free-text processing message. Not a failure reason; do not parse it.

  - `response.amount` (any)
    Payout amount, in `amount_currency`.

  - `response.amount_currency` (any)
    Payout (destination) currency.

  - `response.base_amount` (any)
    Source amount from the quote, in `base_currency`.

  - `response.base_currency` (any)
    Source currency from the quote.

  - `response.wallet_amount` (any)
    The payout converted to `wallet_currency` at the quote's `wallet_rate`. Premium and transaction cost are reported separately.

  - `response.wallet_currency` (any)
    Your settlement wallet currency.

  - `response.wallet_premium` (any)
    Premium charged, in `wallet_currency`.

  - `response.wallet_txn_cost` (any)
    Transaction cost charged, in `wallet_currency`.

  - `response.bank_reference` (any)
    Bank or processor reference for the transfer, when available.

  - `quote` (object, required)

  - `quote.id` (string, required)
    Quote id. Send it as `quote` on `POST /v2/payment`; a quote can back one payment only.

  - `quote.country` (string, required)
    Enum: "BGD", "IND", "PAK", "PHL", "NPL", "EGY", "VNM", "NGA"

  - `quote.amount` (number, required)
    What you pay, in the source currency.

  - `quote.amount_destination` (number, required)
    What the beneficiary receives, in the destination currency. Send it verbatim as `amount` on `POST /v2/payment`.

  - `quote.rate` (number, required)
    Exchange rate from the source currency to the destination currency. This is the rate your customer sees.

  - `quote.timestamp` (string, required)
    When the quote was issued (UTC).

  - `quote.expires` (string, required)
    When the quote stops being usable (UTC), currently 15 minutes after `timestamp`. Read this value rather than hard-coding the window.

  - `quote.wallet_rate` (number, required)
    Exchange rate from your settlement wallet currency to the destination currency. For settlement only: do not show it to your customer or use it to compute a payout.

  - `quote.min_amount_destination` (any)
    Smallest payout your account may send on this corridor, in the destination currency. Set per account, so read it from every quote rather than caching it.

  - `quote.max_amount_destination` (any)
    Largest payout your account may send on this corridor, in the destination currency. Set per account, so read it from every quote rather than caching it.

  - `account` (any)

  - `account.status` (string, required)
    Result of a beneficiary account check.
    Enum: "valid", "invalid", "nre", "pending"

## Response 400:

  - `400` (unknown)
    Bad data in the request

## Response 400 fields (application/json):

  - `detail` (any)

## Response 401:

  - `401` (unknown)
    Access token not valid or expired

## Response 401 fields (application/json):

  - `detail` (any)

## Response 403:

  - `403` (unknown)
    Access token missing permissions to access the resource

## Response 403 fields (application/json):

  - `detail` (any)

## Response 429:

  - `429` (unknown)
    Request rate is too high; back off and retry. Where a `retry-after` response header is present it gives the number of seconds to wait.

## Response 429 fields (application/json):

  - `detail` (any)

## Response 429 headers (application/json):

  - `retry-after` (integer)
    Seconds to wait before retrying this request.

## Response 500:

  - `500` (unknown)
    Internal server error (contact administrator)

## Response 500 fields (application/json):

  - `detail` (any)

