# About A-pay Platform

A-pay.one is a PSP (Payment Service Provider) built on its own payment systems, enabling secure and efficient money transfers between the Client and the Users of the Client’s platform (Customers).

## **Advantages of Service** [**A-pay.one**](https://a-pay.one)

* Fast and easy integration into web resources, allowing acceptance of e-payments in multiple currencies via the A-pay payment gateway or H2H method;
* No storage or processing of users’ personal data, ensuring customer safety and protection of funds through encrypted transaction signing with a private key;
* Acceptance of P2P and P2C payments;
* No holds or rolling reserves;
* Convenient statistics in Customer’s Personal Account;
* Suitable for any business model, including online shops, edtech, subscription services, marketplaces, etc;
* Instant deposits and a clear, simple money transfer process;
* Multilingual technical support available 24/7;
* Fast auto-withdrawals.

You can find the available integration options on the [Start Integration](/api-documentation/start-integration) page.

**If you want to work with us -** [**contact A-pay**](https://t.me/apay_sales) **now!**

## In which countries is A-pay available?&#x20;

We currently provide payment systems for accepting payments from users in these countries:

<details>

<summary>Argentina</summary>

* **CVU** – this method allows users to send and receive money instantly between digital wallets or bank accounts using a CVU (Clave Virtual Uniforme). It’s widely supported by fintech platforms and is commonly used for quick, low-cost transfers between individuals.

</details>

<details>

<summary>Bangladesh</summary>

* **bKash** - a mobile financial service in Bangladesh that allows users to perform various transactions through their mobile phones. bKash has contributed to financial inclusion by providing a convenient and accessible platform for digital financial transactions in Bangladesh.
* **Nagad** - a mobile financial service in Bangladesh that provides users with a platform for various financial transactions through their mobile phones. Users can link their mobile numbers to create a Nagad account, allowing them to store money securely and perform transactions conveniently. Nagad has played a role in promoting financial inclusion by providing accessible digital financial services to a broad range of users in Bangladesh.
* **Upay** - a digital financial service. Upon receiving the license from Bangladesh Bank, upay started offering a broad range of mobile financial services to people from all walks of life.
* **TAP Wallet** – a mobile financial service in Bangladesh that allows users to perform a wide range of digital financial transactions through their mobile phones.
* **Bangla QR** – an interoperable QR payment system in Bangladesh that allows users to make digital payments by scanning a standardized QR code through supported banking and mobile financial service applications.

</details>

<details>

<summary>Bahrain</summary>

* **Stc pay** – a digital wallet and mobile payment service in Bahrain that enables users to carry out various financial transactions through a mobile application. It serves as a convenient solution for funding accounts and managing digital payments.

</details>

<details>

<summary>Bolivia</summary>

* **Yape** — is a mobile wallet and payment service in Peru that allows users to send and receive money instantly using phone numbers or QR codes. It enables payments, bill payments, and purchases directly from the app, with or without a traditional bank account, making it accessible to a wide range of users.
* **VeriPagos** — is a QR-based payment solution in Bolivia that enables real-time payment verification and secure transaction processing. It provides instant confirmation and streamlined tracking, ensuring efficient and reliable digital payments.

</details>

<details>

<summary>Cambodia</summary>

* **Wing -** a mobile financial service provider in Cambodia, Wing offers banking services, including money transfers, bill payments, and e-commerce payments. It’s known for reaching underbanked communities.
* **ABA Bank** – a leading commercial bank in Cambodia that offers digital banking services through its mobile application, enabling users to perform secure financial transactions. Its platform is widely used as a convenient method for funding accounts and managing everyday banking activities.

</details>

<details>

<summary>Egypt</summary>

* **Digital Wallet** – a payment method that uses a mobile phone number. This method allows users to send and receive money instantly through USSD massages or banking apps, offering a fast and convenient way to handle everyday payments.

</details>

<details>

<summary>Ethiopia</summary>

* **Telebirr** – Telebirr is Ethiopia's leading mobile money service, launched by state-owned Ethio Telecom in May 2021 to promote cashless transactions and financial inclusion.

</details>

<details>

<summary>Guinea</summary>

**Orange Money** — is a leading mobile payment service that allows users to send and receive money, pay bills, and make purchases using their phones. Transactions can be done securely through the app or via USSD codes, making it accessible even without internet.

</details>

<details>

<summary>India</summary>

* **UPI** - a real-time payment system in India that facilitates instant fund transfers and payments between banks through mobile devices. It allows users to link multiple bank accounts to a single mobile application, providing a seamless and convenient way to perform transactions. UPI has become a widely used platform for digital payments, offering simplicity and efficiency in financial transactions.
* **Paytm** - a payment system that allows users to make transactions, pay bills, recharge mobile phones, book tickets, and more through its mobile app. One of the key features of Paytm is its digital wallet, which users can load with money and then use for various transactions without the need for physical cash. Overall, Paytm plays a significant role in the digital payment ecosystem in India.
* **PhonePe** - a mobile application and digital payments platform in India. It supports the Unified Payments Interface (UPI) for instant fund transfers between bank accounts. Users can use PhonePe for mobile recharges, bill payments, and online shopping, and it also offers a digital wallet feature. It has become popular for its versatility in facilitating various financial transactions through smartphones.
* **IMPS (India)** – an instant interbank electronic funds transfer system in India that enables real-time financial transactions between bank accounts. It operates 24/7 and is widely used through mobile and internet banking platforms, making it a reliable solution for immediate payments.

</details>

<details>

<summary>Jamaica</summary>

* **Scotiabank** – an international banking institution operating in Jamaica that provides digital banking services and account management capabilities. Its online and mobile platforms are commonly used as a secure method for funding accounts directly from bank balances.
* **Lynk** – a mobile wallet and digital payment platform in Jamaica that allows users to perform financial transactions without requiring a traditional bank account. It is widely used as an accessible method for funding accounts through mobile devices.

</details>

<details>

<summary>Kenya</summary>

* **M-Pesa** - a mobile money service introduced in Kenya in 2007. M-Pesa has played a significant role in promoting financial inclusion, especially in regions where traditional banking services are less accessible. The service has expanded beyond Kenya and is widely used in various countries, offering a convenient and accessible means of financial transactions through mobile devices.

</details>

<details>

<summary>Mali</summary>

* **Orange Money** — is a leading mobile payment service that allows users to send and receive money, pay bills, and make purchases using their phones. Transactions can be done securely through the app or via USSD codes, making it accessible even without internet.
* **Wave** — a popular mobile payment app and one of the most widely used financial solutions in West Africa. It works as a digital wallet that allows users to send and receive money, store funds on their phone, and pay for services without a bank account.

</details>

<details>

<summary>Mexico</summary>

* **SPEI -** a mexico’s Interbank Electronic Payment System (SPEI), operated by the central bank, allows instant money transfers between banks. It’s widely used for both personal and business financial transactions in Mexico.

</details>

<details>

<summary>Myanmar</summary>

* **WavePay -** a mobile wallet service in Myanmar, WavePay allows users to transfer money, pay bills, and top-up mobile phones. It’s one of the leading digital payment platforms in Myanmar.
* **KBZPay** – a digital wallet in Myanmar provided by KBZ Bank. It allows users to transfer money, pay bills, recharge mobile phones, and make payments via QR codes.

</details>

<details>

<summary>Nepal</summary>

* **eSewa -** a nepal’s first digital wallet, eSewa allows users to make online payments, transfer funds, and pay utility bills. It’s widely adopted for day-to-day transactions in Nepal.
* **Khalti -** a popular digital wallet in Nepal, Khalti offers services like bill payments, money transfers, and online shopping. It’s known for its user-friendly interface and convenience.
* **IME Pay** – a digital wallet service in Nepal that enables users to perform various financial transactions through their mobile devices. Following its merger with Khalti, its services are being integrated into a broader digital payments ecosystem, contributing to the development of cashless payments in Nepal.

</details>

<details>

<summary>Pakistan</summary>

* **Bank Alfalah** - a commercial bank based in Pakistan, was established in 1997. It provides a range of banking and financial services. The bank also operates internationally and offers digital banking services for online and mobile transactions.
* **Easypaisa** - a mobile financial services platform in Pakistan, established in 2009. It enables users to perform financial transactions through their mobile phones, including mobile money transfers, bill payments, and the creation of a digital wallet linked to their mobile numbers. Easypaisa has contributed to financial inclusion by providing accessible and convenient financial services, particularly in areas where traditional banking may be less accessible.
* **JazzCash -** a leading mobile wallet and payment solution in Pakistan, allowing users to send money, pay bills, and make online purchases. It’s widely used for quick, convenient, and secure digital transactions.
* **NayaPay -** a digital payment platform in Pakistan, offering users an e-wallet and debit card. It enables online payments, money transfers, and other financial transactions with ease.
* **Raast** – an instant payment system in Pakistan developed by the State Bank of Pakistan that enables real-time financial transactions between individuals, businesses, and government entities. It is commonly used as a fast and low-cost method for funding accounts.

</details>

<details>

<summary>Panama</summary>

* **Yappy** — is an instant mobile payment system in Panama that allows users to send and receive money using phone numbers. It is integrated with participating banks, enabling real-time transactions directly from bank accounts.
* **Banistmo** — is a major bank in Panama that offers a mobile banking app for managing accounts, transferring money, paying bills, and making QR payments. It also supports phone-number-based transfers through local payment networks, providing convenient digital banking services.

</details>

<details>

<summary>Paraguay</summary>

* **Bancard** — a leading Paraguayan payment system that allows people and businesses to pay and receive money using credit or debit cards, QR-codes or mobile/online payments. It works for in-store purchases, online shopping, bill payments and transfers, offering a fast, secure and convenient alternative to cash or traditional bank transfers.
* **Itaú** – a leading bank in Paraguay offering a comprehensive mobile banking platform that enables users to send and receive money transfers instantly through their mobile app. It's widely trusted for secure, convenient, and instant digital transactions in Paraguay.

</details>

<details>

<summary>Peru</summary>

* **Yape** – a mobile wallet in Peru that enables users to send and receive money instantly using a phone number. It is widely used for everyday transactions, bill payments, and online purchases, offering a fast, free, and convenient way to deposit funds.

</details>

<details>

<summary>Senegal</summary>

* **Orange Money** — is a leading mobile payment service that allows users to send and receive money, pay bills, and make purchases using their phones. Transactions can be done securely through the app or via USSD codes, making it accessible even without internet.
* **Wave** — a popular mobile payment app and one of the most widely used financial solutions in West Africa. It works as a digital wallet that allows users to send and receive money, store funds on their phone, and pay for services without a bank account.

</details>

<details>

<summary>Sri Lanka</summary>

* **iPay** – a digital payment platform in Sri Lanka that allows users to send money, pay bills, and make online purchases. With features like biometric login, real-time bank transfers, and expense tracking, iPay is a convenient and secure solution for everyday financial transactions in Sri Lanka.
* **PayGo** — это система цифровых платежей в Шри-Ланке, которая позволяет пользователям безопасно отправлять и получать деньги. Она обеспечивает быстрые и эффективные денежные переводы, предлагая простой и надежный способ цифрового перемещения средств.

</details>

<details>

<summary>Tunisia</summary>

* **D17** - a tunisian payment system, facilitating secure and reliable electronic transactions, including deposits and withdrawals, for individuals and businesses.
* **Flouci** – a mobile application and digital payment platform in Tunisia that allows users to manage digital accounts and perform secure financial transactions. It is designed to promote financial inclusion by offering accessible and modern financial services through smartphones.

</details>

<details>

<summary>Uruguay</summary>

* **BROU** — Banco de la República Oriental del Uruguay (BROU) is the largest state-owned bank in Uruguay. Payments are made via the eBROU mobile app, allowing users to securely and instantly complete transactions directly from their bank accounts. The method supports everyday payments and online purchases, providing a fast, reliable, and widely trusted digital payment option in Uruguay.
* **Mercado Pago** — is a payment platform in Uruguay that provides users with convenient tools to accept and manage digital payments, making it a popular solution for everyday financial transactions in Uruguay.

</details>

If you need to clarify the supported payment systems or add a new one, please [contact us](https://t.me/apay_sales)

## What can you do with A-pay?

### Set up a payment method on your platform by creating deposits through A-pay

Your users will be able to easily pay for your products and services directly from your platform.&#x20;

* [How to create a deposit for an unknown user?](/api-documentation/api-integration/deposit/request-to-create-a-deposit)
* [What is deposit activation?](/api-documentation/api-integration/deposit)
* [How many funds are in a certain deposit?](/api-documentation/api-integration/deposit/deposit-information)
* [Postback](/api-documentation/postback) or Webhook

### Enable withdrawals for your users

Your users will also be able to easily withdraw money from your platform via A-pay.

* [How to create a withdrawal?](/api-documentation/api-integration/withdrawal)
* [Postback](/api-documentation/postback) or Webhook

### Settle cash and manage your finances through A-pay

A convenient way to manage and make a settlement from your A-pay account to your wallet.

* [How to create a settlement?](/api-documentation/settlement)

### Automate your payment checks with A-pay

Create transaction reports in CSV format for daily payment checks

* [How to create and download a report?](/api-documentation/report)

### Use A-pay Payment Gateway

Easy integration of A-pay payment gateway on your platform

* [How to add and use a payment gateway](/api-documentation/payment-page-integration/payment-gateway)


# Supported currencies

List of supported currencies

| Name | Symbol |
| ---- | ------ |
| BDT  | ৳      |
| BRL  | R$     |
| INR  | ₹      |
| KES  | KSh    |
| KHR  | ៛      |
| MMK  | K      |
| MXN  | $      |
| NPR  | रु     |
| PKR  | Rs     |
| TND  | TD     |
| ETB  | Br     |
| LKR  | Rs     |
| EGP  | E£     |
| ARS  | $      |
| PEN  | $      |
| PYG  | ₲      |
| UYU  | $      |
| XOF  | CFA    |
| GNF  | FG     |
| JMD  | J$     |
| EUR  | €      |
| BOB  | Bs.    |
| BHD  | BD     |
| USD  | $      |

The list is constantly being updated with new currencies later


# Start Integration

A-Pay provides APIs (x2x, h2h, server-to-server, post-to-post) as well as a payment gateway (page) integration to process your transactions.

* **Payment gateway** — A fast and simple way to accept payments. Customers are redirected to a secure  payment page hosted by A-Pay, and you receive only the result. Minimal development required, with all security handled by us.
* **API** — Full control over the payment process directly on your website. You create the interface for entering payment details and manage the entire payment flow via API. Ideal for custom workflows.
* **API + Payment Gateway** — You can use both options depending on your need.

You can integrate the payment gateway and use the API, so the method of integration depends entirely on your preference!

{% hint style="warning" %}
In all cases, integration requires implementation into your backend.
{% endhint %}

## **Getting Started**

Before you begin, please follow these steps:

1. **Contact Support:** Reach out to our support team through your client chat. They will assist you with the integration process.
2. **Customize Integration:** Our technical support team is available to help you configure the integration in the way that best suits your needs.
3. **Provide URLs:** Submit the URLs for postback notifications for deposits and withdrawals. These URLs are where we will send postback data as needed.

## **Authentication**

To authenticate your requests with A-Pay, use the following parameters:

• **apikey:** Your unique API key.

• **project\_id:** Your project identifier.

## **Test Project**

* Access a test project to verify the integration before onboarding live users
* Use separate test API keys and Project ID, and replace them with production credentials before going live
* For transactions in the test project, we manually send callbacks with the statuses you need in order to test your webhook handling. To set the required status, please send a request in the support chat.


# Payment Systems information

This section contains information about how to retrieve available Payment Systems for you, as well as how to get the balances of these systems.

More details may be found here:

* [Getting data about PS](/api-documentation/payment-systems-information/getting-data-about-ps)
* [Getting payment system balances](/api-documentation/payment-systems-information/getting-payment-system-balances)


# Getting data about PS

{% hint style="warning" %}
The integration of our service into your platform is expected to be done with the help of developers, so make sure you involve them
{% endhint %}

There is a request, by creating and sending which you will find out which payment system is connected to your project and what limits there are on it. API docs about that request are [here](https://api.a-pay.one/#tag/Payment-system/paths/~1Remotes~1payment-systems-info/get).

## Getting data about payment systems

> Getting data about payment systems for the project.

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Payment system","description":"Payment systems"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"ps_all":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","bangla_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_fast_p2p","cvu_p2p","d17_l","easypaisa","easypaisa_l","egp_card","egp_fast","egp_tel","egp_tel_fast","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","eur_card","flouci","flouci_l","fonepay_qr","fri_p2p","imepay_l","imps","imps_top","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_fast","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lkr_banktransfer","lkr_qr","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nagad_p2p","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paygo_p2p","paytm","phonepe","phonepe_fast","pix_p2p","pkr_bt_p2p","pkr_w","pkr_w2","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upay_w","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Payment system ID connected to the project"},"currency":{"type":"string","title":"Currency","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","EUR","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"],"description":"<details>\n  <summary>Payment system currency</summary>\n  \n  | Currency | Payment systems | Decimal places |\n  |----------|-----------------|----------------|\n  | ARS | `cvu_fast_p2p`, `cvu_p2p`, `mercado_ars_p2p` | `0` |\n  | BDT | `apaybdt`, `bangla_qr`, `bkash_a`, `bkash_api_v`, `bkash_b`, `bkash_p2p`, `nagad_a`, `nagad_api_v`, `nagad_b`, `nagad_p2p`, `p2p_rocket`, `tap_p2p`, `upay`, `upay_w` | `0` |\n  | BHD | `stcpay_p2p` | `3` e.g. 0.001 |\n  | BOB | `veripagos_fast`, `yape_bob_p2p` | `0` |\n  | BRL | `pix_p2p` | `0` |\n  | EGP | `egp_card`, `egp_fast`, `egp_tel`, `egp_tel_fast` | `0` |\n  | ETB | `cbebirr_p2p`, `etb_fast`, `etb_mpesa_p2p`, `etb_p2p`, `telebirr_fast_p2p` | `0` |\n  | EUR | `eur_card` | `2` e.g. 0.01 |\n  | GNF | `orange_gin_p2p` | `0` |\n  | GTQ | `fri_p2p` | `2` e.g. 0.01 |\n  | INR | `imps`, `imps_top`, `inr_p2c`, `inr_p2p`, `paytm`, `phonepe`, `phonepe_fast`, `upi_a`, `upi_fast`, `upi_fast_qr`, `upi_fast_v`, `upi_fast_vip`, `upi_link`, `upi_p2p`, `upi_push` | `0` |\n  | JMD | `lynk_p2p`, `scotiabank_p2p` | `0` |\n  | KES | `mpesa` | `0` |\n  | KHR | `ababank`, `wing_l` | `0` |\n  | LKR | `ipay_fast`, `ipay_l`, `lkr_banktransfer`, `lkr_qr`, `paygo_p2p` | `0` |\n  | MMK | `kbzpay_p2p`, `wavepay_l` | `0` |\n  | MXN | `spei_p2p` | `0` |\n  | NIO | `ach_p2p` | `2` e.g. 0.01 |\n  | NPR | `esewa`, `esewa_p2p`, `fonepay_qr`, `imepay_l`, `khalti`, `khalti_l` | `0` |\n  | PEN | `yape_pen_p2p` | `0` |\n  | PKR | `bankalfalah`, `easypaisa`, `easypaisa_l`, `jazzcash`, `jazzcash_fast`, `jazzcash_l`, `nayapay_l`, `pkr_bt_p2p`, `pkr_w`, `pkr_w2`, `raast_p2p` | `0` |\n  | PYG | `bancard_qr`, `itau_p2p`, `tigo_p2p` | `0` |\n  | TND | `d17_l`, `flouci`, `flouci_l` | `0` |\n  | USD | `banistmo_p2p`, `bcgeneral_p2p`, `yappy_p2p` | `2` e.g. 0.01 |\n  | UYU | `brou_p2p`, `mercado2_uyu_p2c`, `mercado_uyu_p2c`, `prex_p2p` | `0` |\n  | XOF | `moov_mli_p2p`, `orange_mli_p2p`, `orange_sen_p2p`, `wave_mli_p2p`, `wave_sen_p2p` | `0` |\n</details>"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/payment-systems-info":{"get":{"tags":["Payment system"],"summary":"Getting data about payment systems","description":"Getting data about payment systems for the project.","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","payment_systems"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"payment_systems":{"type":"array","items":{"type":"object","description":"Information about payment system","required":["name","min_deposit","max_deposit","min_withdrawal","max_withdrawal","deposit","withdrawal"],"properties":{"name":{"$ref":"#/components/schemas/ps_all"},"currency":{"$ref":"#/components/schemas/currency"},"deposit":{"type":"boolean","description":"`false` if the payment system does not support deposits else `true`"},"withdrawal":{"type":"boolean","description":"`false` if the payment system does not support withdrawals else `true`"},"min_deposit":{"type":"string","description":"Minimum deposit amount"},"max_deposit":{"type":"string","description":"Maximum deposit amount"},"min_withdrawals":{"type":"string","description":"Minimum withdrawal amount"},"max_withdrawals":{"type":"string","description":"Maximum withdrawal amount"}}}}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in parameters","default":"required field missing"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}}}}}}}
```

### Auto display method and auto update minimum and maximum payment limits

Use this request to automatically display our active payment methods and their limits on your platform. You can call the method periodically (e.g., every 5 minutes) to keep your data up to date.

The response also contains information about which directions are currently available — deposits, withdrawals, or both.

There is a slight difference depending on how you are integrated with us:

#### **H2H integration**

For H2H integration, follow this logic:

1. Send a request to get available payment systems.
2. If a payment system you have integrated is present in the response — display it.\
   If it’s missing — hide it.
3. Update minimum and maximum limits according to the response.
4. Use the `deposit` and `withdrawal` flags to determine whether the payment system should be displayed, and for which directions it’s available.

#### **Payment page integration**

For integrations via our payment page, there are two options:

**a. Single payment system request**

The behavior is similar to the H2H integration. However, withdrawals are not available when using our payment page. In this case, you should ignore the `withdrawal` flag and display the method **only if `deposit = true`**.

**b. Multiple payment systems request**

When you send a request containing several payment systems (e.g., `upi_p2p`, `phonepe`, `paytm`):

* Display the payment method if **at least one** of the requested systems is returned in the response with `deposit = true`.
* Hide the method only if **none** of the requested systems appear, or all of them have `deposit = false`.
* You can ignore the `withdrawal` flag, as withdrawals are not available when using our payment page.

For example, if you request the following payment systems via the payment page: `upi_p2p`, `phonepe`, `paytm`, and you periodically send us requests to check their availability:

* If we respond with only `upi_p2p` where `deposit = true` — do **not** hide the method, since a deposit option is still available.
* If we respond with only systems where `deposit = false`, or none of the requested systems are returned — hide the method.


# Getting payment system balances

{% hint style="warning" %}
The integration of our service into your platform is expected to be done with the help of developers, so make sure you involve them
{% endhint %}

Use this request to retrieve the current balances of the Payment Systems available to your project. API docs for this request are available [here](https://api.a-pay.one/#tag/Payment-system/paths/~1Remotes~1payment-systems-balances/get).

## Get payment system balances

> Get payment systems balances for the project

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Payment system","description":"Payment systems"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"ps_all":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","bangla_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_fast_p2p","cvu_p2p","d17_l","easypaisa","easypaisa_l","egp_card","egp_fast","egp_tel","egp_tel_fast","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","eur_card","flouci","flouci_l","fonepay_qr","fri_p2p","imepay_l","imps","imps_top","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_fast","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lkr_banktransfer","lkr_qr","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nagad_p2p","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paygo_p2p","paytm","phonepe","phonepe_fast","pix_p2p","pkr_bt_p2p","pkr_w","pkr_w2","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upay_w","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Payment system ID connected to the project"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/payment-systems-balances":{"get":{"tags":["Payment system"],"summary":"Get payment system balances","description":"Get payment systems balances for the project","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the system","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","payment_systems_balances"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"payment_systems_balances":{"type":"array","items":{"type":"object","description":"Information about payment system","required":["name","balance"],"properties":{"name":{"$ref":"#/components/schemas/ps_all"},"balance":{"type":"string","description":"Payment system balance"}}}}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in parameters","default":"required field missing"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}}}}}}}
```


# Payment Page Integration

<figure><img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2Fom7umRAKuztD3AcqcOYq%2Fimage.png?alt=media&amp;token=a3998cab-58c8-486a-8dbd-2280bcdad065" alt=""><figcaption><p>Sequence diagram of the payment with A-Pay Payment Page</p></figcaption></figure>

A payment page is one way to integrate when you don't have to customize a payment flow. A-Pay, on its part, will provide continuous support of the payment window 24/7 so that payment errors will be minimized. In the payment window, we use best practices to maximize conversion to payment.

You can learn more about payment gateway features and integration here: [Payment Gateway](/api-documentation/payment-page-integration/payment-gateway)


# Payment Gateway

Payment gateway is a page that allows your user to select the payment system they wish to use to make a payment, or a page that allows the user to complete the payment process directly from your site. API: [Create payment page](https://api.a-pay.one/#tag/Payment-page/paths/~1Remotes~1create-payment-page/post)

{% hint style="warning" %}
The payment page cannot be integrated without diving into the API, so if you choose this method of integration, you will still need to customize the backend of your site
{% endhint %}

### What languages does the payment gateway support?

The payment page supports all languages of the geo where A-pay operates. If the language is not passed in the payment gateway creation request, the geo-country language will be selected by default.

### How to use the payment page?

{% hint style="info" %}
Before using the payment gateway, be sure to write to our [sales team](https://t.me/apay_sales) for initial integration. Then, with all the necessary data, you can start using the payment page.
{% endhint %}

It is necessary to create a request to open a payment window so that the user can go to the payment gateway. As a client, you can choose different ways to use the A-pay payment window:

1. Send a request to receive a link from A-pay to open the payment page to the user with a choice of available payment systems
2. Send a request to receive a link from A-pay to pay in a specific payment system

{% hint style="warning" %}
In both cases you will need to filter primary and secondary traffic on your website. Our payment window does not support traffic filtering.
{% endhint %}

If you have an account in our system, you can create a link to the payment page in the Request Configurator tab.

#### Payment page with a choice of payment systems

In the first case, you just need to specify the currency, payment systems and a return link on your website in the request.

<details>

<summary>Example of the request for the first case</summary>

```json
{
  "currency": "INR", //Currency of payment
  "payment_system": [//list of payment system for request
    "upi_fast",
    "upi_fast_v",
    "upi_p2p"
  ],
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "return_url": "https://example.com",
  "language": "EN"
}
```

</details>

{% hint style="warning" %}
For primary traffic - some payment systems; for secondary traffic - others. Which ones to use in this or that case, please specify in the support chat.
{% endhint %}

In response to this request, a link to our payment gateway will be provided, where the user will select a payment system and create a deposit on their own. Users should be redirected to this link if they wish to make a deposit.

<details>

<summary>How it looks on mobile</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FLMqO1j6YZv5OWQcY3lrY%2FScreenshot%202025-04-01%20at%2009.39.23.png?alt=media&amp;token=a4400e22-bd81-4b5a-aa8f-e933aa1c3c94" alt="" data-size="original">

</details>

<details>

<summary>How it looks on desktop</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FeOHgjrC9M0upHula4sFF%2FScreenshot%202025-03-31%20at%2017.49.51.png?alt=media&amp;token=95b6e7ca-6b5c-4281-9b3c-599677d1cf5e" alt="" data-size="original">

</details>

{% hint style="info" %}
The list of payment systems will be displayed in the order you put them in your request
{% endhint %}

**Return URL with Query Parameters**

When the user completes the payment on the payment gateway page, the system redirects them to the specified `return_url`. At this point, query parameters are appended to the URL to pass information about the transaction status.

Example parameters:

* `status`: the result of the payment (`Created`, `Fail`, `Cancel`).
  * `Created`- parameter is passed in the link when the user successfully created a deposit but, for some reason, didn't complete the payment.
  * `Fail`- parameter is sent when the user encountered an error while creating the payment.
  * `Cancel`- parameter is sent when the user initiated payment on the payment provider's site but, for some reason, did not complete it.

The difference between `created` and `cancel` is that with `created`, the user hasn’t begun the payment process—they saw the payment details but chose not to proceed. In the case of `cancel`, the user started the payment on the payment provider’s site but interrupted it and returned to the merchant’s site.

Example of the returned URL:

```
{https://example.com?status=Created}
```

These parameters provide insight into the stage at which the user interrupted the payment process.

### Using the amount buttons

You can also create buttons for quick selection of the amount for the user, for this purpose, it is necessary to add the buttons' parameter to the request.&#x20;

<details>

<summary>Example of the request with the amount buttons</summary>

<pre class="language-json"><code class="lang-json">
{
  "currency": "INR", //Currency of payment
  "payment_system": [//list of payment system for request
    "upi_fast",
    "upi_fast_v",
    "upi_p2p"
  ],
  "buttons": [
  100,
<strong>  200,
</strong>  300,
  400
  ],
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "return_url": "https://example.com",
  "language": "EN"
}
</code></pre>

</details>

Once this parameter is added, the user will have buttons to quickly enter the amount.

{% hint style="info" %}
Opening a payment window without an amount isn't considered a deposit request and will not affect the conversion rate in this case.
{% endhint %}

<details>

<summary>How it looks on mobile</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FeXdlz4ZRZO1HAVHBaALH%2FScreenshot%202025-04-01%20at%2009.36.25.png?alt=media&amp;token=b734e533-7c8a-4cc8-b639-163d9faf371c" alt="" data-size="original">

</details>

<details>

<summary>How it looks on desktop</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2F0H3vksInucbJr1DGKKVp%2FScreenshot%202025-04-01%20at%2009.16.05.png?alt=media&amp;token=46798291-611c-4a76-ba4b-8de8e230e051" alt="" data-size="original">

</details>

You can actually block the payment amount, but leave the choice of payment system and send us this request. In this case, the user will not be able to change the payment amount but will be able to choose any convenient payment system that is currently connected to your project and is available to the user by traffic type. This is especially handy if you have a payment for services.

<details>

<summary>Example of the request with fixed amount</summary>

```json
{
  "amount": 300, //Amount of deposit
  "currency": "INR", //Currency of payment
  "payment_system": [//list of payment system for request
    "upi_fast",
    "upi_fast_v",
    "upi_p2p"
  ],
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "return_url": "https://example.com",
  "language": "EN"
}
```

</details>

<details>

<summary>Example of the answer to the payment page request</summary>

```json
{
  "success": true,
  "url": "https://a-pay4.one/pay?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MjI5LCJleHAiOjE3MDE0NDMwODd9.zZXK5K1ipGYj01G2MGFzERdRW5vIXQgxKo1B6GSmYcQ",
  "order_id": "7fa13dbc3b79e05e"
}
```

</details>

The user path in this case is:

1. The user wants to make a deposit
2. The user clicks the deposit button
3. The client site detects the user's geo, currency and type of traffic and sends a request to A-pay to open a payment page with certain payment systems or/and amounts for that type of traffic
4. A-pay payment window opens with payment systems in the user's currency
5. The user selects the payment system
6. The user completes payment
7. Once the payment has been completed, the user will be redirected to the returnlink

<details>

<summary>How it looks on mobile</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FdCCpFMUmzKjK61eeM0FV%2FScreenshot%202025-04-01%20at%2009.37.50.png?alt=media&amp;token=efefb809-c4d1-4b8b-b2c3-6d6b9d6d446a" alt="" data-size="original">

</details>

<details>

<summary>How it looks on desktop</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FcZVXf3nyCTHo5wlylxYw%2FScreenshot%202025-04-01%20at%2009.26.44.png?alt=media&amp;token=77899296-6a75-44b4-a25c-e0b0af888b97" alt="" data-size="original">

</details>

### Payment gateway with complete data

In the second case, you make a more comprehensive request for a specific payment system.

{% hint style="info" %}
Priority method of use
{% endhint %}

This method has a higher conversion rate because it is the final stage of the payment process. For your part, you provide more detailed information to request a payment link, which then redirects the user to your website when they click on the "Pay" button.

{% hint style="danger" %}
The required parameters for this method of using the payment gateway are described in the example. The payment gateway will not work in such a case when any of the parameters are provided incorrectly or not provided at all.
{% endhint %}

<details>

<summary>Example of the request for the second case</summary>

```json
{
  "amount": 300, //Required. The amount of deposit that the user has entered on your site
  "currency": "PKR", //Required. Currency in which the user makes a deposit
  "payment_system": [ //Required. Only 1 payment system. Payment system that is connected to your product
    "jazzcash_fast",
  ],
  "custom_transaction_id": "custom123", //Required
  "custom_user_id": "user123", //Required. Client number for identification in the system
  "language": "EN",
  "return_url": "https://example.com", //Required. returnlink to your site
  "data": { //Data depending on the specific payment system
    "account_number": "" //User's account number
  }
}
```

</details>

When making such a request, A-pay will send a link, following which the user will only have to complete the payment. The entire flow in the payment window is customized by us to achieve the best conversion rate for your users.

<details>

<summary>Example of the answer to the payment page request</summary>

```json
{
  "success": true,
  "url": "https://a-pay4.one/pay?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MjI5LCJleHAiOjE3MDE0NDMwODd9.zZXK5K1ipGYj01G2MGFzERdRW5vIXQgxKo1B6GSmYcQ",
  "order_id": "7fa13dbc3b79e05e"
}
```

</details>

{% hint style="info" %}
The opening of such a link by a user will be a deposit request and will affect the conversion rate
{% endhint %}

<details>

<summary>How it looks on mobile</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FXL9ce3rBjr7tpv960qvV%2Fexample%20mobile.jpeg?alt=media&amp;token=4909f51c-77f8-454e-bea0-ee9d3feecc0d" alt="" data-size="original">

</details>

<details>

<summary>How it looks on desktop</summary>

<img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FnHPtna22dNmrTmBm1UXP%2Fexample%20desktop.png?alt=media&amp;token=fd1bc5dd-bc3a-4192-982c-90eda9f14313" alt="" data-size="original">

</details>

The user path in this case is as follows:

1. The user wants to make a deposit
2. The user clicks the deposit button
3. On the client's site, the user selects the payment system and the amount of top-up&#x20;
4. The user confirms the deposit
5. The client site sends a request to create a payment link
6. A-pay sends the link
7. The client site redirects the user to this link
8. The user completes the payment
9. The user is redirected to the returnlink

### Iframe integration

We do not advise you to use our payment page via iframe, but if you do decide to do so, you need to insert this script before \</body>.

```html
<!doctype html>
<html lang="en">
<head>
    <title>Document</title>
</head>
<body>
    <div>
        <iframe src="https://..." frameborder="0"></iframe>
    </div>


    <script type="text/javascript" src="https://a-pay4.one/pay/iframe-script.js"></script>


</body>
</html>
```


# API Integration

This integration is usually chosen by those clients who want to keep the user from navigating to third-party sites. It has the best conversion rate with excellent customization of the site's UX/UI and deposit payment process, but requires more control over the payment systems.

{% hint style="warning" %}
JSON responses returned by our API may be extended over time. To ensure stable and future-proof integrations, follow the recommendations below:
{% endhint %}

<details>

<summary>Recommendations for Handling JSON Responses (Ensuring Backward Compatibility)</summary>

Client-side implementation guidelines:

1. Ignore unknown fields. When handling API responses, process only the fields your integration explicitly depends on. Any additional or unrecognized fields must be ignored, not treated as errors.
2. Avoid strict field validation. Do not implement logic that relies on the exact number or set of fields returned. Instead, access only the fields by name that are relevant to your business logic.
3. Configure your JSON parsers to allow extra fields.
4. Do not compare full JSON payloads as raw strings. Logic based on raw string comparison is fragile and may break when new fields are added, even if the response remains semantically valid.

</details>

You can learn more about API integration here:

* [Deposit](/api-documentation/api-integration/deposit)
* [Withdrawal](/api-documentation/api-integration/withdrawal)
* [Lost transaction](https://app.gitbook.com/o/LNbZs3dNMDs1xm16Y9hk/s/dRt6CV4HPvnslXUaqL9U/~/changes/116/api-documentation/api-integration/lost-transaction)


# Deposit

{% hint style="warning" %}
**We recommend you additionally make the following improvements:**

1. Add hints in text form for each payment system (PS) to explain to the user all payment steps.
2. Add a visual explanation of the payment process - GIFs showing the process and screenshots of the payment steps.
3. Screenshots and all the necessary minimum text information can be obtained directly from A-pay TS.
   {% endhint %}

#### Let's see how it works:&#x20;

* User makes a deposit via our payment method on the client project (flow configured by the client)
* The client server sends a request to our server
* Our server processes the request (checks the deposit payment)
* After successful processing, our server sends a deposit webhook (postback, callback) to the client server
* Client server processes our request
* After successful processing, the client project credits funds to user's account

So, communication takes place with the help of postback requests (postbacks). After each client request for input or output, a postback is sent to the client with the result of the operation. You can also review the process below:

<figure><img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FR7ttjw2VblQxeu5g29EW%2Fimage.png?alt=media&amp;token=d638455b-d8b6-4599-bd48-d7a5e457a228" alt=""><figcaption><p>Sequence diagram of the Deposit via API integration</p></figcaption></figure>


# Request to create a deposit

### Request to create a deposit

This section provides information on the most popular request - deposit creation request.

## Request to create a deposit

> Deposit creation.\
> \
> When the deposit is confirmed, a callback request will be sent to the client's application handler with the \[Deposit webhook]\(#operation/DepositWebhook) body

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Deposit","description":"Deposits"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"deposit_currency":{"type":"string","title":"Currency","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"],"description":"<details>\n  <summary>Payment system currency</summary>\n  \n  | Currency | Payment systems | Decimal places |\n  |----------|-----------------|----------------|\n  | ARS | `cvu_fast_p2p`, `cvu_p2p`, `mercado_ars_p2p` | `0` |\n  | BDT | `apaybdt`, `bangla_qr`, `bkash_a`, `bkash_api_v`, `bkash_b`, `bkash_p2p`, `nagad_a`, `nagad_api_v`, `nagad_b`, `nagad_p2p`, `p2p_rocket`, `tap_p2p`, `upay` | `0` |\n  | BHD | `stcpay_p2p` | `3` e.g. 0.001 |\n  | BOB | `veripagos_fast`, `yape_bob_p2p` | `0` |\n  | BRL | `pix_p2p` | `0` |\n  | EGP | `egp_card`, `egp_fast`, `egp_tel`, `egp_tel_fast` | `0` |\n  | ETB | `cbebirr_p2p`, `etb_fast`, `etb_mpesa_p2p`, `etb_p2p`, `telebirr_fast_p2p` | `0` |\n  | GNF | `orange_gin_p2p` | `0` |\n  | GTQ | `fri_p2p` | `2` e.g. 0.01 |\n  | INR | `imps`, `inr_p2c`, `inr_p2p`, `paytm`, `phonepe`, `phonepe_fast`, `upi_a`, `upi_fast`, `upi_fast_qr`, `upi_fast_v`, `upi_fast_vip`, `upi_link`, `upi_p2p`, `upi_push` | `0` |\n  | JMD | `lynk_p2p`, `scotiabank_p2p` | `0` |\n  | KES | `mpesa` | `0` |\n  | KHR | `ababank`, `wing_l` | `0` |\n  | LKR | `ipay_fast`, `ipay_l`, `lkr_banktransfer`, `lkr_qr`, `paygo_p2p` | `0` |\n  | MMK | `kbzpay_p2p`, `wavepay_l` | `0` |\n  | MXN | `spei_p2p` | `0` |\n  | NIO | `ach_p2p` | `2` e.g. 0.01 |\n  | NPR | `esewa`, `esewa_p2p`, `fonepay_qr`, `imepay_l`, `khalti`, `khalti_l` | `0` |\n  | PEN | `yape_pen_p2p` | `0` |\n  | PKR | `bankalfalah`, `easypaisa`, `easypaisa_l`, `jazzcash`, `jazzcash_fast`, `jazzcash_l`, `nayapay_l`, `pkr_bt_p2p`, `raast_p2p` | `0` |\n  | PYG | `bancard_qr`, `itau_p2p`, `tigo_p2p` | `0` |\n  | TND | `d17_l`, `flouci`, `flouci_l` | `0` |\n  | USD | `banistmo_p2p`, `bcgeneral_p2p`, `yappy_p2p` | `2` e.g. 0.01 |\n  | UYU | `brou_p2p`, `mercado2_uyu_p2c`, `mercado_uyu_p2c`, `prex_p2p` | `0` |\n  | XOF | `moov_mli_p2p`, `orange_mli_p2p`, `orange_sen_p2p`, `wave_mli_p2p`, `wave_sen_p2p` | `0` |\n</details>"},"ps_deposit":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","bangla_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_fast_p2p","cvu_p2p","d17_l","easypaisa","easypaisa_l","egp_card","egp_fast","egp_tel","egp_tel_fast","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","flouci","flouci_l","fonepay_qr","fri_p2p","imepay_l","imps","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_fast","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lkr_banktransfer","lkr_qr","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nagad_p2p","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paygo_p2p","paytm","phonepe","phonepe_fast","pix_p2p","pkr_bt_p2p","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Name of the payment system in A-Pay"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/create-deposit":{"post":{"tags":["Deposit"],"summary":"Request to create a deposit","description":"Deposit creation.\n\nWhen the deposit is confirmed, a callback request will be sent to the client's application handler with the [Deposit webhook](#operation/DepositWebhook) body","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["amount","currency","payment_system","custom_user_id","data"],"properties":{"amount":{"description":"Deposit amount\n\nPayment systems support different amount formats. `integer` or `number`\n","oneOf":[{"type":"integer","description":"Currencies that accept `integer` type","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"]},{"type":"number","description":"Currencies that accept `number` type","enum":["BHD","GTQ","NIO","USD"]}]},"currency":{"$ref":"#/components/schemas/deposit_currency"},"payment_system":{"$ref":"#/components/schemas/ps_deposit"},"custom_transaction_id":{"type":"string","maximum":200,"description":"Transaction ID in the client's system. Must be unique. `Optional`"},"custom_user_id":{"type":"string","maximum":200,"description":"User ID in the client's system. Must be unique for each user"},"webhook_id":{"type":"string","minimum":7,"maximum":7,"description":"Id of a webhook that will be used to send a postback. If not filled then default webhook url will be used. `Optional`"},"data":{"description":"Data depending on the specific payment system","anyOf":[{"description":"Ababank data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `KHR`","title":"ababank","type":"object"},{"description":"ACH Lafise P2P data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `NIO`","title":"ach_p2p","type":"object"},{"description":"ApayBDT data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"cancel_url":{"description":"Return link to the user's shop after the canceled payment","type":"string"},"customer_email":{"description":"Customer email","type":"string"},"customer_name":{"description":"Customer name","maximum":30,"type":"string"},"customer_phone":{"description":"Customer phone","maximum":15,"minimum":6,"pattern":"^[0-9]{6,15}$","type":"string"},"fail_url":{"description":"Return link to the user's shop after the failed payment","type":"string"},"success_url":{"description":"Return link to the user's shop after the successful payment","type":"string"}},"required":["success_url","cancel_url","fail_url","customer_name","customer_email","customer_phone"],"title":"apaybdt","type":"object"},{"description":"Bancard QR data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `PYG`","title":"bancard_qr","type":"object"},{"properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"User's bank or mobile financial services app account number from which the transfer will be made.\n\n<details>\n  <summary>Use banks or MFS only for this list for the correct deposit activation:</summary>\n\n| №   | Bank Name     |\n|-----|---------------|\n| 1   | Bkash         |\n| 2   | Nagad         |\n| 3   | Rocket        |\n| 4   | Upay          |\n| 5   | UCB Bank      |\n| 6   | IBBL          |\n| 7   | Brac Bank     |\n| 8   | Pubali Bank   |\n| 9   | The City bank |\n| 10  | Prime Bank    |\n| 11  | Sonali Bank   |\n| 12  | mCash         |\n| 13  | MTB           |\n| 14  | EBL           |\n| 15  | NRBC Bank     |\n| 16  | Premier Bank  |\n| 17  | NRB Bank      |\n</details>","maximum":17,"minimum":11,"pattern":"^[0-9]{11,17}$","type":"string"}},"required":["account_number"],"title":"bangla_qr","type":"object"},{"description":"Banistmo P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `USD`","title":"banistmo_p2p","type":"object"},{"description":"BankAlfalah data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"bankalfalah","type":"object"},{"description":"Bcgeneral P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `USD`","title":"bcgeneral_p2p","type":"object"},{"description":"[Deposit activation](#operation/DepositActivation) is optional","properties":{"":{"description":"[Deposit activation](#operation/DepositActivation) is optional.\n\nCurrency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["account_number","return_url"],"title":"bkash_a","type":"object"},{"description":"Currency: `BDT`","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"User’s bKash account number from which the transfer will be made","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number","return_url"],"title":"bkash_api_v","type":"object"},{"description":"[Deposit activation](#operation/DepositActivation) is optional","properties":{"":{"description":"[Deposit activation](#operation/DepositActivation) is optional.\n\nCurrency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["account_number","return_url"],"title":"bkash_b","type":"object"},{"description":"Currency: `BDT`","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"User’s bKash account number from which the transfer will be made","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"bkash_p2p","type":"object"},{"description":"BROU P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `UYU`","title":"brou_p2p","type":"object"},{"description":"Cbebirr P2P data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Customer phone number from the CBE Birr app","maximum":12,"minimum":12,"pattern":"^251[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"cbebirr_p2p","type":"object"},{"description":"CVU Fast P2P data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `ARS`","title":"cvu_fast_p2p","type":"object"},{"description":"Cvu-p2p data","properties":{"":{"description":"Currency: `ARS`","type":"Description:"},"customer_name":{"description":"Customer name","maximum":50,"minimum":1,"pattern":"^(?=.{1,50}$)(?! )[A-Za-zÁÉÍÓÚÜáéíóúüÑñ'-]+(?: [A-Za-zÁÉÍÓÚÜáéíóúüÑñ'-]+)*$","type":"string"},"customer_surname":{"description":"Customer surname","maximum":50,"minimum":1,"pattern":"^(?=.{1,50}$)(?! )[A-Za-zÁÉÍÓÚÜáéíóúüÑñ'-]+(?: [A-Za-zÁÉÍÓÚÜáéíóúüÑñ'-]+)*$","type":"string"}},"required":["customer_name","customer_surname"],"title":"cvu_p2p","type":"object"},{"description":"D17-l data (empty)\n                    \nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n                    \nFor example: `\"data\": {}`\n                    \nCurrency: `TND`","title":"d17_l","type":"object"},{"description":"Easypaisa data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^03[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"easypaisa","type":"object"},{"description":"Easypaisa-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `PKR`","title":"easypaisa_l","type":"object"},{"description":"Egp Card Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"egp_card","type":"object"},{"description":"Egp Fast Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"egp_fast","type":"object"},{"description":"Egp Tel Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"egp_tel","type":"object"},{"description":"Egp Tel Fast Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"egp_tel_fast","type":"object"},{"description":"Esewa data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"esewa","type":"object"},{"description":"eSewa P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `NPR`","title":"esewa_p2p","type":"object"},{"description":"Etd Fast Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"etb_fast","type":"object"},{"description":"M-PESA ETH P2P data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Customer phone number from the M-PESA app","maximum":12,"minimum":12,"pattern":"^251[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"etb_mpesa_p2p","type":"object"},{"description":"ETB P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `ETB`","title":"etb_p2p","type":"object"},{"description":"Flouci data","properties":{"":{"description":"Currency: `TND`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"flouci","type":"object"},{"description":"Flouci-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `TND`","title":"flouci_l","type":"object"},{"properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"phone_number":{"description":"Phone number without country code (+977)","maximum":10,"minimum":10,"pattern":"^[9][6-8][0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"fonepay_qr","type":"object"},{"description":"FRI p2p data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `GTQ`","title":"fri_p2p","type":"object"},{"description":"ImePay-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `NPR`","title":"imepay_l","type":"object"},{"description":"Imps data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"imps","type":"object"},{"description":"INR-p2c data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"inr_p2c","type":"object"},{"description":"INR-p2p data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n                    \nCurrency: `INR`","title":"inr_p2p","type":"object"},{"description":"Ipay Fast Data","properties":{"":{"description":"Currency: `LKR`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"ipay_fast","type":"object"},{"description":"Ipay-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `LKR`","title":"ipay_l","type":"object"},{"description":"itau-p2p data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `PYG`","title":"itau_p2p","type":"object"},{"description":"Jazzcash data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"Cnic number","maximum":13,"minimum":13,"pattern":"^[0-9]+$'","type":"string"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^03[0-9]{9}$","type":"string"}},"required":["phone_number","account_number"],"title":"jazzcash","type":"object"},{"description":"Jazzcash fast data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^03[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"jazzcash_fast","type":"object"},{"description":"Jazzcash-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `PKR`","title":"jazzcash_l","type":"object"},{"description":"KBZpay P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `ММК`","title":"kbzpay_p2p","type":"object"},{"description":"Khalti data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"khalti","type":"object"},{"description":"Khalti-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `NPR`","title":"khalti_l","type":"object"},{"description":"lkr_banktransfer data (empty)\n                    \nFor example: `\"data\": {}`\n                    \nCurrency: `LKR`","title":"lkr_banktransfer","type":"object"},{"description":"Lanka QR data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `LKR`","title":"lkr_qr","type":"object"},{"description":"Lynk P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `JMD`","title":"lynk_p2p","type":"object"},{"description":"Mercado2 UYU P2C data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `UYU`","title":"mercado2_uyu_p2c","type":"object"},{"description":"MercadoPago P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `ARS`","title":"mercado_ars_p2p","type":"object"},{"deposit":null,"properties":{"":{"description":"Currency: `UYU`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"mercado_uyu_p2c","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"moov_mli_p2p","type":"object"},{"properties":{"":{"description":"Currency: `KES`","type":"Description:"},"phone_number":{"description":"Phone number Safaricom for money sending. Should consist of 12 digits and start with 254","maximum":12,"minimum":12,"pattern":"^254[0-9]{9}$","type":"string"}},"required":["phone_number"],"summary":"Mpesa data","title":"mpesa","type":"object"},{"description":"Nagad A","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"nagad_a","type":"object"},{"description":"Nagad API V","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"nagad_api_v","type":"object"},{"description":"Nagad B","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"nagad_b","type":"object"},{"description":"Currency: `BDT`","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"User’s nagad account number from which the transfer will be made","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"nagad_p2p","type":"object"},{"description":"Nayapay-l data (empty)\n                    \nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n                    \nFor example: `\"data\": {}`\n                    \nCurrency: `PKR`","title":"nayapay_l","type":"object"},{"properties":{"":{"description":"Currency: `GNF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":12,"pattern":"^224[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"orange_gin_p2p","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"orange_mli_p2p","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":12,"pattern":"^221[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"orange_sen_p2p","type":"object"},{"description":"Rocket inf P2P (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n                    \nCurrency: `BDT`","title":"p2p_rocket","type":"object"},{"description":"Pay&Go P2P data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `LKR`","title":"paygo_p2p","type":"object"},{"description":"PayTM data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"paytm","type":"object"},{"description":"PhonePe data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"phonepe","type":"object"},{"description":"Phonepe_fast data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"phonepe_fast","type":"object"},{"description":"Pix-p2p data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `BRL`","title":"pix_p2p","type":"object"},{"description":"Prk Bt P2P data (empty)\n\nThis deposit requires activation [Deposit activation by attachment](#operation/DepositActivationByAttachment)\n\nFor example: `\"data\": {}`\n\nCurrency: `PKR`","title":"pkr_bt_p2p","type":"object"},{"description":"Prex P2P data\n\nCurrency: `UYU`","properties":{"":{"description":"Currency: `UYU`","type":"Description:"},"account_number":{"description":"Customer Prex account number","maximum":9,"minimum":5,"pattern":"^[0-9]{5,9}$","type":"string"}},"required":["account_number"],"title":"prex_p2p","type":"object"},{"description":"Raast P2P Data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"customer_name":{"description":"Customer full name (Exactly like user's Bank Account Title)","maximum":60,"minimum":3,"pattern":"^(?=(?:\\s*[A-Za-z]){3,60}\\s*$)\\s*[A-Za-z]+(?:\\s+[A-Za-z]+)*\\s*$","type":"string"}},"required":["customer_name"],"title":"raast_p2p","type":"object"},{"description":"Scotiabank data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `JMD`","title":"scotiabank_p2p","type":"object"},{"description":"Spei-p2p data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `MXN`","title":"spei_p2p","type":"object"},{"description":"Currency: `BHD`","properties":{"":{"description":"Currency: `BHD`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":11,"minimum":11,"pattern":"^973[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"stcpay_p2p","type":"object"},{"description":"TAP-p2p data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `BDT`","title":"tap_p2p","type":"object"},{"description":"Telebirr Fast Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":12,"pattern":"^2519[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"telebirr_fast_p2p","type":"object"},{"description":"Tigo data","properties":{"":{"description":"Currency: `PYG`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":10,"minimum":10,"pattern":"^09[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"tigo_p2p","type":"object"},{"description":"UPAY data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"return_url":{"description":"Return link to the user's shop after the payment page","type":"string"}},"required":["return_url"],"title":"upay","type":"object"},{"description":"Upi-a data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"email":{"description":"Customer email","maximum":100,"minimum":1,"type":"string"},"name":{"description":"Customer name","maximum":100,"minimum":1,"type":"string"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":10,"pattern":"^[0-9]{10,12}$","type":"string"}},"required":["name","email","phone_number"],"title":"upi_a","type":"object"},{"description":"UPI Fast data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"upi_fast","type":"object"},{"description":"UPI Fast QR data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"upi_fast_qr","type":"object"},{"description":"UPI Fast V data (empty)\n                    \nFor example: `\"data\": {}`\n                    \nCurrency: `INR`","title":"upi_fast_v","type":"object"},{"description":"UPI Fast VIP data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"upi_fast_vip","type":"object"},{"description":"UPI Link data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"upi_link","type":"object"},{"description":"UPI-p2p data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `INR`","title":"upi_p2p","type":"object"},{"description":"UPI Push data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"upi_address":{"description":"UPI address","type":"string"}},"required":["upi_address"],"title":"upi_push","type":"object"},{"description":"Veripagos Fast data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `BOB`","title":"veripagos_fast","type":"object"},{"properties":{"":{"description":"The request must include an amount that is a multiple of 5. \nIf an amount that is not a multiple of 5 is sent, an error will occur\n\nCurrency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number from the Wave app","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"wave_mli_p2p","type":"object"},{"properties":{"":{"description":"The request must include an amount that is a multiple of 5. \nIf an amount that is not a multiple of 5 is sent, an error will occur\n\nCurrency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number from the Wave app","maximum":12,"minimum":12,"pattern":"^221[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"wave_sen_p2p","type":"object"},{"description":"Wavepay-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `MMK`","title":"wavepay_l","type":"object"},{"description":"Wing-l data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `KHR`","title":"wing_l","type":"object"},{"description":"Yape Bob P2P data (empty)\n\nFor example: `\"data\": {}`\n\nCurrency: `BOB`","title":"yape_bob_p2p","type":"object"},{"description":"Yape Pen P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `PEN`","title":"yape_pen_p2p","type":"object"},{"description":"Yappy P2P data (empty)\n\nThis deposit requires activation [Deposit activation](#operation/DepositActivation)\n\nFor example: `\"data\": {}`\n\nCurrency: `USD`","title":"yappy_p2p","type":"object"}]}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","order_id"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending"],"description":"Deposit status"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"},"data":{"description":"Data depending on the specific payment system","anyOf":[{"type":"object","description":"Ababank data","title":"ababank","properties":{"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"},"paymentpage_url":{"type":"string","description":"Ababank payment app deep link"}},"required":["qr_code","paymentpage_url"]},{"type":"object","title":"ach_p2p","description":"ACH Lafise P2P data","properties":{"amount_to_pay":{"type":"string","description":"Unique amount for payment"},"recipient_account_number":{"type":"string","pattern":"^[0-9]{1,20}$","minimum":1,"maximum":20,"description":"The recipient's bank account number for ACH transfer."},"receiver_full_name":{"type":"string","description":"The recipient's full name to which user must transfer the funds"}},"required":["amount_to_pay","recipient_account_number","receiver_full_name"]},{"type":"object","description":"ApayBDT data","title":"apaybdt","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Bancard data","title":"bancard_qr","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"bangla_qr","description":"Bangla QR data","properties":{"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["qr_code"]},{"type":"object","title":"banistmo_p2p","description":"Banistmo P2P P2P data","properties":{"receiver_full_name":{"type":"string","description":"The recipient's full name to which user must transfer the funds"},"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"receiver_account_type":{"type":"string","description":"The recipient's account type to which user must transfer the funds"}},"required":["receiver_full_name","receiver_account_number","receiver_account_type"]},{"type":"object","description":"BankAlfalah data","title":"bankalfalah","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"bcgeneral_p2p","description":"Bcgeneral P2P data","properties":{"account_name":{"type":"string","description":"Receiver account name"},"account_number":{"type":"string","description":"Receiver account number"}},"required":["account_name","account_number"]},{"type":"object","description":"BKash_a data","title":"bkash_a","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Bkash API V data","title":"bkash_api_v","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"BKash_b data","title":"bkash_b","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Bkash P2P data","title":"bkash_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"brou_p2p","description":"BROU P2P P2P data","properties":{"account_number":{"type":"string","description":"Account number of the recipient"},"account_name":{"type":"string","description":"Recipient’s account name in BROU"}},"required":["account_number","account_name"]},{"type":"object","title":"cbebirr_p2p","description":"Cbebirr P2P data","properties":{"phone_number":{"type":"string","description":"The phone number to which the user must send the transfer in the CBE Birr app (without country code)"},"paymentpage_url":{"type":"string","description":"USSD deeplink for payment"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["phone_number","paymentpage_url","qr_code"]},{"type":"object","description":"CVU Fast P2P data","title":"cvu_fast_p2p","properties":{"account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"amount_to_pay":{"type":"integer","description":"unique amount for payment"}},"required":["account_number","amount_to_pay"]},{"type":"object","title":"cvu_p2p","description":"CVU-p2p Data","properties":{"account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["account_number"]},{"type":"object","description":"D17_l data","title":"d17_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Easypaisa-l data","title":"easypaisa_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Egp Card Data","title":"egp_card","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"egp_tel","description":"Egp Tel Data","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Egp Tel Fast data","title":"egp_tel_fast","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Esewa data","title":"esewa","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"esewa_p2p","description":"eSewa P2P data","properties":{"receiver_account_number":{"type":"string","description":"The eSewa-s id to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"etb_fast","description":"Khalti_l data","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"etb_mpesa_p2p","description":"M-PESA ETH P2P data","properties":{"phone_number":{"type":"string","description":"The phone number to which the user must send the transfer in the M-PESA app (without country code)"},"paymentpage_url":{"type":"string","description":"USSD deeplink for payment"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["phone_number","paymentpage_url","qr_code"]},{"type":"object","description":"EGP P2P data","title":"etb_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"flouci_l","description":"Flouci L Data","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"fonepay_qr","description":"QR Fonepay data","properties":{"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["qr_code"]},{"type":"object","title":"fri_p2p","description":"FRI p2p data","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"imepay_l","description":"ImePay L Data","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"imps","description":"Imps data","properties":{"account_number":{"type":"string","description":"Account number"},"account_name":{"type":"string","description":"Account name"},"ifsc_code":{"type":"string","description":"Ifsc code"}},"required":["account_number","account_name","ifsc_code"]},{"type":"object","description":"INR-p2c data","title":"inr_p2c","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."},"phonepe_link":{"type":"string","description":"The `phonepe_link` parameter contains a deep link for all mobile devices except iOS. Opening this link redirects the user directly to the PhonePe application to complete the payment. `Optional`"},"phonepe_ios":{"type":"string","description":"The `phonepe_ios` parameter contains a deep link for iOS devices. Use this link to redirect the user directly to the PhonePe application. `Optional`"},"paytm_link":{"type":"string","description":"The `paytm_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the PayTM application to complete the payment. `Optional`"},"cred_link":{"type":"string","description":"The `cred_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the CRED application to complete the payment. `Optional`"}},"required":["paymentpage_url"]},{"type":"object","description":"INR-p2p data","title":"inr_p2p","properties":{"upi_address":{"type":"string","description":"UPI address"},"paymentpage_url":{"type":"string","description":"UPI deeplink which can be used to generate QR code. `Optional`"}},"required":["upi_address"]},{"type":"object","description":"Ipay Fast data","title":"ipay_fast","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"title":"ipay_l","description":"Ipay-l data","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Itau p2p data","title":"itau_p2p","properties":{"account_number":{"type":"string","description":"Número de cuenta del beneficiario en Itau"},"account_name":{"type":"string","description":"Nombre de la cuenta del beneficiario en Itau"}},"required":["account_number","account_name"]},{"type":"object","description":"Jazzcash-l data","title":"jazzcash_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"KBZpay P2P data","title":"kbzpay_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["receiver_account_number","qr_code"]},{"type":"object","description":"Khalti data","title":"khalti","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","title":"khalti_l","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"lkr_banktransfer data","title":"lkr_banktransfer","properties":{"receiver_bank_name":{"type":"string","description":"Receiver bank name"},"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"comment":{"type":"string","description":"Comment which must be inserted by a payer to the \"Fund transfer remarks\" field"}},"required":["receiver_bank_name","receiver_account_number","comment"]},{"type":"object","description":"Lanka QR data","title":"lkr_qr","properties":{"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["qr_code"]},{"type":"object","description":"Lynk P2P data","title":"lynk_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account id (Lynk ID) to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"mercado2_uyu_p2c","description":"Mercado2 UYU P2C data","properties":{"paymentpage_url":{"type":"string","description":"Deep link for payment in the Mercado Pago"}},"required":["paymentpage_url"]},{"type":"object","title":"mercado_ars_p2p","description":"MercadoPago P2P data","properties":{"account_number":{"type":"string","description":"The recipient’s сlave virtual uniforme (CVU) to receive the funds"},"paymentpage_url":{"type":"string","description":"Deep link for payment in the Mercado Pago app."}},"required":["account_number","paymentpage_url"]},{"type":"object","title":"mercado_uyu_p2c","description":"Mercado UYU P2C data","properties":{"paymentpage_url":{"type":"string","description":"Deep link for payment in the Mercado Pago"}},"required":["paymentpage_url"]},{"type":"object","title":"moov_mli_p2p","description":"Moov Money P2P data","properties":{"phone_number":{"type":"string","description":"Receiver phone number"}},"required":["phone_number"]},{"type":"object","description":"Nagad A","title":"nagad_a","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Nagad API V data","title":"nagad_api_v","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the  funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Nagad B","title":"nagad_b","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Nagad P2P data","title":"nagad_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Nayapay_l data","title":"nayapay_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"orange_gin_p2p","description":"Orange Money GIN p2p data","properties":{"phone_number":{"type":"string","description":"Receiver phone number"}},"required":["phone_number"]},{"type":"object","title":"orange_mli_p2p","description":"Orange Money MLI p2p data","properties":{"phone_number":{"type":"string","description":"Receiver phone number"},"paymentpage_url":{"type":"string","description":"Deep link for payment in the Orange Money app"}},"required":["phone_number","paymentpage_url"]},{"type":"object","title":"orange_sen_p2p","description":"Orange Money SEN p2p data","properties":{"phone_number":{"type":"string","description":"Receiver phone number"}},"required":["phone_number"]},{"type":"object","title":"p2p_rocket","description":"Rocket inf P2P data","properties":{"receiver_account_number":{"type":"string","pattern":"^[0-9]{12}$","minimum":12,"maximum":12,"description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"paygo_p2p","description":"Pay&Go P2P data","properties":{"amount_to_pay":{"type":"string","description":"The total amount to be paid by the user"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["amount_to_pay","qr_code"]},{"type":"object","description":"Paytm data","title":"paytm","properties":{"upi_address":{"type":"string","description":"UPI address"},"paymentpage_url":{"type":"string","description":"UPI deeplink which can be used to generate QR code. `Optional`"}},"required":["upi_address"]},{"type":"object","description":"Phonepe data","title":"phonepe","properties":{"upi_address":{"type":"string","description":"UPI address"},"paymentpage_url":{"type":"string","description":"UPI deeplink which can be used to generate QR code. `Optional`"}},"required":["upi_address"]},{"type":"object","description":"Phonepe_fast data","title":"phonepe_fast","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Phonepe_fast, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Phonepe` → phonepe://.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."}},"required":["paymentpage_url"]},{"type":"object","description":"Pix-p2p Link data","title":"pix_p2p","properties":{"paymentpage_url":{"type":"string","description":"Payment app deep link"}},"required":["paymentpage_url"]},{"type":"object","description":"Pkr Bt P2P data","title":"pkr_bt_p2p","properties":{"account_name":{"type":"string","description":"Receiver account name"},"account_number":{"type":"string","description":"Receiver account number"},"bank_name":{"type":"string","description":"Receiver bank name"}},"required":["account_name","account_number","bank_name"]},{"type":"object","title":"prex_p2p","description":"Prex P2P data","properties":{"account_number":{"type":"string","description":"The Prex account number to which the user must transfer the funds"},"qr_code":{"type":"string","description":"QR code data for payment in the Prex app"}},"required":["account_number","qr_code"]},{"type":"object","description":"Raast P2P data","title":"raast_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Scotiabank Link data","title":"scotiabank_p2p","properties":{"receiver_transit_number":{"type":"string","description":"Receiver transit number"},"receiver_account_number":{"type":"string","description":"Receiver account number"}},"required":["receiver_transit_number","receiver_account_number"]},{"type":"object","description":"Spei-p2p Link data","title":"spei_p2p","properties":{"receiver_bank_name":{"type":"string","description":"Receiver bank name"},"receiver_account_number":{"type":"string","description":"Receiver account number"}},"required":["receiver_bank_name","receiver_account_number"]},{"type":"object","description":"Stc Pay P2P data","title":"stcpay_p2p","properties":{"recipient_iban_number":{"type":"string","description":"Receiver IBAN number"}},"required":["recipient_iban_number"]},{"type":"object","description":"Tap P2P data","title":"tap_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","description":"Telebirr Fast Data","title":"telebirr_fast_p2p","properties":{"receiver_phone_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_phone_number"]},{"type":"object","description":"Tigo data","title":"tigo_p2p","properties":{"phone_number":{"type":"string","description":"Receiver phone number"},"paymentpage_url":{"type":"string","description":"USSD deeplink for payment"}},"required":["phone_number","paymentpage_url"]},{"type":"object","description":"UPAY data","title":"upay","properties":{"paymentpage_url":{"type":"string","description":"Link to payment page"}},"required":["paymentpage_url"]},{"type":"object","description":"Upi-a data","title":"upi_a","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."}},"required":["paymentpage_url"]},{"type":"object","description":"UPI Fast data","title":"upi_fast","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."},"phonepe_link":{"type":"string","description":"The `phonepe_link` parameter contains a deep link for all mobile devices except iOS. Opening this link redirects the user directly to the PhonePe application to complete the payment. `Optional`"},"phonepe_ios":{"type":"string","description":"The `phonepe_ios` parameter contains a deep link for iOS devices. Use this link to redirect the user directly to the PhonePe application. `Optional`"},"paytm_link":{"type":"string","description":"The `paytm_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the PayTM application to complete the payment. `Optional`"},"cred_link":{"type":"string","description":"The `cred_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the CRED application to complete the payment. `Optional`"}},"required":["paymentpage_url"]},{"type":"object","description":"UPI Fast QR data","title":"upi_fast_qr","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast_qr, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse this links converted to QR in the desktop and mobile version."}},"required":["paymentpage_url"]},{"type":"object","description":"UPI Fast V data","title":"upi_fast_v","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."},"phonepe_link":{"type":"string","description":"The `phonepe_link` parameter contains a deep link for all mobile devices except iOS. Opening this link redirects the user directly to the PhonePe application to complete the payment. `Optional`"},"phonepe_ios":{"type":"string","description":"The `phonepe_ios` parameter contains a deep link for iOS devices. Use this link to redirect the user directly to the PhonePe application. `Optional`"},"paytm_link":{"type":"string","description":"The `paytm_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the PayTM application to complete the payment. `Optional`"},"cred_link":{"type":"string","description":"The `cred_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the CRED application to complete the payment. `Optional`"}},"required":["paymentpage_url"]},{"type":"object","description":"UPI Fast VIP data","title":"upi_fast_vip","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_fast_vip, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."}},"required":["paymentpage_url"]},{"type":"object","description":"UPI Link data","title":"upi_link","properties":{"paymentpage_url":{"type":"string","description":"UPI payment app deep link\n\nOur system, using the method Upi_link, sends a link of the form `upi://`,\nwhich in theory should lead to the opening of the desired application on mobile OS.\nBut, on mobile OSs, there are cases when the universal link doesn't work and opens the wrong application.\nTo fix it you can use the solution on your side:\n[https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android](https://stackoverflow.com/questions/65273125/invoking-upi-apps-from-my-react-native-app-works-in-ios-but-not-in-android),\ni.e. for the specified mobile applications write the exact link → replacing `upi://` from the link with the following data for mobile solutions:\n\n- `Paytm` → paytmmp://;\n- `Phonepe` → phonepe://;\n- `GPay` → tez://upi/.\n\nAnd let the user select the desired solution first and then get the link for the specific app.\nUse the payment app links in the mobile version. Use the same links converted to QR in the desktop version."},"phonepe_link":{"type":"string","description":"The `phonepe_link` parameter contains a deep link for all mobile devices except iOS. Opening this link redirects the user directly to the PhonePe application to complete the payment"},"phonepe_ios":{"type":"string","description":"The `phonepe_ios` parameter contains a deep link for iOS devices. Use this link to redirect the user directly to the PhonePe application."},"paytm_link":{"type":"string","description":"The `paytm_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the PayTM application to complete the payment."},"cred_link":{"type":"string","description":"The `cred_link` parameter contains a deep link for all mobile devices. Opening this link redirects the user directly to the CRED application to complete the payment. `Optional`"}},"required":["universal_link","phonepe_link","phonepe_ios","paytm_link"]},{"type":"object","description":"UPI p2p data","title":"upi_p2p","properties":{"upi_address":{"type":"string","description":"UPI address"},"paymentpage_url":{"type":"string","description":"UPI deeplink which can be used to generate QR code. `Optional`"}},"required":["upi_address"]},{"type":"object","title":"veripagos_fast","description":"Veripagos Fast p2c data","properties":{"qr_code":{"type":"string","description":"QR code image in Base64 (PNG format). Use data:image/png;base64,{value} to display it."}},"required":["qr_code"]},{"type":"object","title":"wave_mli_p2p","description":"Wave Mli p2p data","properties":{"receiver_phone_number":{"type":"string","description":"Receiver phone number"}},"required":["receiver_phone_number"]},{"type":"object","title":"wave_sen_p2p","description":"The request must include an amount that is a multiple of 5. \\nIf an amount that is not a multiple of 5 is sent, an error will occur\\n\\nCurrency: `XOF`","properties":{"receiver_phone_number":{"type":"string","description":"Receiver phone number"},"receiver_account_name":{"type":"string","description":"Receiver account name"}},"required":["receiver_account_name","receiver_phone_number","phone_number"]},{"type":"object","description":"Wavepay_l data","title":"wavepay_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["receiver_account_number","qr_code"]},{"type":"object","description":"Wing_l data","title":"wing_l","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["receiver_account_number","qr_code"]},{"type":"object","description":"Yape Bob P2P data","title":"yape_bob_p2p","properties":{"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"},"amount_to_pay":{"type":"integer","description":"unique amount for payment"}},"required":["qr_code","amount_to_pay"]},{"type":"object","description":"Yape Pen P2P data","title":"yape_pen_p2p","properties":{"receiver_account_number":{"type":"string","description":"The recipient's account number to which user must transfer the funds"}},"required":["receiver_account_number"]},{"type":"object","title":"yappy_p2p","description":"Yappy P2P data","properties":{"phone_number":{"type":"string","description":"The phone number to which the user must send the transfer in the Yappy app (without country code)"},"qr_code":{"type":"string","description":"Generate the QR with this data and display the code in your interface"}},"required":["qr_code","phone_number"]}]}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"amount of deposit is out of limits","description":"amount of deposit is out of limits","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Deposit amount exceeds the `min_deposit` or `max_deposit` [limit](#tag/Payment-system/paths/~1Remotes~1payment-systems-info/get)","default":"amount of deposit is out of limits"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"transaction failed","description":"transaction_failed","required":["success","message","code","order_id"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"failed to create transaction","default":"transaction_failed"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"}}},{"title":"payment system data is not valid","description":"payment system data is not valid","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in field `data`","default":"payment system data is not valid"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in request body or parameters","default":"required field missing"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"no payment system found with such params or payment system is disabled","description":"no payment system found with such params or payment system is disabled","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Payment system not found or has been disabled","default":"no payment system found with such params or payment system is disabled"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"there are no active end accounts","description":"there are no active end accounts","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Failed to create deposit: there are no active end accounts","default":"there are no active end accounts"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"limit of Failed Requests Exceeded","description":"limit of failed requests exceeded","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Deposits are blocked after some failed deposit attempts within the same hour, identified by `custom_user_id`","default":"limit of failed requests exceeded"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"Easypaisa","description":"easypaisa","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"oneOf":[{"type":"string","default":"too many requests","title":"too many requests","description":"No more than two requests per minute allowed per `account number`."},{"type":"string","default":"limit of failed requests exceeded","title":"limit of failed requests exceeded","description":"Deposits are blocked for 24 hours after three failed deposit attempts within the same hour, identified by `account_number`."}]},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}}}}}}}
```

In order for the request to be created correctly, it is necessary to comply with the documentation requirements: all required fields must be present in the request, and field validation must be observed.&#x20;

In a deposit request, the client must send the following information:

* **project\_id** - project id in the A-pay platform, the parameter can be found in the projects table next to the project name.
* **amount** - deposit amount in integer
* **currency** - currency of the payment system
* **payment\_system** - name of the payment system from A-pay platform
* **custom\_transaction\_id** - unique transaction identifier in the client's system
* **custom\_user\_id** - unique user identifier in the client's system
* **data** - additional data depending on the PS[^1]. To find out what data should be sent, you should click on data and select the necessary PS. These data will be specified [here](https://api.a-pay.one/#tag/Deposit/paths/~1Remotes~1create-deposit/post)

{% hint style="info" %}
Each payment system requires certain information to be sent. Please read our API carefully!
{% endhint %}

### Responses

Below is information about our server's responses to such requests, as well as the data that our server sends to the client in response. The response can be both successful and unsuccessful.

Our server sends the following data to the client in the request:&#x20;

* **success** - a parameter that is responsible for whether the response is successful or not
* **status** - status of the deposit creation
* **order\_id** - our internal unique order, which is assigned to each transaction&#x20;
* **data** - additional data that depends on the PS. To find out what data should be sent, you need to click on data and select the desired PS. This data will be spelled out [here](https://api.a-pay.one/#tag/Deposit/paths/~1Remotes~1create-deposit/post) in the response section. In this case, it is a link to the deposit payment

{% hint style="info" %}
Each payment system returns different information to the client. Please read our API carefully!
{% endhint %}

**Examples of the responses:**

{% code title="Success" %}

```json
{
  "success": true,
  "status": "Pending",
  "order_id": "7fa13dbc3b79e05e",
  "data": {
    "paymentpage_url": "string"
  }
}
```

{% endcode %}

{% code title="Error" %}

```json
{
  "success": false,
  "message": "Invalid request",
  "status": "Failed",
  "code": 400,
  "order_id": "7fa13dbc3b79e05e"
}
```

{% endcode %}

[^1]: Payment System


# Deposit Activation

Some payment systems also provide activation of deposits. In simple words, 2 more actions are added to the request processing.

## Deposit activation

> For payment system that require payment activation

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Deposit","description":"Deposits"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/deposit-activate":{"post":{"tags":["Deposit"],"summary":"Deposit activation","operationId":"DepositActivation","description":"For payment system that require payment activation","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true},{"in":"query","name":"order_id","schema":{"type":"string"},"description":"Deposit ID in the A-Pay system","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["payment_system","data"],"properties":{"payment_system":{"type":"string","enum":["banistmo_p2p","bcgeneral_p2p","bkash_a","bkash_b","bkash_p2p","brou_p2p","d17_l","easypaisa_l","esewa_p2p","etb_p2p","flouci_l","imepay_l","imps","inr_p2p","ipay_l","itau_p2p","jazzcash_l","kbzpay_p2p","khalti_l","lynk_p2p","mercado_ars_p2p","nayapay_l","p2p_rocket","paytm","phonepe","scotiabank_p2p","tap_p2p","upi_p2p","wavepay_l","wing_l","yape_pen_p2p","yappy_p2p"],"description":"Name of the payment system in A-Pay"},"data":{"description":"Data depending on the specific payment system","anyOf":[{"description":"Banistmo P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":8,"minimum":8,"pattern":"^[0-9]{8}$","type":"string"}},"required":["key"],"title":"banistmo_p2p","type":"object"},{"description":"Bcgeneral P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":14,"minimum":10,"pattern":"^[0-9]{10,14}$","type":"string"}},"required":["key"],"title":"bcgeneral_p2p","type":"object"},{"description":"BKash_a data (empty)\n\nFor example: `\"data\": {}`","title":"bkash_a","type":"object"},{"description":"BKash_b data (empty)\n\nFor example: `\"data\": {}`","title":"bkash_b","type":"object"},{"description":"Bkash P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":10,"minimum":10,"pattern":"^[A-Za-z]{2}[0-9A-Za-z]{8}$","type":"string"}},"required":["key"],"title":"bkash_p2p","type":"object"},{"description":"BROU P2P data","properties":{"key":{"description":"The last 10 digits of the activation code (Transaction ID) received from the user","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["key"],"title":"brou_p2p","type":"object"},{"description":"D17_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":6,"minimum":6,"pattern":"^[0-9]{6}$","type":"string"}},"required":["key"],"title":"d17_l","type":"object"},{"properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"easypaisa_l"},{"description":"eSewa P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":11,"minimum":7,"pattern":"^[0-9A-Za-z]{7,11}$","type":"string"}},"required":["key"],"title":"esewa_p2p","type":"object"},{"description":"ETB P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":10,"minimum":6,"pattern":"^[0-9A-Z]{6,10}$","type":"string"}},"required":["key"],"title":"etb_p2p","type":"object"},{"description":"Flouci L data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":10,"minimum":6,"pattern":"^[0-9A-Z]{6,10}$","type":"string"}},"required":["key"],"title":"flouci_l","type":"object"},{"description":"ImePay L data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":18,"minimum":18,"pattern":"^[0-9]{18}$","type":"string"}},"required":["key"],"title":"imepay_l","type":"object"},{"description":"Imps data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"imps","type":"object"},{"description":"INR-p2p data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"inr_p2p","type":"object"},{"description":"Ipai_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","pattern":"^[0-9]+$","type":"string"}},"required":["key"],"title":"ipay_l","type":"object"},{"description":"Itau p2p data","properties":{"key":{"description":"Identificador de la transacción (Número de comprobante)","maximum":10,"minimum":6,"pattern":"^[0-9]{6,10}$","type":"string"}},"required":["key"],"title":"itau_p2p","type":"object"},{"description":"Jazzcash-l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"jazzcash_l","type":"object"},{"description":"KBZpay P2P data","properties":{"key":{"description":"The last 7 digits of the activation code (Transaction No) received from the user","maximum":7,"minimum":7,"pattern":"^[0-9]{7}$","type":"string"}},"required":["key"],"title":"kbzpay_p2p","type":"object"},{"description":"Khalti_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":12,"minimum":8,"pattern":"^[A-Za-z0-9]{8,12}","type":"string"}},"required":["key"],"title":"khalti_l","type":"object"},{"description":"Lynk P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":21,"minimum":2,"pattern":"^#[0-9]{1,20}$","type":"string"}},"required":["key"],"title":"lynk_p2p","type":"object"},{"description":"MercadoPago P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":10,"pattern":"^[0-9]{10,22}$","type":"string"}},"required":["key"],"title":"mercado_ars_p2p","type":"object"},{"description":"Nayapay_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":50,"minimum":1,"pattern":"^[0-9a-z]{1,50}$","type":"string"}},"required":["key"],"title":"nayapay_l","type":"object"},{"description":"Rocket inf P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["key"],"title":"p2p_rocket","type":"object"},{"description":"PayTM data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"paytm","type":"object"},{"description":"PhonePe data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"phonepe","type":"object"},{"description":"Scotiabank data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":8,"minimum":8,"pattern":"^[0-9A-Za-z]{8}$","type":"string"}},"required":["key"],"title":"scotiabank_p2p","type":"object"},{"description":"Tap P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":14,"minimum":14,"pattern":"^[cC]{1}[0-9a-zA-Z]{13}$","type":"string"}},"required":["key"],"title":"tap_p2p","type":"object"},{"description":"UPI p2p data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"upi_p2p","type":"object"},{"description":"Wavepay_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":22,"minimum":1,"pattern":"^[0-9]{1,22}$","type":"string"}},"required":["key"],"title":"wavepay_l","type":"object"},{"description":"Wing_l data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":20,"minimum":1,"pattern":"^[0-9A-Z]{1,20}$","type":"string"}},"required":["key"],"title":"wing_l","type":"object"},{"description":"Yape Pen P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":8,"minimum":8,"pattern":"^[0-9A-Za-z]{8}$","type":"string"}},"required":["key"],"title":"yape_pen_p2p","type":"object"},{"description":"Yappy P2P data","properties":{"key":{"description":"A code on which activation is performed (Transaction ID), received from the user","maximum":20,"minimum":10,"pattern":"^#?(?=.{10,20}$)[A-Za-z]+-?[0-9]+$","type":"string"}},"required":["key"],"title":"yappy_p2p","type":"object"}]}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","order_id"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"},"data":{"type":"object","description":"Payment system specific data"}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"transaction failed","description":"transaction_failed","required":["success","message","code","order_id"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Failed to activate transaction","default":"transaction_failed"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"}}},{"title":"payment system data is not valid","description":"payment system data is not valid","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in field `data`","default":"payment system data is not valid"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in request body or parameters","default":"required field missing"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"invalid payment system","description":"invalid payment system","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Payment system does not support activation","default":"invalid payment system"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"user already activated this transaction","description":"user already activated this transaction","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"User already activated this transaction","default":"user already activated this transaction"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"transaction already activated by another user","description":"transaction already activated by another user","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Transaction already activated by another user","default":"transaction already activated by another user"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","title":"Transaction was not found","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":404},"message":{"type":"string","default":"invalid order","description":"Transaction was not found"}},"required":["code","error","success","message"]}}}}}}}}}
```

A perfect example of a payment system that provides for activation is upi\_p2p. Let's analyze an example of request processing and activation:

1. We see that activation is required for this PS in [Request to create a deposit](/api-documentation/api-integration/deposit/request-to-create-a-deposit).
2. [Here](https://api.a-pay.one/#tag/Deposit/operation/DepositActivation) we can see that in this PS A-pay sends the UPI address parameter to the client after processing the request. In this case, it means that A-pay sends the address to which the user needs to transfer money in Responses.
3. After the user has transferred money, he must activate his deposit. It transmits the necessary information to the client server. For upi\_p2p this is the Transaction ID (UTR). The client server sends to A-pay an activation request, in which certain data is transmitted. After that, A-pay processes the activation request and responds to the client with success or failure, depending on the situation.

**Examples of the responses:**

{% code title="Success" %}

```json
{
  "success": true,
  "order_id": "7fa13dbc3b79e05e",
  "data": {
    "verify_otp": true,
    "require_new_otp": false
  }
}
```

{% endcode %}

{% code title="Error" %}

```json
{
  "success": false,
  "message": "Invalid request",
  "code": 400,
  "order_id": "7fa13dbc3b79e05e"
}
```

{% endcode %}


# Deposit information

## Deposit information

> \`order\_id\` or/and \`custom\_transaction\_id\` parameters must be set.

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Deposit","description":"Deposits"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"deposit_currency":{"type":"string","title":"Currency","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"],"description":"<details>\n  <summary>Payment system currency</summary>\n  \n  | Currency | Payment systems | Decimal places |\n  |----------|-----------------|----------------|\n  | ARS | `cvu_fast_p2p`, `cvu_p2p`, `mercado_ars_p2p` | `0` |\n  | BDT | `apaybdt`, `bangla_qr`, `bkash_a`, `bkash_api_v`, `bkash_b`, `bkash_p2p`, `nagad_a`, `nagad_api_v`, `nagad_b`, `nagad_p2p`, `p2p_rocket`, `tap_p2p`, `upay` | `0` |\n  | BHD | `stcpay_p2p` | `3` e.g. 0.001 |\n  | BOB | `veripagos_fast`, `yape_bob_p2p` | `0` |\n  | BRL | `pix_p2p` | `0` |\n  | EGP | `egp_card`, `egp_fast`, `egp_tel`, `egp_tel_fast` | `0` |\n  | ETB | `cbebirr_p2p`, `etb_fast`, `etb_mpesa_p2p`, `etb_p2p`, `telebirr_fast_p2p` | `0` |\n  | GNF | `orange_gin_p2p` | `0` |\n  | GTQ | `fri_p2p` | `2` e.g. 0.01 |\n  | INR | `imps`, `inr_p2c`, `inr_p2p`, `paytm`, `phonepe`, `phonepe_fast`, `upi_a`, `upi_fast`, `upi_fast_qr`, `upi_fast_v`, `upi_fast_vip`, `upi_link`, `upi_p2p`, `upi_push` | `0` |\n  | JMD | `lynk_p2p`, `scotiabank_p2p` | `0` |\n  | KES | `mpesa` | `0` |\n  | KHR | `ababank`, `wing_l` | `0` |\n  | LKR | `ipay_fast`, `ipay_l`, `lkr_banktransfer`, `lkr_qr`, `paygo_p2p` | `0` |\n  | MMK | `kbzpay_p2p`, `wavepay_l` | `0` |\n  | MXN | `spei_p2p` | `0` |\n  | NIO | `ach_p2p` | `2` e.g. 0.01 |\n  | NPR | `esewa`, `esewa_p2p`, `fonepay_qr`, `imepay_l`, `khalti`, `khalti_l` | `0` |\n  | PEN | `yape_pen_p2p` | `0` |\n  | PKR | `bankalfalah`, `easypaisa`, `easypaisa_l`, `jazzcash`, `jazzcash_fast`, `jazzcash_l`, `nayapay_l`, `pkr_bt_p2p`, `raast_p2p` | `0` |\n  | PYG | `bancard_qr`, `itau_p2p`, `tigo_p2p` | `0` |\n  | TND | `d17_l`, `flouci`, `flouci_l` | `0` |\n  | USD | `banistmo_p2p`, `bcgeneral_p2p`, `yappy_p2p` | `2` e.g. 0.01 |\n  | UYU | `brou_p2p`, `mercado2_uyu_p2c`, `mercado_uyu_p2c`, `prex_p2p` | `0` |\n  | XOF | `moov_mli_p2p`, `orange_mli_p2p`, `orange_sen_p2p`, `wave_mli_p2p`, `wave_sen_p2p` | `0` |\n</details>"},"ps_deposit":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","bangla_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_fast_p2p","cvu_p2p","d17_l","easypaisa","easypaisa_l","egp_card","egp_fast","egp_tel","egp_tel_fast","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","flouci","flouci_l","fonepay_qr","fri_p2p","imepay_l","imps","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_fast","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lkr_banktransfer","lkr_qr","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nagad_p2p","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paygo_p2p","paytm","phonepe","phonepe_fast","pix_p2p","pkr_bt_p2p","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Name of the payment system in A-Pay"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/deposit-info":{"get":{"tags":["Deposit"],"summary":"Deposit information","description":"`order_id` or/and `custom_transaction_id` parameters must be set.","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true},{"in":"query","name":"order_id","schema":{"type":"string","minimum":16,"maximum":16,"pattern":"^[0-9a-f]{16}$"},"description":"Deposit ID in the A-Pay system"},{"in":"query","name":"custom_transaction_id","schema":{"type":"string","maximum":200},"description":"Transaction ID in the client's system"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","status","order_id","amount","currency","payment_system","custom_user_id","created_at"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending","Success","Failed","Rejected"],"description":"Deposit status"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"},"amount":{"type":"number","description":"Deposit amount"},"currency":{"$ref":"#/components/schemas/deposit_currency"},"payment_system":{"$ref":"#/components/schemas/ps_deposit"},"custom_transaction_id":{"type":"string","minimum":0,"maximum":200,"description":"Transaction ID in the client's system"},"custom_user_id":{"type":"string","minimum":0,"maximum":200,"description":"User ID in the client's system"},"created_at":{"type":"integer","description":"Deposit creation time in timestamp format"}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in request body or parameters","default":"required field missing"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","title":"Transaction was not found","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":404},"message":{"type":"string","default":"invalid order","description":"Transaction was not found"}},"required":["code","error","success","message"]}}}}}}}}}
```

**Example of the responses:**

{% code title="Success" %}

```json
{
  "success": true,
  "status": "Success",
  "order_id": "7fa13dbc3b79e05e",
  "amount": 10,
  "currency": "INR",
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "created_at": 1665135515
}
```

{% endcode %}

{% code title="Error" %}

```json
{
  "success": false,
  "message": "Invalid request",
  "code": 400
}
```

{% endcode %}


# Withdrawal

<figure><img src="https://581082779-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdRt6CV4HPvnslXUaqL9U%2Fuploads%2FZszz3nNLwFxxqlP6ugAw%2Fimage.png?alt=media&amp;token=bb3358ea-4146-48e2-82d1-4ac2dfc271be" alt=""><figcaption><p>Sequence diagram of the Withdrawal via API integration</p></figcaption></figure>

### Request to create a withdrawal

The section is similar to the [**Request to create a deposit**](#request-to-create-a-withdrawal) section. Only the data required to create a withdrawal request will change.

## Request to create a withdrawal

> Withdrawal creation.\
> \
> When the withdrawal is confirmed, a callback request will be sent to the client's application handler with the \[Withdrawal webhook]\(#operation/WithdrawalWebhook) body

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Withdrawal","description":"Withdrawals"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"withdrawal_currency":{"type":"string","title":"Currency","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"],"description":"<details>\n  <summary>Payment system currency</summary>\n  \n  | Currency | Payment systems | Decimal places |\n  |----------|-----------------|----------------|\n  | ARS | `cvu_p2p`, `mercado_ars_p2p` | `0` |\n  | BDT | `apaybdt`, `bkash_a`, `bkash_api_v`, `bkash_b`, `bkash_p2p`, `nagad_a`, `nagad_api_v`, `nagad_b`, `p2p_rocket`, `tap_p2p`, `upay`, `upay_w` | `0` |\n  | BHD | `stcpay_p2p` | `3` e.g. 0.001 |\n  | BOB | `veripagos_fast`, `yape_bob_p2p` | `0` |\n  | BRL | `pix_p2p` | `0` |\n  | EGP | `egp_card`, `egp_fast`, `egp_tel` | `0` |\n  | ETB | `cbebirr_p2p`, `etb_fast`, `etb_mpesa_p2p`, `etb_p2p`, `telebirr_fast_p2p` | `0` |\n  | GNF | `orange_gin_p2p` | `0` |\n  | GTQ | `fri_p2p` | `2` e.g. 0.01 |\n  | INR | `imps`, `imps_top`, `inr_p2c`, `inr_p2p`, `paytm`, `phonepe`, `phonepe_fast`, `upi_a`, `upi_fast`, `upi_fast_qr`, `upi_fast_v`, `upi_fast_vip`, `upi_link`, `upi_p2p`, `upi_push` | `0` |\n  | JMD | `lynk_p2p`, `scotiabank_p2p` | `0` |\n  | KES | `mpesa` | `0` |\n  | KHR | `ababank`, `wing_l` | `0` |\n  | LKR | `ipay_fast`, `ipay_l` | `0` |\n  | MMK | `kbzpay_p2p`, `wavepay_l` | `0` |\n  | MXN | `spei_p2p` | `0` |\n  | NIO | `ach_p2p` | `2` e.g. 0.01 |\n  | NPR | `esewa`, `esewa_p2p`, `imepay_l`, `khalti`, `khalti_l` | `0` |\n  | PEN | `yape_pen_p2p` | `0` |\n  | PKR | `bankalfalah`, `easypaisa`, `jazzcash`, `jazzcash_l`, `nayapay_l`, `pkr_w`, `pkr_w2`, `raast_p2p` | `0` |\n  | PYG | `bancard_qr`, `itau_p2p`, `tigo_p2p` | `0` |\n  | TND | `d17_l`, `flouci`, `flouci_l` | `0` |\n  | USD | `banistmo_p2p`, `bcgeneral_p2p`, `yappy_p2p` | `2` e.g. 0.01 |\n  | UYU | `brou_p2p`, `mercado2_uyu_p2c`, `mercado_uyu_p2c`, `prex_p2p` | `0` |\n  | XOF | `moov_mli_p2p`, `orange_mli_p2p`, `orange_sen_p2p`, `wave_mli_p2p`, `wave_sen_p2p` | `0` |\n</details>"},"ps_withdrawal":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_p2p","d17_l","easypaisa","egp_card","egp_fast","egp_tel","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","flouci","flouci_l","fri_p2p","imepay_l","imps","imps_top","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paytm","phonepe","phonepe_fast","pix_p2p","pkr_w","pkr_w2","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upay_w","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Name of the payment system in A-Pay"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/create-withdrawal":{"post":{"tags":["Withdrawal"],"summary":"Request to create a withdrawal","description":"Withdrawal creation.\n\nWhen the withdrawal is confirmed, a callback request will be sent to the client's application handler with the [Withdrawal webhook](#operation/WithdrawalWebhook) body","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["amount","currency","payment_system","custom_user_id","data"],"properties":{"amount":{"description":"Withdrawal amount\n\nPayment systems support different amount formats. `integer` or `number`\n","oneOf":[{"type":"integer","description":"Currencies that accept `integer` type","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"]},{"type":"number","description":"Currencies that accept `number` type","enum":["BHD","GTQ","NIO","USD"]}]},"currency":{"$ref":"#/components/schemas/withdrawal_currency"},"payment_system":{"$ref":"#/components/schemas/ps_withdrawal"},"custom_transaction_id":{"type":"string","maximum":200,"description":"Transaction ID in the client's system. Must be unique. `Optional`"},"custom_user_id":{"type":"string","maximum":200,"description":"User ID in the client's system. Must be unique for each user"},"webhook_id":{"type":"string","minimum":7,"maximum":7,"description":"Id of a webhook that will be used to send a postback. If not filled then default webhook url will be used. `Optional`"},"data":{"description":"Data depending on the specific payment system","anyOf":[{"description":"Ababank data","properties":{"":{"description":"Currency: `KHR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":50,"type":"string"},"account_number":{"description":"Account number","maximum":13,"minimum":9,"pattern":"^[0-9]{9,10}$|^[0-9]{13}$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n| №   | Bank Name                                                     |\n| --- | ------------------------------------------------------------- |\n| 1   | ABA Bank                                                      |\n| 2   | ACLEDA Bank                                                   |\n| 3   | Agribank (Vietnam Bank for Agriculture and Rural Development) |\n| 4   | Agricultural and Rural Development Bank (ARDB)                |\n| 5   | Alpha Commercial Bank                                         |\n| 6   | Asia-Pacific Development Bank                                 |\n| 7   | B.I.C (Cambodia) Bank                                         |\n| 8   | Bangkok Bank                                                  |\n| 9   | Bank for Investment and Development of Cambodia (BIDC)        |\n| 10  | Bank of China                                                 |\n| 11  | Booyoung Khmer Bank                                           |\n| 12  | BRED Bank                                                     |\n| 13  | Bridge Bank                                                   |\n| 14  | Cambodia Asia Bank                                            |\n| 15  | Cambodia Post Bank                                            |\n| 16  | Cambodian Commercial Bank                                     |\n| 17  | Cambodian Public Bank                                         |\n| 18  | Canadia Bank                                                  |\n| 19  | Cathay United Bank                                            |\n| 20  | CCU Commercial Bank                                           |\n| 21  | Chief (Cambodia) Commercial Bank                              |\n| 22  | Chip Mong Bank                                                |\n| 23  | CIMB Bank                                                     |\n| 24  | DGB Bank                                                      |\n| 25  | First Commercial Bank                                         |\n| 26  | Foreign Trade Bank of Cambodia (FTB)                          |\n| 27  | Hattha Bank                                                   |\n| 28  | Heng Feng (Cambodia) Bank                                     |\n| 29  | Heng He (Cambodia) Commercial Bank                            |\n| 30  | Hong Leong Bank                                               |\n| 31  | ICBC                                                          |\n| 32  | Industrial Bank of Korea                                      |\n| 33  | J Trust Royal Bank                                            |\n| 34  | Kasikornbank (KBank)                                          |\n| 35  | KB Prasac Bank                                                |\n| 36  | Krung Thai Bank                                               |\n| 37  | Maybank                                                       |\n| 38  | MB Bank                                                       |\n| 39  | Mega International Commercial Bank                            |\n| 40  | Mizuho Bank                                                   |\n| 41  | Oriental Bank                                                 |\n| 42  | Panda Commercial Bank                                         |\n| 43  | Phillip Bank                                                  |\n| 44  | Phnom Penh Commercial Bank (PPCBank)                          |\n| 45  | Prince Bank                                                   |\n| 46  | RHB Bank                                                      |\n| 47  | Rui Li (Cambodia) Bank                                        |\n| 48  | Sacombank (Cambodia)                                          |\n| 49  | Saigon-Hanoi Bank (SHB)                                       |\n| 50  | Sathapana Bank                                                |\n| 51  | SBI Ly Hour Bank                                              |\n| 52  | Shinhan Bank                                                  |\n| 53  | SME Bank of Cambodia                                          |\n| 54  | Taiwan Cooperative Bank                                       |\n| 55  | Union Commercial Bank                                         |\n| 56  | Vattanac Bank                                                 |\n| 57  | Wing Bank                                                     |\n| 58  | Woori Bank                                                    |\n</details>","maximum":100,"minimum":1,"pattern":"^[a-zA-Z.() -]{1,100}$","type":"string"}},"required":["account_name","account_number","bank_name"],"title":"ababank","type":"object"},{"description":"ACH Lafise P2P data","properties":{"":{"description":"Currency: `NIO`","type":"Description:"},"receiver_full_name":{"description":"The recipient's full name to which the funds will be transferred","maximum":50,"minimum":1,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{1,50}$","type":"string"},"recipient_account_number":{"description":"The recipient's bank account number for ACH transfer.","maximum":20,"minimum":1,"pattern":"^[0-9]{1,20}$","type":"string"}},"required":["recipient_account_number","receiver_full_name"],"title":"ach_p2p","type":"object"},{"description":"ApayBDT data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^0[0-9]{11}$","type":"string"}},"required":["account_email","account_number"],"title":"apaybdt","type":"object"},{"description":"Bancard QR Withdrawal data","properties":{"":{"description":"Currency: `PYG`","type":"Description:"},"account_name":{"description":"Recipient's full name (as indicated in the recipient's bank)","maximum":100,"minimum":5,"pattern":"^(?=.{5,100}$)([A-Za-zÁÉÍÓÚáéíóúÑñ]+(?: [A-Za-zÁÉÍÓÚáéíóúÑñ]+){1,7})$","type":"string"},"account_number":{"description":"Recipient's bank account number","maximum":20,"minimum":5,"pattern":"^[0-9]{5,20}$","type":"string"},"bank_name":{"description":"Name of the recipient's bank","maximum":50,"minimum":3,"pattern":"^[A-Za-zÁÉÍÓÚÜáéíóúüÑñ. ]{3,50}$","type":"string"},"ci_number":{"description":"Cedula de identidad paraguaya of the recipient number","maximum":8,"minimum":5,"pattern":"^[0-9]{5,8}$","type":"string"}},"required":["bank_name","account_number","account_name","ci_number"],"title":"bancard_qr","type":"object"},{"description":"Banistmo P2P data","properties":{"":{"description":"Currency: `USD`","type":"Description:"},"receiver_account_number":{"description":"The recipient's account number to which the funds will be transferred.","maximum":10,"minimum":10,"pattern":"^[014]{1}[0-9]{9}$","type":"string"},"receiver_account_type":{"description":"The recipient's account type to which the funds will be transferred","enum":["Cuenta de ahorros","Cuenta corriente"],"pattern":"^(Cuenta de ahorros|Cuenta corriente)$","type":"string"},"receiver_full_name":{"description":"Full name of the recipient to whom the funds will be transferred.","maximum":50,"minimum":1,"pattern":"^[A-Za-zÁÉÍÓÚÜÑÀÈÉÍÏÒÓÚÜÇáéíóúüñàèéíïòóúüç ]{1,50}$","type":"string"}},"required":["receiver_full_name","receiver_account_number","receiver_account_type"],"title":"banistmo_p2p","type":"object"},{"description":"Bankalfalah data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"Account number","maximum":18,"minimum":6,"pattern":"^[0-9]{6,18}$","type":"string"},"account_title":{"description":"Receiver account name","maximum":50,"type":"string"},"customer_phone":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^[0-9]{11}$","type":"string"},"iban_number":{"description":"IBAN number","maximum":24,"minimum":24,"pattern":"^PK[A-Za-z0-9]{22}$","type":"string"}},"required":["iban_number","account_title","account_number","customer_phone"],"title":"bankalfalah","type":"object"},{"properties":{"":{"description":"Currency: `USD`","type":"Description:"},"receiver_account_number":{"description":"Recipient's account number in Banco General","maximum":14,"minimum":12,"pattern":"^[0-9]{12,14}$","type":"string"},"receiver_full_name":{"description":"Recipient’s account name in Banco General","maximum":50,"minimum":1,"pattern":"^[A-Za-zÁÉÍÓÚÜÑÀÈÉÍÏÒÓÚÜÇáéíóúüñàèéíïòóúüç ]{1,50}$","type":"string"}},"required":["receiver_full_name","receiver_account_number"],"title":"bcgeneral_p2p","type":"object"},{"description":"BKash_a data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"bkash_a","type":"object"},{"description":"Bkash API V","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"bkash_api_v","type":"object"},{"description":"BKash_b data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"bkash_b","type":"object"},{"description":"BKash P2P data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["account_number"],"title":"bkash_p2p","type":"object"},{"description":"BROU P2P data","properties":{"":{"description":"Currency: `UYU`","type":"Description:"},"account_name":{"description":"Recipient’s account name in BROU","maximum":50,"minimum":3,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{3,50}$","type":"string"},"account_number":{"description":"Account number of the recipient","maximum":14,"minimum":14,"pattern":"^[0-9]{14}$","type":"string"}},"required":["account_number","account_name"],"title":"brou_p2p","type":"object"},{"description":"Cbebirr P2P Withdrawal Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":12,"minimum":12,"pattern":"^2519[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"cbebirr_p2p","type":"object"},{"description":"CVU-p2p Data","properties":{"":{"description":"Currency: `ARS`","type":"Description:"},"account_number":{"description":"Clave virtual uniforme. Account number","maximum":22,"minimum":22,"pattern":"^[0-9]{22}$","type":"string"},"account_title":{"description":"Receiver account name","maximum":50,"type":"string"}},"required":["account_number"],"title":"cvu_p2p","type":"object"},{"description":"d17_l data","properties":{"":{"description":"Currency: `TND`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":8,"minimum":8,"pattern":"^[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"d17_l","type":"object"},{"description":"Easypaisa data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":50,"type":"string"},"account_number":{"description":"Account number. Must start with `03` and consist of 11 digits","maximum":11,"minimum":11,"pattern":"^03[0-9]{9}$","type":"string"},"wallet_type":{"description":"Wallet type","enum":["easypaisa","jazzcash"],"type":"string"}},"required":["wallet_type","account_name","account_number"],"title":"easypaisa","type":"object"},{"description":"Egp-Card Withdrawal data","oneOf":[{"properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"payment_address":{"description":"Payment address","type":"string"},"payment_method":{"description":"Payment method type, must be `instapay` for Instapay payment method","enum":["instapay"],"type":"string"}},"required":["payment_method","payment_address"],"title":"instapay","type":"object"},{"properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"card_number":{"description":"Account name","maximum":16,"minimum":16,"pattern":"^[0-9]{16}$","type":"string"},"payment_method":{"description":"Payment method type, must be `card` for Card payment method","enum":["card"],"type":"string"}},"required":["payment_method","card_number"],"title":"card","type":"object"}],"title":"egp_card","type":"object"},{"description":"Egp Fast Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"egp_fast","type":"object"},{"description":"Egp Tel Data","properties":{"":{"description":"Currency: `EGP`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^01[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"egp_tel","type":"object"},{"description":"Esewa data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["phone_number"],"title":"esewa","type":"object"},{"description":"eSewa P2P Withdrawal Data","oneOf":[{"properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"payment_method":{"description":"Payment method type, must be phone for phone payment method","enum":["phone"],"type":"string"},"phone_number":{"description":"User’s eSewa ID (Mobile Number) to which the transaction will be made","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["payment_method","phone_number"],"title":"phone","type":"object"},{"properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"account_holder_name":{"description":"Recipient’s account name","maximum":50,"minimum":1,"pattern":"^[a-zA-Z\\s]{1,50}$","type":"string"},"account_number":{"description":"Receiver account number","maximum":20,"minimum":9,"pattern":"^[A-Za-z0-9]{9,20}$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n  |№  |Bank Name                                            |\n  |---|-----------------------------------------------------|\n  |1  |AGRICULTURAL DEVELOPMENT BANK LTD.                   |\n  |2  |BEST FINANCE COMPANY LTD.                            |\n  |3  |CENTRAL FINANCE LTD.                                 |\n  |4  |CITIZENS BANK INTL. LTD                              |\n  |5  |EVEREST BANK LTD.                                    |\n  |6  |EXCEL DEVELOPMENT BANK LTD.                          |\n  |7  |GARIMA BIKAS BANK LTD.                               |\n  |8  |GLOBAL IME BANK LTD.                                 |\n  |9  |GOODWILL FINANCE LTD.                                |\n  |10 |GREEN DEVELOPMENT BANK LTD.                          |\n  |11 |GUHESWORI MERCHANT BANKING & FINANCE LTD             |\n  |12 |GURKHAS FINANCE LTD.                                 |\n  |13 |HIMALAYAN BANK LTD.                                  |\n  |14 |ICFC FINANCE LTD.                                    |\n  |15 |JYOTI BIKAS BANK LTD.                                |\n  |16 |KAMANA SEWA BIKAS BANK LTD.                          |\n  |17 |KISAN BAHUUDESHIYA SAHAKARI SANSTHA                  |\n  |18 |KUMARI BANK LTD.                                     |\n  |19 |LAXMI SUNRISE BANK LTD.                              |\n  |20 |LUMBINI BIKAS BANK LTD.                              |\n  |21 |MACHHAPUCHCHHRE BANK LTD.                            |\n  |22 |MAHALAXMI BIKAS BANK LTD.                            |\n  |23 |MANJUSHREE FINANCE LTD.                              |\n  |24 |MITERI DEVELOPMENT BANK LTD                          |\n  |25 |MUKTINATH BIKAS BANK LTD.                            |\n  |26 |MULTIPURPOSE FINANCE LIMITED                         |\n  |27 |NABIL BANK LTD.                                      |\n  |28 |NARAYANI DEVELOPMENT BANK                            |\n  |29 |NAWAKANTIPUR SAVING & CREDIT CO-OPERATIVE SOCIETY LTD|\n  |30 |NEPAL BANK LTD.                                      |\n  |31 |NEPAL FINANCE LIMITED                                |\n  |32 |NEPAL INVESTMENT MEGA BANK LTD.                      |\n  |33 |NEPAL SBI  BANK LTD.                                 |\n  |34 |NIC ASIA BANK LTD.                                   |\n  |35 |NMB BANK LTD.                                        |\n  |36 |POKHARA FINANCE LTD.                                 |\n  |37 |PRABHU BANK LTD.                                     |\n  |38 |PRIME COMMERCIAL BANK LTD.                           |\n  |39 |PROGRESSIVE FINANCE LTD.                             |\n  |40 |RASTRIYA BANIJYA BANK LTD.                           |\n  |41 |RELIANCE FINANCE LTD.                                |\n  |42 |SALAPA BIKAS BANK LTD                                |\n  |43 |SANIMA BANK LTD.                                     |\n  |44 |SAPTAKOSHI DEVELOPMENT BANK LTD.                     |\n  |45 |SHANGRI-LA DEVELOPMENT BANK LTD.                     |\n  |46 |SHINE RESUNGA DEVELOPMENT BANK LTD.                  |\n  |47 |SHREE INVESTMENT & FINANCE COMPANY LTD               |\n  |48 |SIDDHARTHA BANK LTD.                                 |\n  |49 |SINDHU BIKAS BANK LTD.                               |\n</details>","maximum":100,"minimum":1,"pattern":"^[a-zA-Z.& -]{1,100}$","type":"string"},"payment_method":{"description":"Payment method type, must be bank for bank payment method","enum":["bank"],"type":"string"}},"required":["payment_method","phone_number","bank_name"],"title":"bank","type":"object"}],"title":"esewa_p2p","type":"object"},{"description":"Etd Fast Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"account_number":{"description":"Account number","maximum":13,"minimum":10,"pattern":"^[0-9]+$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n| №   | Bank Name                                   |\n|-----|---------------------------------------------|\n| 1   | Abay Bank                                   |\n| 2   | Addis International Bank                    |\n| 3   | Ahadu Bank                                  |\n| 4   | Awash Bank                                  |\n| 5   | Bank of Abyssinia                           |\n| 6   | Berhan Bank                                 |\n| 7   | CBEBirr                                     |\n| 8   | Commercial Bank of Ethiopia (CBE)           |\n| 9   | Coopay-Ebirr                                |\n| 10  | Dashen Bank                                 |\n| 11  | Enat Bank                                   |\n| 12  | Global Bank Ethiopia                        |\n| 13  | Hibret Bank                                 |\n| 14  | Lion International Bank                     |\n| 15  | M-Pesa                                      |\n| 16  | Nib International Bank                      |\n| 17  | telebirr                                    |\n| 18  | Wegagen Bank                                |\n</details>","maximum":36,"minimum":3,"pattern":"^[A-Za-z0-9\\s\\-()'.&]+$","type":"string"}},"required":["account_number","bank_name"],"title":"etb_fast","type":"object"},{"description":"M-PESA ETH P2P Withdrawal Data","oneOf":[{"properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"payment_method":{"description":"Payment method type, must be phone for phone payment method","enum":["phone"],"type":"string"},"phone_number":{"description":"Phone number","maximum":12,"minimum":12,"pattern":"^251[0-9]{9}$","type":"string"}},"required":["payment_method","phone_number"],"title":"phone","type":"object"},{"properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"account_number":{"description":"Account number","maximum":13,"minimum":10,"pattern":"^[0-9]+$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n  | №   | Bank Name                                   |\n  |-----|---------------------------------------------|\n  | 1   | Abay Bank                                   |\n  | 2   | Addis Bank                                  |\n  | 3   | Ahadu Bank                                  |\n  | 4   | Anbesa Bank                                 |\n  | 5   | Awash Bank                                  |\n  | 6   | Bank of Abyssinia                           |\n  | 7   | Berhan Bank                                 |\n  | 8   | Bunna Bank                                  |\n  | 9   | Commercial Bank of Ethiopia                 |\n  | 10  | Cooperative Bank of Ormo                    |\n  | 11  | Dashen Bank                                 |\n  | 12  | Enat Bank                                   |\n  | 13  | Hibret Bank                                 |\n  | 14  | Kacha                                       |\n  | 15  | Rammis Bank                                 |\n  | 16  | Sidama Bank S.C                             |\n  | 17  | Siingee Bank                                |\n  | 18  | Siket Bank                                  |\n  | 19  | Tsehay Bank                                 |\n  | 20  | Wegagen bank                                |\n  | 21  | ZamZam Bank                                 |\n  | 22  | Zemen Bank                                  |\n</details>","maximum":36,"minimum":3,"pattern":"^[A-Za-z0-9\\s\\-()'.&]+$","type":"string"},"payment_method":{"description":"Payment method type, must be bank for bank payment method","enum":["bank"],"type":"string"}},"required":["payment_method","account_number","bank_name"],"title":"bank","type":"object"}],"title":"etb_mpesa_p2p","type":"object"},{"description":"ETB P2P Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":12,"minimum":12,"pattern":"^2519[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"etb_p2p","type":"object"},{"description":"Flouci Withdrawal data","properties":{"":{"description":"Currency: `TND`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":8,"minimum":8,"pattern":"^[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"flouci","type":"object"},{"description":"Flouci L data","properties":{"":{"description":"Currency: `TND`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":8,"minimum":8,"pattern":"^[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"flouci_l","type":"object"},{"description":"FRI p2p Withdrawal data","properties":{"":{"description":"Currency: `GTQ`","type":"Description:"},"phone_number":{"description":"The recipient's phone number linked to a Fri account to which the withdrawal transfer will be sent (with country code). To complete the withdrawal from the payment wallet, the user must approve the request in the 'Pendientes' section.","maximum":11,"minimum":11,"pattern":"^502[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"fri_p2p","type":"object"},{"description":"ImePay L data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["phone_number"],"title":"imepay_l","type":"object"},{"description":"IMPS data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":50,"pattern":"^[a-zA-Z\\s]{1,50}$","type":"string"},"account_number":{"description":"Receiver account number","pattern":"^[0-9]+$","type":"string"},"bank_code":{"description":"IFSC code bank","maximum":11,"minimum":11,"pattern":"^[A-Z]{4}0[A-Z0-9]{6}$","type":"string"}},"required":["account_name","account_number","bank_code"],"title":"imps","type":"object"},{"description":"IMPS_top data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":30,"pattern":"^[a-zA-Z\\s]{1,30}$","type":"string"},"account_number":{"description":"Receiver account number","pattern":"^[0-9]+$","type":"string"},"bank_code":{"description":"IFSC code bank","maximum":11,"minimum":11,"pattern":"^[A-Z]{4}0[A-Z0-9]{6}$","type":"string"}},"required":["account_name","account_number","bank_code"],"title":"imps_top","type":"object"},{"description":"INR-p2p data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^0[0-9]{11}$","type":"string"}},"required":["account_email","account_number"],"title":"inr_p2p","type":"object"},{"description":"Ipay Fast Withdrawal data","oneOf":[{"properties":{"":{"description":"Currency: `LKR`","type":"Description:"},"payment_method":{"description":"Payment method type, must be `phone` for phone payment method","enum":["phone"],"type":"string"},"phone_number":{"description":"Phone number","maximum":10,"minimum":10,"pattern":"^[0-9]+$","type":"string"}},"required":["payment_method","phone_number"],"title":"phone","type":"object"},{"properties":{"":{"description":"Currency: `LKR`","type":"Description:"},"account_name":{"description":"Account name","maximum":50,"minimum":1,"pattern":"^[A-Za-z\\\\s]+$","type":"string"},"account_number":{"description":"Account number","maximum":28,"minimum":5,"pattern":"^[0-9]+$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n  | №   | Bank Name                                   |\n  |-----|---------------------------------------------|\n  | 1   | LOLC Finance PLC                            |\n  | 2   | Amana Bank PLC                              |\n  | 3   | Axis Bank LTD                               |\n  | 4   | Bank of Ceylon                              |\n  | 5   | Cargills Bank                               |\n  | 6   | Central Finance PLC                         |\n  | 7   | CITI Bank N.A.                              |\n  | 8   | Citizen Development Business Finance PLC    |\n  | 9   | Commercial Bank PLC                         |\n  | 10  | Deutsche Bank (ASIA)                        |\n  | 11  | DFCC Wardhana Bank                          |\n  | 12  | Dialog Finance Plc                          |\n  | 13  | HABIB Bank LTD                              |\n  | 14  | Hatton National Bank PLC                    |\n  | 15  | HDFC Bank                                   |\n  | 16  | HSBC                                         |\n  | 17  | ICICI Bank LTD                              |\n  | 18  | LB Finance PLC                              |\n  | 19  | Muslim Commercial Bank LTD                  |\n  | 20  | National Development Bank PLC               |\n  | 21  | National Savings Bank                       |\n  | 22  | Nations Trust Bank                          |\n  | 23  | Pan Asia Bank LTD                           |\n  | 24  | People's Bank                               |\n  | 25  | People's Leasing                            |\n  | 26  | Public Bank Berhard                         |\n  | 27  | Regional Development Bank                   |\n  | 28  | Richard Pieris Finance                      |\n  | 29  | Sampath Bank PLC                            |\n  | 30  | Sanasa Development Bank                     |\n  | 31  | Sarvodaya Development Finance LTD           |\n  | 32  | Senkadagala Finance PLC                     |\n  | 33  | Seylan Bank LTD                             |\n  | 34  | Singer Finance (Lanka) PLC                  |\n  | 35  | Standard Chartered Bank                     |\n  | 36  | State Bank Of India                         |\n  | 37  | Union Bank of Colombo PLC                   |\n  | 38  | Union Pay International                     |\n</details>","maximum":65,"minimum":3,"pattern":"^[A-Za-z\\\\s.,()']+$","type":"string"},"payment_method":{"description":"Payment method type, must be `bank` for bank payment method","enum":["bank"],"type":"string"}},"required":["payment_method","account_name","account_number","bank_name"],"title":"bank","type":"object"}],"title":"ipay_fast","type":"object"},{"description":"Ipay L Withdrawal data","oneOf":[{"properties":{"":{"description":"Currency: `LKR`","type":"Description:"},"payment_method":{"description":"Payment method type, must be `phone` for phone payment method","enum":["phone"],"type":"string"},"phone_number":{"description":"Phone number","maximum":10,"minimum":10,"pattern":"^[0-9]+$","type":"string"}},"required":["payment_method","phone_number"],"title":"phone","type":"object"},{"properties":{"":{"description":"Currency: `LKR`","type":"Description:"},"account_name":{"description":"Account name","maximum":50,"minimum":1,"pattern":"^[A-Za-z\\\\s]+$","type":"string"},"account_number":{"description":"Account number","maximum":28,"minimum":5,"pattern":"^[0-9]+$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n  | №   | Bank Name                                   |\n  |-----|---------------------------------------------|\n  | 1   | LOLC Finance PLC                            |\n  | 2   | Amana Bank PLC                              |\n  | 3   | Axis Bank LTD                               |\n  | 4   | Bank of Ceylon                              |\n  | 5   | Cargills Bank                               |\n  | 6   | Central Finance PLC                         |\n  | 7   | CITI Bank N.A.                              |\n  | 8   | Citizen Development Business Finance PLC    |\n  | 9   | Commercial Bank PLC                         |\n  | 10  | Deutsche Bank (ASIA)                        |\n  | 11  | DFCC Wardhana Bank                          |\n  | 12  | Dialog Finance Plc                          |\n  | 13  | HABIB Bank LTD                              |\n  | 14  | Hatton National Bank PLC                    |\n  | 15  | HDFC Bank                                   |\n  | 16  | HSBC                                         |\n  | 17  | ICICI Bank LTD                              |\n  | 18  | LB Finance PLC                              |\n  | 19  | Muslim Commercial Bank LTD                  |\n  | 20  | National Development Bank PLC               |\n  | 21  | National Savings Bank                       |\n  | 22  | Nations Trust Bank                          |\n  | 23  | Pan Asia Bank LTD                           |\n  | 24  | People's Bank                               |\n  | 25  | People's Leasing                            |\n  | 26  | Public Bank Berhard                         |\n  | 27  | Regional Development Bank                   |\n  | 28  | Richard Pieris Finance                      |\n  | 29  | Sampath Bank PLC                            |\n  | 30  | Sanasa Development Bank                     |\n  | 31  | Sarvodaya Development Finance LTD           |\n  | 32  | Senkadagala Finance PLC                     |\n  | 33  | Seylan Bank LTD                             |\n  | 34  | Singer Finance (Lanka) PLC                  |\n  | 35  | Standard Chartered Bank                     |\n  | 36  | State Bank Of India                         |\n  | 37  | Union Bank of Colombo PLC                   |\n  | 38  | Union Pay International                     |\n</details>","maximum":65,"minimum":3,"pattern":"^[A-Za-z\\\\s.,()']+$","type":"string"},"payment_method":{"description":"Payment method type, must be `bank` for bank payment method","enum":["bank"],"type":"string"}},"required":["payment_method","account_name","account_number","bank_name"],"title":"bank","type":"object"}],"title":"ipay_l","type":"object"},{"description":"Itau p2p data","properties":{"":{"description":"Currency: `PYG`","type":"Description:"},"account_number":{"description":"The recipient's account number in Itau to which the funds will be transferred","pattern":"^[0-9]{7,9}$","type":"string"},"receiver_name":{"description":"The recipient's account holder name (as registered with the bank)\n\nExample: Juan Perez Gomez","maximum":50,"minimum":1,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{1,50}$","type":"string"}},"required":["account_number","receiver_name"],"title":"itau_p2p","type":"object"},{"description":"Jazzcash_l data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":50,"type":"string"},"account_number":{"description":"Account number. Must start with `03` and consist of 11 digits","maximum":11,"minimum":11,"pattern":"^03[0-9]{9}$","type":"string"},"cnic_number":{"description":"CNIC number","maximum":13,"minimum":13,"pattern":"^[0-9]{13}$","type":"string"}},"required":["account_name","account_number"],"title":"jazzcash_l","type":"object"},{"description":"KBZpay P2P data","properties":{"":{"description":"Currency: `MMK`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^0[0-9]{10}$","type":"string"}},"required":["phone_number"],"title":"kbzpay_p2p","type":"object"},{"description":"Khalti data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"phone_number":{"description":"Phone number without country code (+977)","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["phone_number"],"title":"khalti","type":"object"},{"description":"Khalti_l Withdrawal data","properties":{"":{"description":"Currency: `NPR`","type":"Description:"},"phone_number":{"description":"Phone number without country code (+977)","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["phone_number"],"title":"khalti_l","type":"object"},{"description":"Lynk P2P data","properties":{"":{"description":"Currency: `JMD`","type":"Description:"},"account_id":{"description":"Receiver Lynk ID","maximum":50,"minimum":1,"pattern":"^@.{1,50}$","type":"string"}},"required":["account_id"],"title":"lynk_p2p","type":"object"},{"description":"Only Mercado Pago account numbers are supported","properties":{"":{"description":"Currency: `UYU`. Only Mercado Pago account numbers are supported","type":"Description:"},"account_name":{"description":"Receiver account name (Titular de la cuenta destino)","maximum":50,"minimum":3,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{3,50}$","type":"string"},"account_number":{"description":"Account number of the recipient (Número de cuenta)","maximum":14,"minimum":9,"pattern":"^[0-9]{9,14}$","type":"string"}},"required":["account_name","account_number"],"title":"mercado2_uyu_p2c","type":"object"},{"properties":{"":{"description":"Currency: `ARS`","type":"Description:"},"receiver_account_number":{"description":"The recipient’s сlave virtual uniforme (CVU) to receive the funds","maximum":22,"minimum":22,"pattern":"^[0-9]{22}$","type":"string"}},"required":["receiver_account_number"],"title":"mercado_ars_p2p","type":"object"},{"description":"Only Mercado Pago account numbers are supported","properties":{"":{"description":"Currency: `UYU`. Only Mercado Pago account numbers are supported","type":"Description:"},"account_name":{"description":"Receiver account name (Titular de la cuenta destino)","maximum":50,"minimum":3,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{3,50}$","type":"string"},"account_number":{"description":"Account number of the recipient in Mercado Pago (Número de cuenta)","maximum":13,"minimum":13,"pattern":"^[0-9]{13}$","type":"string"}},"required":["account_name","account_number"],"title":"mercado_uyu_p2c","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"moov_mli_p2p","type":"object"},{"description":"Mpesa data","properties":{"":{"description":"Currency: `KES`","type":"Description:"},"phone_number":{"description":"Phone number Safaricom for money sending. Should consist of 12 digits and start with 254","maximum":12,"minimum":12,"pattern":"^254[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"mpesa","type":"object"},{"description":"Nagad A","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11,11}$","type":"string"}},"required":["account_number"],"title":"nagad_a","type":"object"},{"description":"Nagad API V","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11,11}$","type":"string"}},"required":["account_number"],"title":"nagad_api_v","type":"object"},{"description":"Nagad B","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11,11}$","type":"string"}},"required":["account_number"],"title":"nagad_b","type":"object"},{"description":"Nayapay_l data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_name":{"description":"Receiver account name","maximum":50,"type":"string"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11}$","type":"string"}},"required":["account_name","account_number"],"title":"nayapay_l","type":"object"},{"properties":{"":{"description":"Currency: `GNF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":12,"pattern":"^224[0-9]{9}$","type":"string"}},"required":["phone_number"],"title":"orange_gin_p2p","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"orange_mli_p2p","type":"object"},{"properties":{"":{"description":"Currency: `XOF`","type":"Description:"},"name":{"description":"Receiver name","maximum":35,"minimum":1,"type":"string"},"phone_number":{"description":"Customer phone number","maximum":12,"minimum":12,"pattern":"^221[0-9]{9}$","type":"string"},"surname":{"description":"Receiver surname","maximum":35,"minimum":1,"type":"string"}},"required":["phone_number","name","surname"],"title":"orange_sen_p2p","type":"object"},{"description":"Rocket inf P2P data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Recipient's account number","maximum":12,"minimum":12,"pattern":"^[0-9]{12}$","type":"string"}},"required":["account_number"],"title":"p2p_rocket","type":"object"},{"description":"Paytm data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"account_number":{"description":"Receiver account number","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"}},"required":["account_number"],"title":"paytm","type":"object"},{"description":"Pix-p2p data","properties":{"":{"description":"Currency: `BRL`","type":"Description:"},"account_number":{"description":"Account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11}$","type":"string"}},"required":["account_number"],"title":"pix_p2p","type":"object"},{"description":"Jazzcash Withdrawal data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"If you wish to make a withdrawal via EasyPaisa or JazzCash, please use the CNIC number without any dashes or spaces. \nFor any other banking method, please refer to the bank account details.","maximum":20,"minimum":9,"pattern":"^[0-9]{9,20}$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n| №   | Bank Name                                   |\n|-----|--------------------------------------------|\n| 1   | ABHI FINANCE SERVICES LIMITED                  |\n| 2   | AFT                                             |\n| 3   | AFT IBFT                                        |\n| 4   | Advans                                          |\n| 5   | Al Meezan Investment Management Limited        |\n| 6   | AlHabib                                         |\n| 7   | Albarka                                         |\n| 8   | Alfalah                                         |\n| 9   | Allied                                          |\n| 10  | Apna                                            |\n| 11  | Askari                                          |\n| 12  | BOK                                             |\n| 13  | BYKEA                                           |\n| 14  | BankIslami                                      |\n| 15  | Burj                                            |\n| 16  | Central Directorate of National Savings        |\n| 17  | Central Directorate of National Savings (CDNS) |\n| 18  | Central Directorate of National Savings (CDNS) – 1IBFT IMD Addition |\n| 19  | Citi                                            |\n| 20  | DubaiIslamic                                    |\n| 21  | EZ wage                                         |\n| 22  | EasyPaisa                                       |\n| 23  | FINCA                                           |\n| 24  | FINJA                                           |\n| 25  | FWBL                                            |\n| 26  | Faysal                                          |\n| 27  | First Microfinance Bank                        |\n| 28  | HBL                                             |\n| 29  | HBL ASSET MANAGEMENT                           |\n| 30  | Habib Metro Bank – Bulk 1IBFT                  |\n| 31  | HabibMetro                                      |\n| 32  | Humrah Financial Services                      |\n| 33  | ICBC                                            |\n| 34  | JS                                              |\n| 35  | KASB                                            |\n| 36  | KBL                                             |\n| 37  | KEENU                                           |\n| 38  | KEENU Bank                                      |\n| 39  | KEENU – IMD and 1IBFT Screen Addition          |\n| 40  | Keenu1                                          |\n| 41  | MCB                                             |\n| 42  | MCB-Arif Habib                                 |\n| 43  | MIB                                             |\n| 44  | Meezan                                          |\n| 45  | MobilinkBank Pakistan                          |\n| 46  | NAYAPAY                                        |\n| 47  | NBP                                            |\n| 48  | NBP Fund Management Limited                   |\n| 49  | NBP1                                           |\n| 50  | NIB                                            |\n| 51  | NRSP                                           |\n| 52  | National Bank                                  |\n| 53  | Numbers Private Limited                        |\n| 54  | PayMax                                         |\n| 55  | PayMax1                                        |\n| 56  | PunjabBank                                     |\n| 57  | SADAPAY                                       |\n| 58  | SCB                                           |\n| 59  | SEEDCREED Financial Services Limited          |\n| 60  | SIMPAISA                                      |\n| 61  | SIND                                          |\n| 62  | Samba                                         |\n| 63  | Silk                                          |\n| 64  | SindhBank                                     |\n| 65  | Soneri                                       |\n| 66  | Summit                                       |\n| 67  | TAG                                          |\n| 68  | TezPAy                                       |\n| 69  | UBL                                          |\n| 70  | UPaisa                                       |\n| 71  | Waseela                                      |\n| 72  | Waseela bank                                 |\n| 73  | ZTBL1                                        |\n| 74  | Zarai Taraqiati Bank                         |\n| 75  | JazzCash                                      |\n| 76  | U Bank                                        |\n| 77  | HBL Express                                   |\n| 78  | UBL Omni                                     |\n</details>","maximum":67,"minimum":2,"pattern":"^[A-Za-z0-9\\\\s)(–-]{2,67}$","type":"string"},"phone_number":{"description":"Account phone number","maximum":11,"minimum":11,"pattern":"^03[0-9]+$","type":"string"}},"required":["account_number","phone_number","bank_name"],"title":"pkr_w","type":"object"},{"description":"PKR_W2 Withdrawal data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n| №   | Bank Name                                   |\n|-----|--------------------------------------------|\n| 1   | ABHI FINANCE SERVICES LIMITED                  |\n| 2   | AFT                                             |\n| 3   | AFT IBFT                                        |\n| 4   | Advans                                          |\n| 5   | Al Meezan Investment Management Limited        |\n| 6   | AlHabib                                         |\n| 7   | Albarka                                         |\n| 8   | Alfalah                                         |\n| 9   | Allied                                          |\n| 10  | Apna                                            |\n| 11  | Askari                                          |\n| 12  | BOK                                             |\n| 13  | BYKEA                                           |\n| 14  | BankIslami                                      |\n| 15  | Burj                                            |\n| 16  | Central Directorate of National Savings        |\n| 17  | Central Directorate of National Savings (CDNS) |\n| 18  | Central Directorate of National Savings (CDNS) – 1IBFT IMD Addition |\n| 19  | Citi                                            |\n| 20  | DubaiIslamic                                    |\n| 21  | EZ wage                                         |\n| 22  | EasyPaisa                                       |\n| 23  | FINCA                                           |\n| 24  | FINJA                                           |\n| 25  | FWBL                                            |\n| 26  | Faysal                                          |\n| 27  | First Microfinance Bank                        |\n| 28  | HBL                                             |\n| 29  | HBL ASSET MANAGEMENT                           |\n| 30  | Habib Metro Bank – Bulk 1IBFT                  |\n| 31  | HabibMetro                                      |\n| 32  | Humrah Financial Services                      |\n| 33  | ICBC                                            |\n| 34  | JS                                              |\n| 35  | KASB                                            |\n| 36  | KBL                                             |\n| 37  | KEENU                                           |\n| 38  | KEENU Bank                                      |\n| 39  | KEENU – IMD and 1IBFT Screen Addition          |\n| 40  | Keenu1                                          |\n| 41  | MCB                                             |\n| 42  | MCB-Arif Habib                                 |\n| 43  | MIB                                             |\n| 44  | Meezan                                          |\n| 45  | MobilinkBank Pakistan                          |\n| 46  | NAYAPAY                                        |\n| 47  | NBP                                            |\n| 48  | NBP Fund Management Limited                   |\n| 49  | NBP1                                           |\n| 50  | NIB                                            |\n| 51  | NRSP                                           |\n| 52  | National Bank                                  |\n| 53  | Numbers Private Limited                        |\n| 54  | PayMax                                         |\n| 55  | PayMax1                                        |\n| 56  | PunjabBank                                     |\n| 57  | SADAPAY                                       |\n| 58  | SCB                                           |\n| 59  | SEEDCREED Financial Services Limited          |\n| 60  | SIMPAISA                                      |\n| 61  | SIND                                          |\n| 62  | Samba                                         |\n| 63  | Silk                                          |\n| 64  | SindhBank                                     |\n| 65  | Soneri                                       |\n| 66  | Summit                                       |\n| 67  | TAG                                          |\n| 68  | TezPAy                                       |\n| 69  | UBL                                          |\n| 70  | UPaisa                                       |\n| 71  | Waseela                                      |\n| 72  | Waseela bank                                 |\n| 73  | ZTBL1                                        |\n| 74  | Zarai Taraqiati Bank                         |\n| 75  | JazzCash                                     |\n| 76  | U Bank                                      |\n| 77  | HBL Express                                  |\n| 78  | UBL Omni                                     |\n</details>","maximum":67,"minimum":2,"pattern":"^[A-Za-z0-9\\\\s)(–-]{2,67}$","type":"string"},"phone_number":{"description":"Account phone number","maximum":11,"minimum":11,"pattern":"^03[0-9]+$","type":"string"}},"required":["phone_number","bank_name"],"title":"pkr_w2","type":"object"},{"description":"Prex P2P Withdrawal data","properties":{"":{"description":"Currency: `UYU`","type":"Description:"},"account_number":{"description":"Prex account number of the recipient","maximum":9,"minimum":5,"pattern":"^[0-9]{5,9}$","type":"string"}},"required":["account_number"],"title":"prex_p2p","type":"object"},{"description":"Raast P2P Withdrawal Data","properties":{"":{"description":"Currency: `PKR`","type":"Description:"},"account_number":{"description":"If you wish to make a withdrawal via EasyPaisa or JazzCash, please use the CNIC number without any dashes or spaces. \nFor any other banking method, please refer to the bank account details.","maximum":20,"minimum":9,"pattern":"^[0-9]{9,20}$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n| №   | Bank Name                                   |\n|-----|--------------------------------------------|\n| 1   | ABHI FINANCE SERVICES LIMITED                  |\n| 2   | AFT                                             |\n| 3   | AFT IBFT                                        |\n| 4   | Advans                                          |\n| 5   | Al Meezan Investment Management Limited        |\n| 6   | AlHabib                                         |\n| 7   | Albarka                                         |\n| 8   | Alfalah                                         |\n| 9   | Allied                                          |\n| 10  | Apna                                            |\n| 11  | Askari                                          |\n| 12  | BOK                                             |\n| 13  | BYKEA                                           |\n| 14  | BankIslami                                      |\n| 15  | Burj                                            |\n| 16  | Central Directorate of National Savings        |\n| 17  | Central Directorate of National Savings (CDNS) |\n| 18  | Central Directorate of National Savings (CDNS) – 1IBFT IMD Addition |\n| 19  | Citi                                            |\n| 20  | DubaiIslamic                                    |\n| 21  | EZ wage                                         |\n| 22  | EasyPaisa                                       |\n| 23  | FINCA                                           |\n| 24  | FINJA                                           |\n| 25  | FWBL                                            |\n| 26  | Faysal                                          |\n| 27  | First Microfinance Bank                        |\n| 28  | HBL                                             |\n| 29  | HBL ASSET MANAGEMENT                           |\n| 30  | Habib Metro Bank – Bulk 1IBFT                  |\n| 31  | HabibMetro                                      |\n| 32  | Humrah Financial Services                      |\n| 33  | ICBC                                            |\n| 34  | JS                                              |\n| 35  | KASB                                            |\n| 36  | KBL                                             |\n| 37  | KEENU                                           |\n| 38  | KEENU Bank                                      |\n| 39  | KEENU – IMD and 1IBFT Screen Addition          |\n| 40  | Keenu1                                          |\n| 41  | MCB                                             |\n| 42  | MCB-Arif Habib                                 |\n| 43  | MIB                                             |\n| 44  | Meezan                                          |\n| 45  | MobilinkBank Pakistan                          |\n| 46  | NAYAPAY                                        |\n| 47  | NBP                                            |\n| 48  | NBP Fund Management Limited                   |\n| 49  | NBP1                                           |\n| 50  | NIB                                            |\n| 51  | NRSP                                           |\n| 52  | National Bank                                  |\n| 53  | Numbers Private Limited                        |\n| 54  | PayMax                                         |\n| 55  | PayMax1                                        |\n| 56  | PunjabBank                                     |\n| 57  | SADAPAY                                       |\n| 58  | SCB                                           |\n| 59  | SEEDCREED Financial Services Limited          |\n| 60  | SIMPAISA                                      |\n| 61  | SIND                                          |\n| 62  | Samba                                         |\n| 63  | Silk                                          |\n| 64  | SindhBank                                     |\n| 65  | Soneri                                       |\n| 66  | Summit                                       |\n| 67  | TAG                                          |\n| 68  | TezPAy                                       |\n| 69  | UBL                                          |\n| 70  | UPaisa                                       |\n| 71  | Waseela                                      |\n| 72  | Waseela bank                                 |\n| 73  | ZTBL1                                        |\n| 74  | Zarai Taraqiati Bank                         |\n| 75  | JazzCash                                      |\n| 76  | U Bank                                        |\n| 77  | HBL Express                                   |\n| 78  | UBL Omni                                     |\n</details>","maximum":67,"minimum":2,"pattern":"^[A-Za-z0-9\\\\s)(–-]{2,67}$","type":"string"},"phone_number":{"description":"Account phone number","maximum":11,"minimum":11,"pattern":"^03[0-9]+$","type":"string"}},"required":["account_number","phone_number","bank_name"],"title":"raast_p2p","type":"object"},{"description":"Scotiabank data","properties":{"":{"description":"Currency: `JMD`","type":"Description:"},"account_number":{"description":"Account number","maximum":9,"minimum":9,"pattern":"^[0-9]{9}$","type":"string"},"transit_number":{"description":"Transit number","maximum":5,"minimum":5,"pattern":"^[0-9]{5}$","type":"string"}},"required":["transit_number","account_number"],"title":"scotiabank_p2p","type":"object"},{"description":"Spei-p2p data","properties":{"":{"description":"Currency: `MXN`","type":"Description:"},"account_number":{"description":"- If the account number is 18 digits long, it means the account type is: CLABE\n- if the account number is 16 digits long, it means: BANK_CARD","maximum":18,"minimum":16,"pattern":"^[0-9]{16,18}$","type":"string"},"bank_name":{"description":"<details>\n  <summary>Bank name to make a withdrawal. The supported bank names are listed below:</summary>\n\n|№  |Bank Name      |Description                                      |\n|---|---------------|-------------------------------------------------|\n|1  |ABC_CAPITAL    |ABC Capital                                      |\n|2  |ACTINVER       |Actinver                                         |\n|3  |AFIRME         |Banco Afirme                                     |\n|4  |AKALA          |Akala                                            |\n|5  |ALBO           |ALBO                                             |\n|6  |ALTERNATIVOS   |Alternativos                                     |\n|7  |ARCUS          |Arcus                                            |\n|8  |ASP_INTEGRA_OPC|ASP Integra OPC                                  |\n|9  |AUTOFIN        |Banco Autofin                                    |\n|10 |AZTECA         |Banco Azteca                                     |\n|11 |BABIEN         |BaBien                                           |\n|12 |BAJIO          |Banco del Bajío                                  |\n|13 |BANAMEX        |Banco Nacional de México                         |\n|14 |BANCOMEXT      |Banco Nacional de Comercio Exterior              |\n|15 |BANCOPPEL      |Banco Coppel                                     |\n|16 |BANCREA        |Banco Bancrea                                    |\n|17 |BANJERCITO     |Banco del Ejército                               |\n|18 |BANKAOOL       |Bankaool                                         |\n|19 |BANOBRAS       |Banco Nacional de Obras y Servicios Públicos     |\n|20 |BANORTE        |Banco Mercantil del Norte                        |\n|21 |BANREGIO       |Banco Regional de Monterrey                      |\n|22 |BANSEFI        |Banco del Ahorro Nacional y Servicios Financieros|\n|23 |BANSI          |Banco Bansi                                      |\n|24 |BANXICO        |Banco de México                                  |\n|25 |BARCLAYS       |Barclays México                                  |\n|26 |BBASE          |BBASE                                            |\n|27 |BBVAMX         |BBVA México                                      |\n|28 |BMONEX         |Banco Monex                                      |\n|29 |BOA_MX         |Bank of America México                           |\n|30 |BOC_MX         |Bank of China México                             |\n|31 |BX+            |Ve por Más                                       |\n|32 |CAJA_POP_MX    |Caja Popular Mexicana                            |\n|33 |CAJA_TELEFONIST|Caja de Ahorro de los Telefonistas               |\n|34 |CASHI_CUENTA   |CASHI CUENTA                                     |\n|35 |CB_INTERCAM    |Intercam Casa de Bolsa                           |\n|36 |CBOLSA         |Multiva Casa de Bolsa                            |\n|37 |CI_BOLSA       |CI Casa de Bolsa                                 |\n|38 |CIBANCO        |Cibanco                                          |\n|39 |CITI_MX        |CITI MEXICO                                      |\n|40 |CLS            |CLS                                              |\n|41 |CODI_VALIDA    |CoDi Valida                                      |\n|42 |COMPARTAMOS    |Banco Compartamos                                |\n|43 |CONSUBANCO     |Consubanco                                       |\n|44 |COOPDESARROLLO |COOPDESARROLLO                                   |\n|45 |COVALTO        |Banco Covalto                                    |\n|46 |CREDICAPITAL   |Credicapital                                     |\n|47 |CREDICLUB      |Crediclub                                        |\n|48 |CRISTOBAL_COLON|Cristóbal Colón                                  |\n|49 |CS_MX          |Credit Suisse México                             |\n|50 |CUENCA         |Cuenca                                           |\n|51 |DEP_PAG_DIG    |Dep y Pag Dig                                    |\n|52 |DONDE          |Banco Donde                                      |\n|53 |FINAMEX        |Finamex                                          |\n|54 |FINCO_PAY      |FINCO PAY                                        |\n|55 |FINCOMUN       |Fincomún                                         |\n|56 |FINTERRA       |Banco Finterra                                   |\n|57 |FINTOC         |FINTOC                                           |\n|58 |FIRA           |Fondo (FIRA)                                     |\n|59 |FOMPED         |Fompred                                          |\n|60 |FONDEADORA     |FONDEADORA                                       |\n|61 |GBM            |GBM                                              |\n|62 |HEY_BANCO      |HEY BANCO                                        |\n|63 |HIPOTECARIA    |Sociedad Hipotecaria Federal                     |\n|64 |HSBC_MX        |HSBC México                                      |\n|65 |ICBC_MX        |ICBC México                                      |\n|66 |INBURSA        |Banco Inbursa                                    |\n|67 |INDEVAL        |Indeval                                          |\n|68 |INMOBILIARIO   |Banco Inmobiliario Mexicano                      |\n|69 |INTERCAM       |Banco Intercam                                   |\n|70 |INVERCAP       |Invercap                                         |\n|71 |INVEX          |Banco Invex                                      |\n|72 |JPM_MX         |J.P. Morgan México                               |\n|73 |KLAR           |Klar                                             |\n|74 |KUSPIT         |Kuspit                                           |\n|75 |LIBERTAD       |Libertad                                         |\n|76 |MASARI         |Masari                                           |\n|77 |MERCADO_PAGO_W |Mercado Pago W                                   |\n|78 |MEXPAGO        |MexPago                                          |\n|79 |MIFEL          |Banco Mifel                                      |\n|80 |MIZUHO_MX      |Mizuho Bank México                               |\n|81 |MONEXCB        |Monex Casa de Bolsa                              |\n|82 |MUFG           |MUFG Bank México                                 |\n|83 |MULTIVA        |Banco Multiva                                    |\n|84 |NAFIN          |Nacional Financiera                              |\n|85 |NU_MX          |Nu México                                        |\n|86 |NVIO           |Nvio                                             |\n|87 |PAGATODO       |Pagatodo                                         |\n|88 |PEIBO          |Peibo                                            |\n|89 |PROFUTURO      |Profuturo                                        |\n|90 |REFORMA        |Reforma                                          |\n|91 |S3             |Banco S3                                         |\n|92 |SABADELL       |Banco Sabadell México                            |\n|93 |SANTANDER      |Banco Santander México                           |\n|94 |SCOTIABANK     |Scotiabank México                                |\n|95 |SHINHAN_MX     |Shinhan Bank México                              |\n|96 |STP            |STP                                              |\n|97 |SWAP           |Swap                                             |\n|98 |TESORED        |Tesored                                          |\n|99 |TRANSFER       |Transfer                                         |\n|100|TRANSFER_DIRECT|TRANSFER DIRECT                                  |\n|101|UALA           |Ualá                                             |\n|102|UNAGRA         |Unagra                                           |\n|103|VALMEX         |Valmex                                           |\n|104|VALUE          |Value                                            |\n|105|VECTOR         |Vector                                           |\n|106|VOLKSWAGEN     |Volkswagen Bank México                           |\n</details>","maximum":50,"minimum":1,"type":"string"}},"required":["account_number","bank_name"],"title":"spei_p2p","type":"object"},{"properties":{"":{"description":"Currency: `BHD`","type":"Description:"},"iban_number":{"description":"IBAN number","maximum":22,"minimum":22,"pattern":"^BH[A-Za-z0-9]{20}$","type":"string"}},"required":["iban_number"],"title":"stcpay_p2p","type":"object"},{"description":"Tap P2P Data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":11,"pattern":"^[0-9]{11}$","type":"string"}},"required":["phone_number"],"title":"tap_p2p","type":"object"},{"description":"Telebirr Fast Data","properties":{"":{"description":"Currency: `ETB`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":12,"minimum":12,"pattern":"^2519[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"telebirr_fast_p2p","type":"object"},{"description":"Tigo data","oneOf":[{"properties":{"":{"description":"Currency: `PYG`","type":"Description:"},"account_name":{"description":"Recipient's bank account name","maximum":60,"minimum":1,"pattern":"^[A-Za-z ]{1,60}$","type":"string"},"account_number":{"description":"Recipient's bank account number","maximum":10,"minimum":10,"pattern":"^[0-9]{10}$","type":"string"},"payment_method":{"description":"Payment method type, must be `phone` for phone payment method","enum":["phone"],"type":"string"}},"required":["payment_method","account_number","account_name"],"title":"phone","type":"object"},{"properties":{"":{"description":"Currency: `PYG`","type":"Description:"},"account_name":{"description":"Recipient's bank account name","maximum":60,"minimum":1,"pattern":"^[A-Za-z ]{1,60}$","type":"string"},"account_number":{"description":"Recipient's bank account number","maximum":12,"minimum":6,"pattern":"^[0-9]{6,12}$","type":"string"},"bank_name":{"description":"Name of the recipient's bank","maximum":25,"minimum":4,"pattern":"^[A-Za-z ]{4,25}$","type":"string"},"ci_number":{"description":"Recipient's identity document number","maximum":8,"minimum":6,"pattern":"^[0-9]{6,8}$","type":"string"},"payment_method":{"description":"Payment method type, must be `bank` for bank payment method","enum":["bank"],"type":"string"}},"required":["payment_method","account_number","account_name","ci_number","bank_name"],"title":"bank","type":"object"}],"title":"tigo_p2p","type":"object"},{"description":"UPAY data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^0[0-9]{10}$","type":"string"}},"required":["account_number"],"title":"upay","type":"object"},{"description":"UPAY-W data","properties":{"":{"description":"Currency: `BDT`","type":"Description:"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^[0-9]{11}$","type":"string"}},"required":["account_number"],"title":"upay_w","type":"object"},{"description":"UPI p2p data","properties":{"":{"description":"Currency: `INR`","type":"Description:"},"account_email":{"description":"Receiver account email","maximum":100,"type":"string"},"account_number":{"description":"Receiver account number","maximum":11,"minimum":11,"pattern":"^0[0-9]{11}$","type":"string"}},"required":["account_email","account_number"],"title":"upi_p2p","type":"object"},{"properties":{"":{"description":"Currency: `BOB`","type":"Description:"},"account_name":{"description":"Recipient's full name (as indicated in the recipient's bank)","maximum":50,"minimum":3,"pattern":"^[A-Za-zÁÉÍÓÚÜÑáéíóúüñ ]{3,50}$","type":"string"},"account_number":{"description":"Recipient's bank account number","maximum":14,"minimum":10,"pattern":"^[0-9]{10,14}$","type":"string"},"bank_code":{"description":"<details>\n  <summary>Bank code to make a withdrawal. The supported bank codes are listed below:</summary>\n\n\n№  | Code  | Bank name                   |\n---|-------|-----------------------------|\n1  | nabo  | Banco Nacional de Bolivia   |\n2  | mesc  | Banco Mercantil Santa Cruz  |\n3  | crbo  | Banco de Crédito de Bolivia |\n4  | union | Banco Unión                 |\n5  | gana  | Banco Ganadero              |\n6  | econ  | Banco Económico             |\n7  | bsol  | BancoSol                    |\n8  | bfie  | Banco FIE                   |\n9  | fort  | Banco Fortaleza             |\n10 | prod  | Banco Prodem                |\n11 | peco  | Banco PyME Ecofuturo        |\n12 | bisa  | Banco Bisa                  |\n</details>","maximum":5,"minimum":4,"pattern":"^[a-z]{4,5}$","type":"string"}},"required":["account_name","account_number","bank_code"],"title":"veripagos_fast","type":"object"},{"properties":{"":{"description":"The request must include an amount that is a multiple of 5. \nIf an amount that is not a multiple of 5 is sent, an error will occur\n\nCurrency: `XOF`","type":"Description:"},"phone_number":{"description":"Customer phone number from the Wave app","maximum":11,"minimum":11,"pattern":"^223[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"wave_mli_p2p","type":"object"},{"properties":{"":{"description":"The request must include an amount that is a multiple of 5. \nIf an amount that is not a multiple of 5 is sent, an error will occur\n\nCurrency: `XOF`","type":"Description:"},"name":{"description":"Receiver name","maximum":35,"type":"string"},"phone_number":{"description":"Customer phone number from the Wave app","maximum":12,"minimum":12,"pattern":"^221[0-9]{9}$","type":"string"},"surname":{"description":"Receiver surname","maximum":35,"type":"string"}},"required":["phone_number","name","surname"],"title":"wave_sen_p2p","type":"object"},{"description":"wavepay_l data","properties":{"":{"description":"Currency: `MMK`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":11,"minimum":9,"pattern":"^0[0-9]{8,10}$","type":"string"}},"required":["phone_number"],"title":"wavepay_l","type":"object"},{"description":"Wing_l data","properties":{"":{"description":"Currency: `KHR`","type":"Description:"},"account_number":{"description":"Account number","maximum":10,"minimum":8,"pattern":"^[0-9]{8,10}$","type":"string"}},"required":["account_number"],"title":"wing_l","type":"object"},{"description":"Yape Bob P2P Data","properties":{"":{"description":"Currency: `BOB`","type":"Description:"},"phone_number":{"description":"The phone number associated with the Yape app","maximum":8,"minimum":8,"pattern":"^[67][0-9]{7}$","type":"string"}},"required":["phone_number"],"title":"yape_bob_p2p","type":"object"},{"description":"Yape Pen P2P data","properties":{"":{"description":"Currency: `PEN`","type":"Description:"},"phone_number":{"description":"Phone number","maximum":12,"minimum":12,"pattern":"^\\+51[0-9]{9}","type":"string"}},"required":["phone_number"],"title":"yape_pen_p2p","type":"object"},{"properties":{"":{"description":"Currency: `USD`","type":"Description:"},"phone_number":{"description":"The recipient’s phone number linked to a Yappy account to which the withdrawal transfer will be sent (with country code)","maximum":11,"minimum":11,"pattern":"^507[0-9]{8}$","type":"string"}},"required":["phone_number"],"title":"yappy_p2p","type":"object"}]}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","status","order_id"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending"],"description":"Withdrawal status"},"order_id":{"type":"string","description":"Withdrawal ID in the A-Pay system"},"data":{"type":"object","description":"Payment system specific data"}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"status":{"type":"string","enum":["Failed"],"description":"Withdrawal status"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Withdrawal ID in the A-Pay system"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"amount of withdrawal is out of limits","description":"amount of withdrawal is out of limits","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Withdrawal amount exceeds the `min_withdrawal` or `max_withdrawal` [limit](#tag/Payment-system/paths/~1Remotes~1payment-systems-info/get)","default":"amount of withdrawal is out of limits"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"amount of withdrawal is more than balance sum","description":"amount of withdrawal is more than balance sum","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Amount of withdrawal is more than balance sum","default":"amount of withdrawal is more than balance sum"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"transaction failed","description":"transaction_failed","required":["success","message","code","order_id"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"failed to create transaction","default":"transaction_failed"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"},"order_id":{"type":"string","description":"Deposit ID in the A-Pay system"}}},{"title":"payment system data is not valid","description":"payment system data is not valid","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in field `data`","default":"payment system data is not valid"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in request body or parameters","default":"required field missing"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"no payment system found with such params or payment system is disabled","description":"no payment system found with such params or payment system is disabled","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Payment system not found or has been disabled","default":"no payment system found with such params or payment system is disabled"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}},{"title":"there are no active end accounts","description":"there are no active end accounts","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Failed to create withdrawal: there are no active end accounts","default":"there are no active end accounts"},"status":{"type":"string","enum":["Failed"],"description":"Deposit status"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}}}}}}}
```

All the necessary information can be found in our [API documentation](https://api.a-pay.one/#tag/Withdrawal/paths/~1Remotes~1create-withdrawal/post).

**Example of the responses:**

{% code title="Success" %}

```json
{
  "success": true,
  "status": "Pending",
  "order_id": "7fa13dbc3b79e05e",
  "data": {}
}
```

{% endcode %}

{% code title="Error" %}

```json
{
  "success": false,
  "status": "Failed",
  "message": "Invalid request",
  "code": 400,
  "order_id": "7fa13dbc3b79e05e"
}
```

{% endcode %}

### Withdrawal information

## Withdrawal information

> \`order\_id\` or/and \`custom\_transaction\_id\` parameters must be set.

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Withdrawal","description":"Withdrawals"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"withdrawal_currency":{"type":"string","title":"Currency","enum":["ARS","BDT","BHD","BOB","BRL","EGP","ETB","GNF","GTQ","INR","JMD","KES","KHR","LKR","MMK","MXN","NIO","NPR","PEN","PKR","PYG","TND","USD","UYU","XOF"],"description":"<details>\n  <summary>Payment system currency</summary>\n  \n  | Currency | Payment systems | Decimal places |\n  |----------|-----------------|----------------|\n  | ARS | `cvu_p2p`, `mercado_ars_p2p` | `0` |\n  | BDT | `apaybdt`, `bkash_a`, `bkash_api_v`, `bkash_b`, `bkash_p2p`, `nagad_a`, `nagad_api_v`, `nagad_b`, `p2p_rocket`, `tap_p2p`, `upay`, `upay_w` | `0` |\n  | BHD | `stcpay_p2p` | `3` e.g. 0.001 |\n  | BOB | `veripagos_fast`, `yape_bob_p2p` | `0` |\n  | BRL | `pix_p2p` | `0` |\n  | EGP | `egp_card`, `egp_fast`, `egp_tel` | `0` |\n  | ETB | `cbebirr_p2p`, `etb_fast`, `etb_mpesa_p2p`, `etb_p2p`, `telebirr_fast_p2p` | `0` |\n  | GNF | `orange_gin_p2p` | `0` |\n  | GTQ | `fri_p2p` | `2` e.g. 0.01 |\n  | INR | `imps`, `imps_top`, `inr_p2c`, `inr_p2p`, `paytm`, `phonepe`, `phonepe_fast`, `upi_a`, `upi_fast`, `upi_fast_qr`, `upi_fast_v`, `upi_fast_vip`, `upi_link`, `upi_p2p`, `upi_push` | `0` |\n  | JMD | `lynk_p2p`, `scotiabank_p2p` | `0` |\n  | KES | `mpesa` | `0` |\n  | KHR | `ababank`, `wing_l` | `0` |\n  | LKR | `ipay_fast`, `ipay_l` | `0` |\n  | MMK | `kbzpay_p2p`, `wavepay_l` | `0` |\n  | MXN | `spei_p2p` | `0` |\n  | NIO | `ach_p2p` | `2` e.g. 0.01 |\n  | NPR | `esewa`, `esewa_p2p`, `imepay_l`, `khalti`, `khalti_l` | `0` |\n  | PEN | `yape_pen_p2p` | `0` |\n  | PKR | `bankalfalah`, `easypaisa`, `jazzcash`, `jazzcash_l`, `nayapay_l`, `pkr_w`, `pkr_w2`, `raast_p2p` | `0` |\n  | PYG | `bancard_qr`, `itau_p2p`, `tigo_p2p` | `0` |\n  | TND | `d17_l`, `flouci`, `flouci_l` | `0` |\n  | USD | `banistmo_p2p`, `bcgeneral_p2p`, `yappy_p2p` | `2` e.g. 0.01 |\n  | UYU | `brou_p2p`, `mercado2_uyu_p2c`, `mercado_uyu_p2c`, `prex_p2p` | `0` |\n  | XOF | `moov_mli_p2p`, `orange_mli_p2p`, `orange_sen_p2p`, `wave_mli_p2p`, `wave_sen_p2p` | `0` |\n</details>"},"ps_withdrawal":{"type":"string","title":"Payment system","enum":["ababank","ach_p2p","apaybdt","bancard_qr","banistmo_p2p","bankalfalah","bcgeneral_p2p","bkash_a","bkash_api_v","bkash_b","bkash_p2p","brou_p2p","cbebirr_p2p","cvu_p2p","d17_l","easypaisa","egp_card","egp_fast","egp_tel","esewa","esewa_p2p","etb_fast","etb_mpesa_p2p","etb_p2p","flouci","flouci_l","fri_p2p","imepay_l","imps","imps_top","inr_p2c","inr_p2p","ipay_fast","ipay_l","itau_p2p","jazzcash","jazzcash_l","kbzpay_p2p","khalti","khalti_l","lynk_p2p","mercado2_uyu_p2c","mercado_ars_p2p","mercado_uyu_p2c","moov_mli_p2p","mpesa","nagad_a","nagad_api_v","nagad_b","nayapay_l","orange_gin_p2p","orange_mli_p2p","orange_sen_p2p","p2p_rocket","paytm","phonepe","phonepe_fast","pix_p2p","pkr_w","pkr_w2","prex_p2p","raast_p2p","scotiabank_p2p","spei_p2p","stcpay_p2p","tap_p2p","telebirr_fast_p2p","tigo_p2p","upay","upay_w","upi_a","upi_fast","upi_fast_qr","upi_fast_v","upi_fast_vip","upi_link","upi_p2p","upi_push","veripagos_fast","wave_mli_p2p","wave_sen_p2p","wavepay_l","wing_l","yape_bob_p2p","yape_pen_p2p","yappy_p2p"],"description":"Name of the payment system in A-Pay"},"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/withdrawal-info":{"get":{"tags":["Withdrawal"],"summary":"Withdrawal information","description":"`order_id` or/and `custom_transaction_id` parameters must be set.","parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true},{"in":"query","name":"order_id","schema":{"type":"string","minimum":16,"maximum":16,"pattern":"^[0-9a-f]{16}$"},"description":"Withdrawal ID in the A-Pay system"},{"in":"query","name":"custom_transaction_id","schema":{"type":"string","maximum":200},"description":"Transaction ID in the client's system"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"oneOf":[{"title":"Success","required":["success","status","order_id","amount","currency","payment_system","custom_user_id","created_at"],"properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending","Success","Failed","Rejected"],"description":"Withdrawal status"},"order_id":{"type":"string","description":"Withdrawal ID in the A-Pay system"},"amount":{"type":"number","description":"Withdrawal amount"},"currency":{"$ref":"#/components/schemas/withdrawal_currency"},"payment_system":{"$ref":"#/components/schemas/ps_withdrawal"},"custom_transaction_id":{"type":"string","maximum":200,"description":"Transaction ID in the client's system"},"custom_user_id":{"type":"string","maximum":200,"description":"User ID in the client's system. Must be unique for each user"},"created_at":{"type":"integer","description":"Withdrawal creation time in timestamp format"}}},{"title":"Error","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"code":{"type":"number","description":"Error code in the A-Pay system"},"message":{"type":"string","description":"Description of error"}}}]}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"oneOf":[{"title":"required field missing","description":"required field missing","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"description":"Validation error in request body or parameters","default":"required field missing"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","title":"Transaction was not found","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":404},"message":{"type":"string","default":"invalid order","description":"Transaction was not found"}},"required":["code","error","success","message"]}}}}}}}}}
```

**Examples of the responses:**

{% code title="Success" %}

```json
{
  "success": true,
  "status": "Success",
  "order_id": "7fa13dbc3b79e05e",
  "amount": 10,
  "currency": "INR",
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "created_at": 1665135515
}
```

{% endcode %}

{% code title="Error" %}

```json
{
  "success": false,
  "code": 400,
  "message": "Invalid request"
}
```

{% endcode %}


# Lost transaction

In some cases, a user may successfully complete a payment, but the transaction is not reflected in your system or is not activated. This may happen due to technical issues or user-related actions, such as network errors or when the user deposits an amount different from the one originally requested.

To handle such scenarios, you can use the APIs provided in this section. They allow you to initiate a lost transaction issue, after which the system will attempt to locate and process the missing transaction based on the provided information.

The APIs in this section are designed to:

* Automate the creation of lost transaction issue
* Enable real-time status tracking of submitted issues
* Help you provide better service to your end users

{% hint style="warning" %}
To use these APIs, you must provide either an `order_id` or a `custom_transaction_id`, along with a screenshot confirming the user's payment.
{% endhint %}


# Create lost transaction

This request will allow you to create transaction search requests in our system.

## Create new lost transaction

> Either \`order\_id\` or \`custom\_transaction\_id\` must be set.

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Lost transaction","description":"Lost transactions"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/create-lost-transaction":{"post":{"summary":"Create new lost transaction","description":"Either `order_id` or `custom_transaction_id` must be set.","tags":["Lost transaction"],"parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"title":"File","type":"string","format":"binary","description":"Supported file formats: jpg, png, heic, jpeg, pdf, mp4. You can upload up to 16 attachments. Each attachment must be no larger than 20 MB."},"order_id":{"description":"Deposit ID in the A-Pay system","maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","title":"Order Id","type":"string"},"custom_transaction_id":{"default":null,"description":"Transaction ID in the client's system","maxLength":200,"minLength":1,"title":"Custom Transaction Id","type":"string"},"description":{"default":null,"description":"Description of a lost transaction","maxLength":100000,"minLength":1,"title":"Description","type":"string"}},"required":["file"]}}}},"responses":{"200":{"content":{"application/json":{"schema":{"title":"Success","type":"object","properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending"],"description":"Lost transaction status"},"order_id":{"description":"Lost transaction ID in the A-Pay system","maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","title":"Order Id","type":"string"},"custom_transaction_id":{"description":"Transaction ID in the client's system","maxLength":200,"minLength":1,"title":"Custom Transaction Id","type":"string"},"message":{"type":"string","default":"Transaction successfully created","title":"Message","description":"Description of response"}},"required":["success","status","order_id","custom_transaction_id","message"]}}},"description":"Success"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Validation error","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"},"target":{"type":"string","enum":["form_data","query"]},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Description of error"},"location":{"type":"array","description":"Path to the field where the error occurred","items":{"type":"string"}}},"required":["message","location"]}}},"required":["success","message","code","target","errors"]},{"type":"object","title":"Lost transaction was already created","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":400},"message":{"type":"string","description":"Lost transaction was already created"}},"required":["code","error","success","message"]},{"type":"object","title":"Daily limit has been reached","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":400},"message":{"type":"string","description":"Daily limit has been reached"}},"required":["code","error","success","message"]},{"type":"object","title":"Invalid value","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":400},"field":{"type":"string","default":"order_id","enum":["order_id","custom_transaction_id"],"description":"Field name"},"message":{"type":"string","default":"Invalid value: order id","enum":["Invalid value: order id","Invalid value: custom transaction id"],"description":"Invalid value"}},"required":["code","field","success","message"]}]}}},"description":"Bad request"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","title":"Transaction was not found","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":404},"message":{"type":"string","description":"Transaction was not found"}},"required":["code","error","success","message"]}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Field required","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"Field required","description":"You must specify at least one file to upload"},"code":{"type":"number","description":"Error code in the A-Pay system"}},"required":["success","message","code"]},{"type":"object","title":"File too large","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"File too large","description":"File must be less than 20mb"},"code":{"type":"number","description":"Error code in the A-Pay system"}},"required":["success","message","code"]},{"type":"object","title":"No more than max amount files allowed","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"No more than max amount files allowed: 16","description":"No more than max amount files allowed: 16"},"code":{"type":"number","description":"Error code in the A-Pay system"}},"required":["success","message","code"]},{"type":"object","title":"File has unknown type","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"File has unknown type","description":"Supported file formats: `jpg`, `jpeg`, `png`, `heic`, `pdf`, `mp4`. File extensions are case-insensitive."},"code":{"type":"number","description":"Error code in the A-Pay system"}},"required":["success","message","code"]}]}}}}}}}}}
```

## ⚠️ Error Handling Guide

The following section describes possible error responses for the `POST /Remotes/create-lost-transaction` endpoint and how you can resolve them by yourself.

<details>

<summary>400 Bad Request – Validation Errors</summary>

#### **When it happens:**

* `order_id` or `custom_transaction_id` is missing or has an invalid format
* Field values do not meet length or pattern requirements

#### **How to resolve it:**

The response body contains detailed information about what went wrong.\
Make sure to inspect the following fields in the JSON response:

| Field               | Description                                                                                 |
| ------------------- | ------------------------------------------------------------------------------------------- |
| `target`            | Indicates which part of the request failed (e.g. `"form_data"`, `"query"`)                  |
| `errors[].message`  | Description of what exactly is wrong (e.g., “ensure this value has at least 16 characters”) |
| `errors[].location` | Path to the field that caused the error (e.g., `["order_id"]`)                              |

</details>

<details>

<summary>400 Bad Request – Duplicate Request</summary>

#### **When it happens:**

A lost transaction issue has already been created for the same ID.

#### **How to resolve it:**

Use `GET /lost-transaction-info` to check existing issue status

</details>

<details>

<summary>401 Unauthorized</summary>

#### **When it happens:**

Missing or incorrect API key in the request.

#### **How to resolve it:**

* Include the header: `Authorization: Bearer YOUR_API_KEY`
* Check that your key is valid and linked to the correct `project_id`

</details>

<details>

<summary>404 Not Found</summary>

#### **When it happens:**

The provided `order_id` or `custom_transaction_id` does not match any transaction.

#### **How to resolve it:**

* Check that you’re sending the correct ID
* Confirm the transaction exists in your system
* Contact our support team if you're certain the payment was made

</details>

<details>

<summary>422 Unprocessable Entity – File Upload Issues</summary>

#### **When it happens:**

Issues with the uploaded `file` field:

* Missing file
* Unsupported file format
* File size too large
* Too many files

#### **How to resolve it:**

* Make sure the uploaded file is in one of the supported formats: `jpg`, `png`, `heic`, `jpeg`, `pdf`
* Ensure the file size does not exceed **20 MB**
* Attach **no more than 16 files** in a single request

</details>


# Lost transaction information

This request will allow you to find out the status of the transaction search

## Lost transaction information

> Either \`order\_id\` or \`custom\_transaction\_id\` must be set.

```json
{"openapi":"3.0.3","info":{"title":"A-Pay","version":"1.0.0"},"tags":[{"name":"Lost transaction","description":"Lost transactions"}],"servers":[{"url":"https://<domain>"}],"security":[{"apikey":[]}],"components":{"securitySchemes":{"apikey":{"type":"apiKey","name":"apikey","in":"header"}},"schemas":{"unauthorized_error":{"title":"Unauthorized","required":["success","message","code"],"properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","default":"unauthorized","description":"Invalid credentials"},"code":{"type":"number","description":"Error code in the A-Pay system"}}}}},"paths":{"/Remotes/lost-transaction-info":{"get":{"summary":"Lost transaction information","description":"Either `order_id` or `custom_transaction_id` must be set.","tags":["Lost transaction"],"parameters":[{"in":"query","name":"project_id","schema":{"type":"number"},"description":"Project ID in the A-Pay system","required":true},{"in":"query","name":"order_id","description":"Deposit ID in the A-Pay system","schema":{"type":"number","maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$"},"required":false},{"in":"query","name":"custom_transaction_id","description":"Transaction ID in the client's system","schema":{"type":"string","maxLength":200,"minLength":1},"required":false}],"responses":{"200":{"content":{"application/json":{"schema":{"title":"Success","type":"object","properties":{"success":{"type":"boolean","description":"`true` if there are no errors"},"status":{"type":"string","enum":["Pending","Rejected","Done","Canceled","In Progress","Reopen"],"description":"Lost transaction status"},"order_id":{"description":"Lost transaction ID in the A-Pay system","maxLength":16,"minLength":16,"pattern":"^[0-9a-f]+$","title":"Order Id","type":"string"},"custom_transaction_id":{"description":"Transaction ID in the client's system","maxLength":200,"minLength":1,"title":"Custom Transaction Id","type":"string"},"description":{"type":"string","title":"Description","description":"Description of lost transaction"}},"required":["success","status","order_id","custom_transaction_id"]}}},"description":"Success"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Validation error","properties":{"success":{"type":"boolean","description":"`false` if an error occurred"},"message":{"type":"string","description":"Description of error"},"code":{"type":"number","description":"Error code in the A-Pay system"},"target":{"type":"string","enum":["form_data","query"]},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Description of error"},"location":{"type":"array","description":"Path to the field where the error occurred","items":{"type":"string"}}},"required":["message","location"]}}},"required":["success","message","code","target","errors"]},{"type":"object","title":"Invalid value","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":400},"field":{"type":"string","default":"order_id","enum":["order_id","custom_transaction_id"],"description":"Field name"},"message":{"type":"string","default":"Invalid value: order id","enum":["Invalid value: order id","Invalid value: custom transaction id"],"description":"Invalid value"}},"required":["code","field","success","message"]}]}}},"description":"Bad request"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unauthorized_error"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","title":"Transaction was not found","properties":{"success":{"type":"boolean","default":false},"code":{"type":"integer","default":404},"message":{"type":"string","description":"Transaction was not found"}},"required":["code","error","success","message"]}}}}}}}}}
```

## ⚠️ Error Handling Guide

The following section describes possible error responses for the `POST /Remotes/lost-transaction-info` endpoint and how you can resolve them by yourself.

<details>

<summary>400 Bad Request – Validation Errors</summary>

#### **When it happens:**

* Neither `order_id` nor `custom_transaction_id` was provided
* Provided values are in an incorrect format (e.g., invalid length or pattern)

#### **How to resolve it:**

When the API returns a **400 Bad Request**, it includes detailed information in the response body to help you identify what went wrong.

Make sure to inspect the following fields in the error response:

| Field               | Description                                                                |
| ------------------- | -------------------------------------------------------------------------- |
| `errors[].message`  | Describes the issue (e.g., "ensure this value has at least 16 characters") |
| `errors[].location` | Shows which parameter is invalid (e.g., `["order_id"]`)                    |

</details>

<details>

<summary>401 Unauthorized</summary>

#### **When it happens:**

* The `Authorization` header is missing or contains an invalid API key

#### **How to resolve it:**

* Set the header: `Authorization: Bearer YOUR_API_KEY`
* Make sure the key has access to the specified `project_id`

</details>

<details>

<summary>404 Not Found – Transaction Not Found</summary>

#### **When it happens:**

* The specified `order_id` or `custom_transaction_id` does not match any existing lost transaction issue

#### **How to resolve it:**

* Confirm that the transaction ID you’re querying has actually been submitted previously
* Contact our support team if you're sure the lost transaction issue was created
* Create a new lost transaction issue if none is found

</details>


# Postback

Communication takes place with the help of postback requests (postbacks). After each Client request for input or output, a postback is sent to the Client with the result of the operation.

Funds should only be credited to your users based on the amount specified in the postback. Similarly, funds should only be debited from your users according to the amount indicated in the postback.

### Receiving the postback <a href="#postbacken-receivingthepostback-postbake" id="postbacken-receivingthepostback-postbake"></a>

To accept postbacks, you need to implement a separate path that you can use to receive postbacks. They are sent via a POST request in JSON format.

The A-pay server is waiting for a response in json

```json
{ 
"status": "OK" 
}
```

Response code 200, otherwise, when receiving a different response, A-pay will forward the postback with a certain frequency.

### Deposit

#### Client-side signature generation

When sending webhooks, A-Pay also sends a signature: a specifically generated hash string that is created using a private key.

**The signature itself is calculated as follows:**

```json
$signature = sha1($access_key . $private_key . md5($transactions->toJson(JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)));
```

**a string of three parameters is passed to the sha1 function:**

| Parameter     | Description                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------- |
| $access\_key  | The public key is specified in the settings of the A-Pay technical support personal account  |
| $private\_key | The private key is specified in the settings of the A-Pay technical support personal account |
| md5(...)      | Hash from the MD5 function of the entire array of transactions in JSON format                |

As a result of executing this code, a string is obtained that cannot be faked without having a private key that is not passed in webhooks.

The client can compare the generated signature with the received signature from the webhook and thereby make sure that the data that came was actually sent and not faked by a scammer.

The webhook will include the status of the transactions:

* If the status is “Success”, the client should proceed with depositing the funds into the user account.
* If the status is “Failed” or “Rejected,” no funds should be deposited, or the deposit should be canceled.

#### Postback of transactions for deposit <a href="#postbacken-postbackoftransactionsfordeposit" id="postbacken-postbackoftransactionsfordeposit"></a>

**Request body schema:**

| Name         | Type                     | Description                                                                                                                    |
| ------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| access\_key  | string                   | The access key is specified in the settings of the A-Pay technical support personal account                                    |
| signature    | <p>string</p><p><br></p> | The signature was used to verify the validity of the postback. Concept of generation in the description of the deposit webhook |
| transactions | Array of objects below   | Information about the deposits made (one or more) is passed                                                                    |

**List of transactions:**

| order\_id               | string             | Deposit ID in the A-Pay system                                                                                                                                                                                                                                          |
| ----------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| status                  | string             | <p>Enum: <code>"Success"</code> <code>"Failed"</code> <code>"Rejected"</code></p><p>Deposit status, if the deposit was successful, the status will be <mark style="color:red;"><code>Success</code></mark></p>                                                          |
| amount                  | number >= 0        | Deposit amount                                                                                                                                                                                                                                                          |
| currency                | string \[ 3 .. 3 ] | Currency name                                                                                                                                                                                                                                                           |
| payment\_system         | string             | <p>Enum: <code>"upi\_fast", "upi\_fast\_v", "upi\_p2p", "upi\_a", "upi\_fast\_qr", "bankalfalah", "bkash\_a", "apaybdt", "upay", "mpesa", "phonepe", "nagad\_api\_v", "payme", "paytm", "easypaisa"</code></p><p>The payment system from which the deposit was made</p> |
| custom\_transaction\_id | string             | Transaction ID in the client's system                                                                                                                                                                                                                                   |
| custom\_user\_id        | string             | User ID in the client's system                                                                                                                                                                                                                                          |
| created\_at             | integer            | Deposit creation time, in timestamp UTC format                                                                                                                                                                                                                          |
| activated\_at           | integer            | Deposit activation date, in timestamp UTC format                                                                                                                                                                                                                        |

**Example of a postback sent by a POST request in JSON format:**

{% code fullWidth="false" %}

```json
{
  "access_key": "mrOYReXJphqo7lkL",
  "signature": "dfsfrwe3344d",
  "transactions": [
    {
      "order_id": "7fa13dbc3b79e05e",
      "status": "Success",
      "amount": 6008.39,
      "currency": "INR",
      "payment_system": "mpesa",
      "custom_transaction_id": "string",
      "custom_user_id": "string",
      "created_at": 1665731710,
      "activated_at": 1665731710
    }
  ]
}
```

{% endcode %}

**Responses:**

<mark style="color:green;">If</mark> <mark style="color:green;"></mark><mark style="color:green;">`{"status":"OK"}`</mark> <mark style="color:green;"></mark><mark style="color:green;">was passed, we consider the webhook successfully delivered.</mark>

**Example of a response:**

```json
{
    "status": "OK"
}
```

### Withdrawal

#### Client-side signature generation

When sending webhooks, A-Pay also sends a signature: a specifically generated hash string that is created using a private key.

**The signature itself is calculated as follows:**

```json
$signature = sha1($access_key . $private_key . md5($transactions->toJson(JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)));
```

**a string of three parameters is passed to the sha1 function:**

| Parameter     | Description                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------- |
| $access\_key  | The public key is specified in the settings of the A-Pay technical support personal account  |
| $private\_key | The private key is specified in the settings of the A-Pay technical support personal account |
| md5(...)      | Hash from the MD5 function of the entire array of transactions in JSON format                |

As a result of executing this code, a string is obtained that cannot be faked without having a private key that is not passed in webhooks.

The client can compare the generated signature with the received signature from the webhook and thereby make sure that the data that came was actually sent, and not faked by a scammer.

The webhook will include the status of the transactions:

* If the status is “Success”, the client should proceed with withdrawing the funds from the user account.
* If the status is “Failed” or “Rejected,” no funds should be withdrawn, or the withdrawal should be canceled.

#### Postback of transactions for deposit <a href="#postbacken-postbackoftransactionsfordeposit" id="postbacken-postbackoftransactionsfordeposit"></a>

**Request body schema:**

| Name         | Type                     | Description                                                                                                                    |
| ------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| access\_key  | string                   | The access key is specified in the settings of the A-Pay technical support personal account                                    |
| signature    | <p>string</p><p><br></p> | The signature was used to verify the validity of the postback. Concept of generation in the description of the deposit webhook |
| transactions | Array of objects below   | Information about the deposits made (one or more) is passed                                                                    |

**List of transactions:**

| order\_id               | string             | Withdrawal ID in the A-Pay system                                                                                                                                                                                                                                               |
| ----------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| status                  | string             | <p>Enum: <code>"Success"</code> <code>"Failed"</code> <code>"Rejected"</code></p><p>Withdrawal status, if the deposit was successful, the status will be <mark style="color:red;"><code>Success</code></mark></p>                                                               |
| amount                  | number >= 0        | Withdrawal amount                                                                                                                                                                                                                                                               |
| currency                | string \[ 3 .. 3 ] | Currency name                                                                                                                                                                                                                                                                   |
| payment\_system         | string             | <p>Enum: <code>"upi\_fast", "upi\_fast\_v", "upi\_p2p", "upi\_a", "upi\_fast\_qr", "imps", "bankalfalah", "bkash\_a", "apaybdt", "upay", "mpesa", "phonepe", "nagad\_api\_v", "payme", "paytm", "easypaisa"</code></p><p>The payment system from which the deposit was made</p> |
| custom\_transaction\_id | string             | Transaction ID in the client's system                                                                                                                                                                                                                                           |
| custom\_user\_id        | string             | User ID in the client's system                                                                                                                                                                                                                                                  |
| created\_at             | integer            | Deposit creation time, in timestamp UTC format                                                                                                                                                                                                                                  |
| activated\_at           | integer            | Deposit activation date, in timestamp UTC format                                                                                                                                                                                                                                |

**Example of a postback sent by a POST request in JSON format:**

{% code fullWidth="false" %}

```json
{
  "access_key": "mrOYReXJphqo7lkL",
  "signature": "dfsfrwe3344d",
  "transactions": [
    {
      "order_id": "7fa13dbc3b79e05e",
      "status": "Success",
      "amount": 6008.39,
      "currency": "INR",
      "payment_system": "mpesa",
      "custom_transaction_id": "string",
      "custom_user_id": "string",
      "created_at": 1665731710,
      "activated_at": 1665731710
    }
  ]
}
```

{% endcode %}

**Responses:**

<mark style="color:green;">If</mark> <mark style="color:green;"></mark><mark style="color:green;">`{"status":"OK"}`</mark> <mark style="color:green;"></mark><mark style="color:green;">was passed, we consider the webhook successfully delivered.</mark>

**Example of a response:**

```json
{
    "status": "OK"
}
```

#### **Expected responses to postbacks from a client:**

| Сode | Message                  |
| ---- | ------------------------ |
| 200  | Ok                       |
| 400  | error receiving          |
| 401  | error validation         |
| 404  | not found http exception |
| 500  | not enough fields        |
| 501  | empty postback           |
| 502  | incorrect signature      |
| 503  | data integrity error     |

* If successful, expect the client to have http status - 2XX.
* &#x20;All 200th codes should be accompanied by "status" = "ok"
* In case of failure, expect from the client http status other than 2XX (depending on the error) and an error message. For example, "error validation" or "not enough fields".&#x20;


# Settlement

Settlement is a request for the withdrawal of funds from clients' balances.&#x20;

Write to our financier to create a settlement request


# Report

Use A-pay Reports API to create transaction reports in CSV format for payment checks and daily operations.

The report is created asynchronously: first you create a task, then check its status, and finally download the file when it is ready.

### How it works

The process has 3 simple steps:

1. Create a report task
2. Check the task status
3. Download the CSV file

This approach is useful for large amounts of data and helps avoid timeouts.

### Authentication

Reports API uses Bearer Token authentication.

First, sign in and get an access token. Then send this token in the `Authorization` header for all report requests.

Example:

```
Authorization: Bearer {token}
```

### Step 1. Create a report task

Use `POST /reports/create` to create a new report task.

#### Request rules

* You must send at least one date filter: `create_at` or `activated_at`
* You can send both filters together
* Maximum period is 31 days
* Report format must be `csv`

#### Example request

```
{
  "filters": {
    "create_at": {
      "from": "2026-01-01T00:00:00Z",
      "to": "2026-01-31T23:59:59Z"
    },
    "statuses": ["completed", "success"]
  },
  "type": "in",
  "format": "csv",
  "columns": [
    "custom_transaction_id",
    "amount",
    "amount_after_commision"
  ]
}
```

#### Main parameters

* `filters` — filters for report data
* `create_at` — transaction creation date
* `activated_at` — transaction activation date
* `statuses` — transaction statuses
* `type` — operation type: `in` or `out`
* `format` — file format, must be `csv`
* `columns` — list of fields included in the report

#### Example response

```
{
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "created_at": "2026-01-14T10:00:00Z"
}
```

### Step 2. Check report status

Use `GET /reports/status/{task_id}` to check if the report is ready.

#### Possible statuses

* `pending` — task is in queue
* `processing` — report is being created
* `completed` — report is ready
* `failed` — report creation failed
* `expired` — task is no longer available
* `cancelled` — task was cancelled

#### Recommended check interval

* Check every 5 seconds
* Maximum recommended wait time: 200 seconds

#### Example response while processing

```
{
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "processing",
  "created_at": "2026-01-14T10:00:00Z",
  "updated_at": "2026-01-14T10:01:30Z"
}
```

#### Example response when completed

```
{
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "file_id": "abc123def456",
  "created_at": "2026-01-14T10:00:00Z",
  "updated_at": "2026-01-14T10:02:30Z",
  "expires_at": "2026-01-15T10:00:00Z",
  "record_count": 15234
}
```

### Step 3. Download the report

When the task status is `completed`, use `GET /reports/download/{file_id}` to download the file.

#### Request headers

```
Authorization: Bearer {token}
Accept: text/csv
```

#### Example response

```
custom_transaction_id;amount;amount_after_commision
TXN-001;150.50;145.25
TXN-002;200.00;194.00
```

### CSV format

The report file has the following format:

* Encoding: `UTF-8`
* Delimiter: `;`
* First row: column names
* Decimal separator: `.`
* Date format: `ISO 8601`
* Column order matches the order sent in the `columns` parameter

### Required fields for payment checks

The minimum recommended fields are:

* `custom_transaction_id`
* `amount`
* `amount_after_commision`

Example:

```
{
  "columns": [
    "custom_transaction_id",
    "amount",
    "amount_after_commision"
  ]
}
```

These fields help you match transactions and calculate the fee:

`fee = amount - amount_after_commision`

### Available columns

You can request all available columns or only the columns you need.

Commonly used columns:

* `custom_transaction_id`
* `amount`
* `amount_after_commision`
* `status`
* `created_at`
* `updated_at`
* `activated_at`
* `custom_user_id`
* `order_id`
* `transaction_id`

### Error responses

Possible error codes:

* `400` — invalid request parameters
* `401` — unauthorized
* `404` — file not found
* `410` — file expired
* `422` — date range is too large

### Summary

A-pay Reports API lets you:

* create report tasks
* check task status
* download CSV reports
* choose only the fields you need for payment checks and reporting


# Errors

{% hint style="info" %}
All the messages listed below are returned in responses with the field `code: 400`
{% endhint %}

### Payment system data is not valid <a href="#id-dokumentaciya-paymentsystemdataisnotvalid" id="id-dokumentaciya-paymentsystemdataisnotvalid"></a>

The data in the data parameter is invalid, or the field is missing. Our client either does not send the data parameter in the request or sends incorrect data in this parameter.

**How can you resolve it by yourself?** Using the deposit creation as an example:

[Link](https://api.a-pay.one/#tag/Deposit/paths/~1Remotes~1create-deposit/post) -> Data -> one of PS, for example, M-Pesa.

You must send for the mpesa payment system a cell phone number

If you do send a number, please note that it must be a 12-digit number. This is specified in string `[12..12]`

<details>

<summary>Example</summary>

Your request for deposit creation

```json
{
  "amount": 10,
  "currency": "INR",
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "data": {
  }
}
```

Right request

```json
{
  "amount": 10,
  "currency": "INR",
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "data": {
    "phone_number": "254712345678"
  }
}
```

Note that the number must be a 12-digit number.

</details>

If the payment system is different, the data will be different.

### Required field missing <a href="#id-dokumentaciya-requiredfieldmissing" id="id-dokumentaciya-requiredfieldmissing"></a>

The required fields are missing. Our client missed a mandatory field in the request (such fields are marked as required in the [documentation](https://api.a-pay.one)).

**How can you resolve it by yourself?** Using the deposit creation as an example:

[Link](https://api.a-pay.one/#tag/Deposit/paths/~1Remotes~1create-deposit/post) -> See which fields are mandatory in the request

<details>

<summary>Example</summary>

Your request:

```json
{
  "amount": 10,
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "data": {
    "phone_number": "254712345678"
  }
}
```

Right request:

```json
{
  "amount": 10,
  "currency": "INR",
  "payment_system": "mpesa",
  "custom_transaction_id": "custom123",
  "custom_user_id": "user123",
  "data": {
    "phone_number": "254712345678"
  }
}
```

Our client forgot to specify the currency of deposit creation in the request.

</details>

### No payment system found with such params or payment system is disabled

The error tells us that:

1. The data in the request is not valid
2. The specified PS is not connected or enabled for the project
3. The PS does not support the specified currency
4. The request is beyond the limits of the payment system

**How can you resolve it by yourself?**

1. You should look at the request and compare the currency in the request with the data in our documentation
2. Check the payment system and its limits [by this method](/api-documentation/payment-systems-information/getting-data-about-ps).
3. If your payment system is enabled and the amount is within limits, but the error still persists, contact us via your client chat.

### Amount of deposit is out of limits

The error tells us that the requested amount exceeded the limits of the payment system

**How can you resolve it by yourself?**

Check the payment system and its limits [with this method](/api-documentation/payment-systems-information/getting-data-about-ps).

### Amount of withdrawal is more than balance sum <a href="#id-dokumentaciya-amountofwithdrawalismorethanbalancesum" id="id-dokumentaciya-amountofwithdrawalismorethanbalancesum"></a>

The amount of withdrawal is more than there is on the balance. This error occurs only when creating a withdrawal request.

In this case, our client needs to top up the account and write to our financier

### Transaction failed <a href="#id-dokumentaciya-transaction_failed" id="id-dokumentaciya-transaction_failed"></a>

Contact our support team via your client chat to resolve this issue

### There are no active end accounts <a href="#id-dokumentaciya-therearenoactiveendaccounts" id="id-dokumentaciya-therearenoactiveendaccounts"></a>

Contact our support team via your client chat to resolve this issue

If you don't find the error here, send the full request body and error text to your customer chat, and our support will help you out ASAP.


# A-pay Merchant Portal

The A-pay Merchant Portal is a tool designed for merchants and their teams. It enables users to review project results through Statistics, as well as manage Transactions.


# Interface

## **Menu**

The Menu in the top right allows you to:

1. Switch between projects if you have more than one.
2. Select your preferred interface language.
3. Change your password.
4. Go to this documentation and contact [support](https://t.me/apay_sales).
5. Log Out of your account.

## **Statistics**

The Statistics section provides an overview of financial metrics. It includes a general overview and detailed information about deposits, withdrawals, and settlements. You can discover several reports for each type of the data.

**Available reports:**&#x20;

1. **Overview** - get a quick snapshot of the overall project results.
2. **Deposit** - track deposit statistics, conversion rates and performance of the payment systems.
3. **Withdrawal** - monitor withdrawals and usage of the payment systems.
4. **Settlements** - view settlement data and your financial results.

## **Transactions**

This section allows you to view and manage all types of the transactions. The pages in the section contain detailed information about every single transaction. You can filter the data to find a specific one.

In A-pay, available several following transaction types:

1. **Deposit** - incoming funds.
2. **Withdrawal** - outcoming funds.
3. **Settlement** - transfers to your external accounts.
4. **Lost transaction** - displays lost transactions.

Moreover, you can:

1. Export data about every type of transaction for additional reporting and analysis.\
   \* Except Lost transactions.
2. Create a lost transaction issue on the Deposit page.
3. Create a manual withdrawal on the Withdrawal page.

## **Settings**

In the Settings section, you can configure notifications, see and manage balance operations, manage users, projects and payments systems, view and download data exports, and use the request configurator.

1. **My notifications** - view notifications about events
2. **My balance** - manage your balance
3. **Balance transfer history** - shows your balance transfers
4. **Auto balance transfer history** - manage your auto transfers
5. **Users** - manage the accounts of the team members.
6. **My projects** - manage your projects and payment systems
7. **Exports** - view and download data exports for reporting and analysis.
8. **Request Configurator** - test API requests in specific cases.


# Common Actions

This section describes the functions that are available throughout the personal account, regardless of the current page

<details>

<summary>Global search</summary>

The **global search** allows you to search for a transaction across the entire system, rather than within a specific table.

* The search bar is located in the top-right corner of the screen.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FblcVkKUGNPnR7Heb1p9Z%2FGS0.png?alt=media\&token=b6144c1a-a754-4cfd-b179-304ee4342add)
* Click the bar and start typing a value, or paste a copied value.
* To search within a specific table, use the dropdown list to the right of the search bar and select the table.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FGajghLOXt3sRZ2fiRuK3%2FGS%20tables.png?alt=media\&token=a973cef3-4fa9-4997-a2f8-d2fd4cb2cd24)

**You can search by the following parameters:**

* Payment system
* Currency
* Order ID
* Transaction ID
* Wallet ID

**Search results include:**

* The number of matching records.
* The name(s) of the table(s) containing matches.
* Open on top button – opens an overlay with transaction details.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F1dYshbA4dDdLSTeyzY3T%2FGS.png?alt=media\&token=9038538e-66bf-489c-b44d-f5b97d4b9935)
* **Send to lost transaction** button (only if the record is found in the *Deposit* table) – opens a form to create a lost transaction issue. *(See the separate* [*guide on creating a lost transaction issue*](/faq/a-pay-merchant-portal/interface/transactions/lost-transaction#creating-a-lost-transaction-request)*)*

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F2OkBoFuYKhn4DHGZpXf6%2FGroup%2022.png?alt=media&amp;token=7ba82cce-209e-4b45-939e-dc2b3f6ab63c" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Hide or Show the Sidebar Menu</summary>

* Click the arrow icon at the top or bottom of the sidebar to collapse it.
* Click the arrow again to expand it.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F7AxA0pqYX4UyBYfDEHx3%2Fside%20bar.png?alt=media&amp;token=e917219f-a902-4ff6-8fb6-d23ea3386923" alt="" width="359"><figcaption></figcaption></figure>

</details>

<details>

<summary>Switching Between Projects</summary>

You can switch between projects to:

* View transactions for a specific project in the **Transactions** section.
* Change settings for a specific project in the **Settings** section.

To switch projects:

1. Click your **login name** in the top-right corner.
2. Click the **current project name**.
3. Select the desired project from the dropdown list.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FdSHCmf08akVA0tQQzbD2%2FGroup%2021.png?alt=media\&token=8217dc26-e904-4809-a10f-dd73f35dcd17)

> **Note:** The selected project does not affect the charts in the Statistics section and projects on My projects page. Use the Project filter there to display data by project.

</details>

<details>

<summary>Account Settings</summary>

Click your login name in the top-right corner to:

* Change the interface language.
* Change your account password.
* Open documentation or start a chat with our support team.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FFJ2ChTXqdLElHs9jDSZC%2FGroup%2020.png?alt=media&amp;token=34393671-f5b3-4dc9-abd7-2a41b277b6e7" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Working with Tables and Filters</summary>

Many pages display data in table format. In each table, you can:

* **Show or hide the filter panel** – click the panel header.

* **Apply filters** – set filter values and click **Apply**.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FKwozfwWJ5hGXZY6Ia4Pf%2Freset%3Aapply%20filters.png?alt=media\&token=18ce415e-ca98-4a93-928c-a6e67e9f56e3)

* **Reset all filters** – click **Reset all filters**.

* **Sort column values** – click the arrow icon in the column header.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FEXtgEjsnf9QvTDPq30sW%2Fsorting.png?alt=media\&token=1cb0f3be-aa5a-489b-8fe3-4eaf8600f979)

* **Set the number of rows per page** – choose from the page size dropdown.\
  ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FKvWwr4GsqP6qhhiuNH2J%2Fpages.png?alt=media\&token=befbcd55-5bd5-4fe4-ae8d-8a0bb365a343)

* **Show or hide table columns**:
  1. Click the **⋮** (three vertical dots) icon in the top-right corner of the table.
  2. Select **Column Settings**.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FZkPZjD6atHYIGCnYCn4J%2Fcolumn%20settings%200.png?alt=media\&token=584692a7-b3b5-43c9-bfaf-527167f0de4d)
  3. Adjust column visibility in the dropdown list.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FPVLhJImR23wz2lz135N8%2Fcolumn%20settings.png?alt=media\&token=0ceedf38-7f5a-44a4-92e7-0b7627770496)

* **Export data from tables:**
  1. Select the rows you want to export.![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FWtnfNW5z4c10zWizqkKd%2Fimage.png?alt=media\&token=185e37fb-12aa-449d-822f-36476ecbaf33)
  2. Click the **⋮** (three vertical dots) icon in the top-right corner of the table.
  3. Select **Actions** → **Export filtered rows**.![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FNhs93WhvpV1HU44kZAUU%2Fimage.png?alt=media\&token=fe7fdf75-cd7b-4d3f-b485-90dc676dcb32)
  4. Download your file.\
     &#x20;![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FCIMFxPA7KnDanAJ0HW8y%2Fimage.png?alt=media\&token=5ba2f328-4d8b-4ee7-a8ba-0a96085c64c0)

{% hint style="info" %}
**Note:** You can re-download your file from the Exports tab.
{% endhint %}

</details>


# Statistics

The **Statistics** section provides analytics for your project, including the total amount of deposits, withdrawals, and the conversion rate to successful deposits, broken down by various parameters.

{% hint style="info" %}
Data is updated daily at 00:00 (GMT). The bottom-left corner displays the date and time when the data was last updated.
{% endhint %}

{% hint style="warning" %}
Amounts are shown in US dollars (USD). Conversion from local currencies to USD is based on the exchange rate retrieved once per day from [openexchangerates.org](https://openexchangerates.org/).
{% endhint %}

### Filters panel

The filters panel is located at the top of the pages in all **Statistics** tabs. It allows you to define which data will be displayed in the charts and tables.

Available parameters:

* **Project** — filter data by project
* **Created at** — select the period for the displayed data
  * Preset last 7 days
* **Payment system** — filter by payment system
* **Status** — filter by transaction status
* **Indicator** — choose the unit of measurement:
  * Amount (in USD)
    * Preset by default
  * &#x20;Amount with fees (in USD)
  * Quantity of transactions

The panel can be collapsed or expanded by clicking its header.


# Overview

At the top of the page, there is a filters pane&#x6C;**:** see [Filters panel description](/faq/a-pay-merchant-portal/interface/statistics#filters-panel)

### **Panels**

**This week deposits**\
Displays statistics on deposits according to the selected indicator for the current week.

**This week withdrawals**\
Displays statistics on withdrawals according to the selected indicator for the current week.

**This week Settlements**\
Displays statistics on settlements according to the selected indicator for the current week.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FVBIpigWqyrzQU0exe4pR%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2012.32.04.png?alt=media&amp;token=a2984cfc-5675-460c-8e1e-577400413ec3" alt=""><figcaption></figcaption></figure>

**Deposits by Statuses and Conversion**\
A combined chart showing deposit trends by status and conversion rate for the selected period.

* Left **Y** axis: deposit statistics — according to the selected indicator.
* Right **Y** axis: percentage of successful deposits out of all deposits.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FLwcvjRA9nxS46We9UTYZ%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2012.05.28.png?alt=media&amp;token=50dec92d-2bbe-49d0-8266-3bbfb0e9fad8" alt="" width="375"><figcaption></figcaption></figure>

**Withdrawals by Statuses**\
A chart showing withdrawal trends by status.

* **Y** axis: withdrawal statistics — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FzjSiP1wnOZhL3ojwQezc%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2012.05.46.png?alt=media&amp;token=fbe0a584-500b-42c7-9465-1a0bb7296bf7" alt="" width="375"><figcaption></figcaption></figure>


# Deposit

At the top of the page, there is a filters pane&#x6C;**:** see [Filters panel description](/faq/a-pay-merchant-portal/interface/statistics#filters-panel)

### **Panels**

**Statuses and Conversion**\
A combined chart showing deposit trends by status and conversion rate for the selected period.

* Left **Y** axis: deposit statistics — according to the selected indicator.
* Right **Y** axis: percentage of successful deposits.
* The right side of the panel shows the total number of deposits for the selected period.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FqtKuLeIKcKlhmKv2ONDY%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2012.31.16.png?alt=media&amp;token=dc1e4a42-7e00-403a-9ebd-80ae1ec621ab" alt=""><figcaption></figcaption></figure>

**Statuses, Payment system, Projects**\
Each panel shows a pie chart with the share of deposits: by status, by payment system, and by project.  — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F8x2pxYmnVQgzYBvJ3xpd%2FGroup%203.png?alt=media&amp;token=a56a3973-9031-446d-9954-b06d5e719684" alt=""><figcaption></figcaption></figure>

**Payment system**\
Displays the statistics by deposits broken down by payment system  — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FZgqgUjcxhjo1lBVsS6Nh%2FGroup%202.png?alt=media&amp;token=a4cbb467-257e-4d06-a208-2842e2dc28c8" alt=""><figcaption></figcaption></figure>

**Projects**\
Displays the number or total amount of deposits (depending on the selected unit of measurement) broken down by project.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FT6ovLTQ3aQcS1apVzAeR%2FGroup%201.png?alt=media&amp;token=9f4755f5-15df-4368-9082-32259f7f2e83" alt=""><figcaption></figcaption></figure>


# Withdrawal

At the top of the page, there is a filters pane&#x6C;**:** see [Filters panel description](/faq/a-pay-merchant-portal/interface/statistics#filters-panel)

### **Panels**

**Statuses**\
Displays the statistics of withdrawals broken down by status. —according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F71LPGiYxdlJZtlfLwglg%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2012.32.55.png?alt=media&amp;token=9c1fceee-65c5-41f9-a328-95914cd965bc" alt=""><figcaption></figcaption></figure>

**Statuses, Payment system, Projects**\
Each panel shows a pie chart with the share of withdrawals: by status, by payment system, and by project.  — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FI4y5cpgXsBNVYGQTAFc1%2FGroup%204.png?alt=media&amp;token=dab36322-a3c1-44f4-ab1d-f0c02786f020" alt=""><figcaption></figcaption></figure>

**Payment system**\
Displays the statistics of withdrawals broken down by payment system.  — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FWyEI7vYooT4z6T8vulEL%2FGroup%205.png?alt=media&amp;token=80a67db2-c4ad-4669-a580-a898e7a920f2" alt=""><figcaption></figcaption></figure>

**Projects**\
Displays the statistics of withdrawals broken down by project.  — according to the selected indicator.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FiqA8vtdeq7qS8CRUdvgs%2FGroup%206.png?alt=media&amp;token=0c408af0-3c40-4130-93fb-2f03a183634e" alt=""><figcaption></figcaption></figure>


# Settlement

At the top of the page, there is a filters pane&#x6C;**:** see [Filters panel description](/faq/a-pay-merchant-portal/interface/statistics#filters-panel)

### **Panels**

**Statuses**\
Displays the statistics of settlements broken down by status.  — according to the selected indicator.

**Statuses and Payment system**\
Each panel shows a pie chart with the share of settlements: by status, payment system and project  — according to the selected indicator.

**Payment system**\
Displays the statistics of settlements broken down by payment system. — according to the selected indicator.


# Transactions

The **Transactions** section contains tables with detailed transaction information: deposits, withdrawals, settlement operations, and lost transaction requests.

### **Export data**

Data export to `.xlsx` format is available in all tables, except the *Lost transactions* table. To export data:

1. Apply filters if you want to export specific rows.
2. In the top-right corner of the table, click the ⋮ (three vertical dots) icon.
3. From the dropdown menu, select **Actions → Export filtered rows**.
4. An `.xlsx` file will be automatically downloaded with the exported data.

{% hint style="info" %}
You can view the history of all exported files in **Settings → Exports**.
{% endhint %}


# Deposit

The Deposit tab contains a table with all deposit transactions for the selected project.

<details>

<summary>Table columns</summary>

Each row contains the following information:

* **Project** — the project within which the transaction was carried out.
* **Payment system** — the payment system that was used for the transaction.
* **Currency** — transaction currency.
* **Amount** — transaction amount before commission is applied.
* **Amount after commission** — transaction amount after commission deduction (final amount)
* **Custom user id** — internal unique user identifier.
* **Custom transaction id** — internal unique transaction identifier.
* **Status** — current transaction status.
* **Created at** — date and time of transaction creation.
* **Updated at** — date and time of transaction last update.
* **Activated at** — date and time of deposit activation.
* **Order id** — internal unique order identifier.
* **Data User** — data received in the request.
* **Transaction ID** — unique transaction identifier.
* **Id wallet** — internal unique wallet identifier.
* **Subproject** —the subproject within which the transaction was carried out.
* **Actions** — available actions (e.g., copy row).

</details>

> To switch between projects, click your username in the top-right corner, then select the desired project from the dropdown list.

<details>

<summary>Transaction Statuses and Processing Rules</summary>

* **Success** – final status, transaction completed successfully
* **Rejected** – final status, transaction was declined
* Rejected fraud - final status, commited fraud
* Rejected refund - final status, declined refund
* **Failed** – final status, transaction was not completed
* **Pending** – *not* a final status, transaction is still being processed

**Processing rules:**

* A callback is sent only when the transaction reaches a final status: *Success, Rejected (including fraud and refund), Failed*.
* A transaction may remain in Pending for up to 24 hours.
* If payment is not received within this time, the transaction will automatically switch to Failed 24 hours after creation.

</details>

### Available actions

**View and search deposits**\
Browse all deposit orders in the project or find specific ones by applying filters.

**Create a lost transaction request**\
You can create a *Lost transaction* request directly from this table in two ways:

* *Option 1:*
  1. Select the required order (no more than one) by checking the box in the left column.
  2. A **Send to Lost transactions button** will appear above the table. Click it.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FEe2T8b6NKXTdzQJy0vXu%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2013.42.07.png?alt=media\&token=77561abd-1287-4700-8e45-8a82182df281)
  3. Fill in the form and click **Create issue**.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FuBt7L8CaE9OllMJMDyMZ%2FGroup%207.png?alt=media\&token=a92919a0-bf15-478c-a45e-060a0fb31ebb)
  4. The order will appear in the *Lost transaction* table.<br>
* *Option 2:*
  1. In the row with the required order, click the ⋮ (three vertical dots) icon in the Actions column.
  2. From the menu, select **Send to Lost transactions**.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F6aumKgaxcZiSQe3vfC9k%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2013.57.09.png?alt=media\&token=093e1042-3046-4e7b-a518-06c130404534)
  3. Fill in the form and click **Create issue**.
  4. The order will appear in the *Lost transaction* table.

**Export data**\
Data export to `.xlsx` format is available in this table.\
Follow the [standard export instructions](https://app.gitbook.com/o/LNbZs3dNMDs1xm16Y9hk/s/4GiUD4nehhLIWqxaI99h/dashboard/interface/transactions#export-data).


# Invoices

Invoice is a payment bill. It contains all payment information, including the payment link.

You create the payment link in your personal account and send it to the buyer. The buyer opens the link, sees the payment page, and pays for the order.

The link can be opened multiple times. It can only be used for payment once.

<details>

<summary>Table columns</summary>

Each row contains the following information:

* Project — the project within which the invoice was created.
* Created at — date and time when the invoice was created.
* Order id — internal unique order identifier.
* Custom transaction id — custom transaction identifier (provided by the user or generated by the system).
* Amount — invoice amount to be paid.
* Currency — invoice currency.
* Status — current invoice status.
* Validity period — date and time until which the payment link remains active.
* Details — opens invoice details (full invoice data and paylink).
* Actions — available row actions (e.g., cancel invoice, copy row).

</details>

> To switch between projects, click your username in the top-right corner, then select the desired project from the dropdown list.

<details>

<summary>Invoice Statuses and Processing Rules</summary>

* **Active** — the invoice is active, the payment link can be opened and the buyer can pay while it’s within the validity period.
* **Payment Started** — the buyer has started the payment process, the related payment transaction has been created.
* **Expired** — the invoice validity period has ended; the payment link is no longer active.
* **Canceled** — the invoice was canceled manually by you, the payment link is no longer active.
* **Completed** — the invoice was paid successfully.

Processing rules:

* The payment link is multi-use for opening, but one-time for payment:
  * it can be opened multiple times,
  * payment can be completed only once (after a successful payment, the buyer sees the final page and cannot pay again).

</details>

### Available actions

**View and search invoices**\
Browse all invoice orders in the project or find specific ones by applying filters

**Create an invoice**

1. Click the "Create invoice" button.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2Fn8XmmfrAzWU8Pw7WmnlI%2Fimage.png?alt=media\&token=f4c01697-fda2-401f-95ae-a2bf974fae9f)
   1. If the button is not displayed, it is not available for your role.
2. Fill in the invoice creation form:\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FjJ0S4eggUZgHXE7M1iKt%2Fimage.png?alt=media\&token=51c0ee06-5145-43c7-a5ee-781082ac939e)
   1. If you have several projects, select the one for which you want to create the invoice.
   2. Select the "Use own custom transaction id" checkbox and fill in the field if you want to assign your own invoice number.
   3. Select the currency in which the invoice should be paid.
   4. Select the required payment method. The selected payment method also determines the minimum and maximum invoice amount limits.
   5. Select the language in which the payment page will be displayed. By default, all languages are selected.
   6. Enter the invoice amount.
   7. Select the invoice validity period. After it expires, the invoice will no longer be available for payment.
   8. Select the "Use redirect URL" checkbox and enter the URL where the user should be redirected after payment. If no URL is provided, the user will remain on the final payment page.
   9. In the Description field, you can add additional information about the invoice. This information is not shown to the user during payment and is available only to you in the invoice details.
3. After filling in all required fields, click "Create invoice".
4. After the invoice is created, the system shows the details you can send to the user for payment. You can also cancel the invoice if it is no longer needed.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FTtcLUGkKRMSYPKommqpg%2Fimage.png?alt=media\&token=d8927ff0-6ba1-4aaf-9007-b96789629bb9)

**Cancel an invoice**

1. You can also cancel a created invoice from the table actions menu by selecting the required record.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F5kUaFSdXWZe7Lp8vkQGE%2Fimage.png?alt=media\&token=4ad2980f-1afb-44c2-ae0d-705026c1fa3b)
   1. Click "Actions".
   2. Select "Cancel invoice" and confirm the cancellation. An invoice can be canceled only while it is in the **Active** status.


# Withdrawal

The Withdrawal tab contains a table with all withdrawal transactions for the selected project.

> To switch between projects, click your username in the top-right corner, then select the desired project from the dropdown list.

<details>

<summary>Table columns</summary>

Each row contains the following information:

* **Project** — the project within which the transaction was carried out.
* **Payment system** — the payment system that was used for the transaction.
* **Amount** — transaction amount before commission is applied.
* **Amount after commission** — transaction amount after commission deduction (final amount)
* **Currency** — transaction currency.
* **Custom user id** — internal unique user identifier.
* **Custom transaction id** — internal unique transaction identifier.
* **Status** — current transaction status.
* **Created at** — date and time of transaction creation.
* **Updated at** — date and time of transaction last update.
* **Activated at** — date and time of deposit activation.
* **Order id** — internal unique order identifier.
* **Data User** — data received in the request.
* **Transaction ID** — unique transaction identifier.
* **Actions** — available actions (e.g., copy row).

</details>

### Available actions

**View and search withdrawals**\
Browse all withdrawal orders in the project or find specific ones by applying filters.

**Manually create a withdrawal order**

1. Click **Add manual** in the top-right corner of the page.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FifdAe78T7sZy5U3gt3Y9%2Fimage.png?alt=media\&token=4180867d-8491-4bb2-a20f-266fcff7e321)
2. Fill in the form in the popup window.&#x20;
   1. Enter the account details required for the withdrawal.\
      If you are unsure how to fill in a field, hover over the **?** icon to see a hint.
3. Click **Send withdrawal request**.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FFs8WOE7oj2K8X7LQ7XvH%2FGroup%209.png?alt=media\&token=58761fa6-d659-45f1-bb52-f016ce2dda77)
4. The order will appear in the table and be processed like any other withdrawal order.

**Export data**\
Data export to `.xlsx` format is available in this table.\
Follow the[ standard export instructions](https://app.gitbook.com/o/LNbZs3dNMDs1xm16Y9hk/s/4GiUD4nehhLIWqxaI99h/dashboard/interface/transactions#export-data).


# Settlement

The **Settlement** tab contains a table with the history of settlement operations — withdrawals from your balance to an external account.

<details>

<summary>Table columns</summary>

Each row contains the following information:

* **Client** — client name.

* **Payment system** — the payment system that was used for the transaction.

* **Currency** — transaction currency.

* **Amount** — transaction amount before commission is applied.

* **Amount after commission** — transaction amount after commission deduction (final amount)

* **Commission percent settlement —** commission amount as a percentage.

* **Comission fix settlement** — comission amount as a fixed sum.

* **Status** — current transaction status.

* **Created at** — date and time of transaction creation.

* **Updated at** — date and time of transaction last update.

* **Activated at** — date and time of deposit activation.

* **Order id** — internal unique order identifier.

* **Exchange rate** — currency exchange rate (if applied).

* **Amount after exchange** — amount after currency conversion.

* **Actions** — available actions (e.g., copy row).

</details>

### Available actions

**View and search settlements**\
Browse the entire settlement history or find specific ones by applying filters.

**Export data**\
Data export to `.xlsx` format is available in this table.\
Follow the [standard export instructions](https://app.gitbook.com/o/LNbZs3dNMDs1xm16Y9hk/s/4GiUD4nehhLIWqxaI99h/dashboard/interface/transactions#export-data).

**Create a new settlement**

1. Click **Add settlement** in the top-right corner of the page.
2. Fill in the form. After entering the payment system and amount, the commission and final payout amount will be displayed. Click **Create settlement**.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FL4TCLDhDZoHjdWpXX5Qr%2FGroup%208.png?alt=media\&token=ddc3b1f1-83dd-4499-a492-00f27769d52b)
3. The request will be sent to the finance department for processing.


# Lost transaction

The **Lost Transaction** tab contains a table for managing lost transaction requests.\
A transaction may be considered lost if the user sent funds but did not receive them on their balance, while having confirmation that the funds were credited to the final account. In such cases, a request is created and processed by our support team.

{% hint style="info" %}
By default, only transactions in active statuses are displayed. To see all requests, including closed ones, clear the Status filter and click Apply.
{% endhint %}

<details>

<summary>Table columns</summary>

* **Payment system —** the payment system that was used for the transaction.
* **Amount —** transaction amount before commission is applied.
* **Currency —** transaction currency.
* **Custom user id** — internal unique user identifier.
* **Custom transaction id** — internal unique transaction identifier.
* **Order id —** internal unique order identifier.
* **Image** — screenshots related to the transaction.
* **Created at** — date and time of transaction creation.
* **Comments** — support team comments.
* **Status** — current lost transaction request status.
* **Resolution date** — date and time the request was resolved.
* **Actions** — available actions for the request.

</details>

### Available actions

**View and search requests**\
Browse all lost transaction requests in the project or search for specific ones by applying filters.

**Cancel a request**

1. Find the request in the table.
2. In the **Actions** column, click the ⋮ (three vertical dots) icon, then select **Cancel**.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FHvgV8oFfUsRbyA6peS5A%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2015.29.06.png?alt=media\&token=746ee6cd-beac-4e51-a0ab-7c77e690a3fb)
3. The request will be stopped and moved to the *Cancelled* status.

**Reopen a closed request**

1. Find the closed request in the table.
2. In the **Actions** column, click the ⋮ icon, then select **Reopen**.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2Fh09AUOICNEEWWLr3jMOb%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2015.31.46.png?alt=media\&token=2c2cb0ed-e052-4b6b-bc8a-d2b5d45b8bba)
3. Add a comment and attach files.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FQEDdleZmC5wYQeLHhjtO%2F%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202025-09-05%20%D0%B2%2015.30.42.png?alt=media\&token=ccfa912e-6fde-4121-bcd7-ceca12193538)
4. The request will move to the *Reopen* status and will be processed by the support team.

**Add files to an active request**

1. Click the cell in the Image column.
2. In the opened form, upload files and click **Save**.

**Add or edit a comment**

* *Add a comment:*
  1. Click the cell in the Comments column.
  2. A panel will open on the right side with the comment history (if any) and a text input field.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F5WjMETv8zduzvEq9kIqi%2FGroup%2010.png?alt=media\&token=8f8af885-6403-45fc-b068-e75365ab0007)
  3. Enter your text and click the ↑ icon to submit.
* *Edit a comment:*
  1. Click the cell in the Comments column.
  2. In the comment history, find your comment and click the pencil icon.
  3. Edit the text and click **Save** changes.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2Fj0fJdHIJR4KHPJxkqiSE%2FGroup%2011.png?alt=media\&token=53835bb4-fcc2-4b12-9f6d-69a4fe41271c)

***

#### Creating a lost transaction request

You cannot create a new request directly from this tab. Instead, use one of the following methods:

* **From the Deposit table**
  * *Option 1:*
    1. Select the required order (no more than one) by checking the box in the left column.
    2. Click **Send to Lost transactions** above the table.
    3. Fill in the form and click **Create issue**.
  * *Option 2:*
    1. In the required order row, click the ⋮ icon in the Actions column.
    2. Select **Send to Lost transactions**.
    3. Fill in the form and click **Create issue**.
* **Using the web form**
  1. Go to [https://pay-crm.com/lost\_transaction/new](https://pay-crm.com/lost_transaction/new?utm_source=chatgpt.com).
  2. Enter the Order ID or Custom transaction ID of the deposit.
  3. Attach a screenshot (can be pasted via Ctrl+V).
  4. Optionally, add a comment.
* **Using the API**
  * Send a request to the `POST /Remotes/create-lost-transaction` method (see [API documentation](/api-documentation/api-integration/lost-transaction/create-lost-transaction) for details).


# Settings

The **Settings** section contains tables and pages that help you configure your project.


# My notifications

The **My notifications** table displays all notifications available for your project and allows you to manage them.

<details>

<summary><strong>Table columns</strong></summary>

* **Type** — notification type:
  * *Telegram* — notifications sent to Telegram chats.
  * *Internal* — notifications displayed in the personal account interface.
* **Is group** — indicates whether the Telegram ID belongs to a group.
* **Telegram username** — username or group name in Telegram.
* **Telegram id** — unique ID of the user or group in Telegram.
* **Categories** — notification categories.
* **Enabled** — indicates whether the notification is active.
* **Actions** — available actions for the notification.

</details>

### **Available actions**

* **View connected notifications** — see which notifications are enabled and where they are sent.
* **Enable/Disable a notification**
  1. Click the ⋮ (three vertical dots) icon in the Actions column for the desired notification.
  2. Select **Edit**.
  3. Check/Uncheck the Enabled box and click **Save changes**.\
     ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FIkH8mFofcHi0pKOjdbXv%2FGroup%2012.png?alt=media\&token=315b3a07-7e2b-4a61-aaf5-4867a4c5f634)
* **Change notification categories**
  1. Click the ⋮ icon in the Actions column.
  2. Select **Edit**.
  3. Update the Categories field.
* **Connect a new notification**
  1. Click **Connect new** in the top-right corner of the page.
  2. Follow the dialog with the bot to complete the connection.
* **Disconnect a notification**
  1. Click the ⋮ icon in the Actions column.
  2. Select **Disconnect** and confirm the action.
  3. The notification will be disabled and will no longer appear in the table.


# My balance

This table displays the balance for each payment system at the end of the calendar day.\
The balance amount includes only completed (successful) operations: deposits, withdrawals, settlements, and balance transfers.

{% hint style="info" %}
**Balance calculation formula:**

Deposit (*Success*) – Withdrawal (*Success*) – Settlement (*Success*) – Balance transfer \[from] (*Success*) + Balance transfer \[to] (*Success*) + Balance top-ups

Where *Success* transactions are those with the execution date between 00:00:00 and 23:59:59 of the calculation day.
{% endhint %}

<details>

<summary>Filters</summary>

You can filter the table using the following parameters:

* **Project** — filter by payment systems.
* **Currency** — filter by the currency of payment systems.
* **Date** — filter by day (from — to).
* **Payment system** — filter by payment systems.

</details>

<details>

<summary>Table columns</summary>

Each row contains the following information:

* **Project** — project name.
* **Payment system** — name of the payment system within the project.
* **Currency** — currency of the payment system.
* **Date** — the date for which the balance is displayed (end of the day).
* **Amount** — end-of-day balance amount in the payment system’s currency.
* **Client balance amount \~ USD** — approximate end-of-day balance amount in USD.
* **Actions** — available actions for the row (e.g., copy row).

</details>

### Available actions

1. **View balances** for all payment systems in the project.
2. **Transfer balance** using the **Create transfer** button in the top-right corner:\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FeuUAIau59oIPzDxnALiE%2Fimage.png?alt=media\&token=50466272-e599-45fb-927b-2c28317ab4c5)
   1. Click the button to open the transfer form:

      * **Amount** — enter the amount you want to transfer.
      * **From project** — select the project from which funds will be debited.
      * **To project** — select the project to which funds will be credited.
      * **From currency** — select the currency for debiting.
      * **To currency** — select the currency for crediting.
      * **From payment system** — select the payment system (balance) from which funds will be debited.
      * **To payment system** — select the payment system (balance) to which funds will be credited.

      ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FzHRqMM8qPmKIraRXh2jV%2FGroup%2013.png?alt=media\&token=24c85989-618e-4506-94ee-53eb8f9f558b)
   2. Click **Add transfer**. The transfer record will appear in the *Balance transfer history* table. When the transfer status is updated, you will receive a notification with the result.


# Balance transfer history

The **Balance transfer history** table displays all your balance transfer operations between projects and/or payment systems.

<details>

<summary>Filters</summary>

* **Status —** filter by current status of transfer attempt.
* **From Project** — filter transfers by the source project.
* **From payment system** — source payment system from which the funds were transferred.
* **To Project** — filter transfers by the destination project.
* **To payment system** — destination payment system (balance) where the funds were credited.
* **Order id** — search for a specific transfer by its internal order id.

</details>

<details>

<summary>Table columns</summary>

* **Status** — current status of the transfer.
* **Amount** — transfer amount before any conversion.
* **From project** — project from which the funds were debited.
* **From payment system** — source payment system from which the funds were transferred.
* **From currency** — currency of the source balance.
* **To project** — project to which the funds were credited.
* **To payment system** — destination payment system where the funds were credited.
* **To currency** — currency of the destination balance.
* **Exchange rate** — currency exchange rate applied during the transfer (if applicable).
* **Order ID** — internal unique transfer identifier
* **Created at** — date and time when the transfer request was created.
* **Updated at** — date and time of the last update for the transfer.
* **Activated at** — date and time when the transfer was executed.
* **From project balance** — balance of the source project after the transfer.
* **Actions** — available actions for the record (e.g., copy row).

</details>

### Available actions

**View and search balance transfers**\
Browse all balance transfer operations or find specific ones by applying filters.

**Сreate a new balance transfer**

1. Click **Create transfer** in the top-right corner.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FnMZsRRT1dyVBHby7ao1x%2Fimage.png?alt=media\&token=7438fcfa-3e97-4a18-bd9e-b36abee38bd6)
2. Fill in the form:

   * Amount — amount to transfer.
   * From project — project to debit.
   * To project — project to credit.
   * From currency — debit currency.
   * To currency — credit currency.
   * From payment system — payment system (balance) to debit.
   * To payment system — payment system (balance) to credit.

   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FzHRqMM8qPmKIraRXh2jV%2FGroup%2013.png?alt=media\&token=24c85989-618e-4506-94ee-53eb8f9f558b)
3. Click **Add transfer**. The operation will appear in the table.

**Export data**\
Data export to `.xlsx` format is available in this table.\
Follow the [standard export instructions](https://app.gitbook.com/o/LNbZs3dNMDs1xm16Y9hk/s/4GiUD4nehhLIWqxaI99h/dashboard/interface/transactions#export-data).


# Auto balance transfer rules

The **Auto balance transfer rules** table contains the schedule for automatic balance transfers.

<details>

<summary>Table columns</summary>

* **Project** — project name.
* **Currency** — transfer currency.
* **From payment system** — source payment system from which the funds were transferred.
* **To payment system** — destination payment system where the funds were credited..
* **Amount** — transfer amount.
* **Periodicity (days)** — transfer interval in days.
* **Periodicity (time)** — transfer time (UTC+0).
* **To payment system min balance threshold** — minimum balance of the credit payment system to trigger transfers.
* **From payment system balance disable threshold** — minimum balance of the debit payment system that disables auto-transfer.
* **Is enabled** — indicates whether auto-transfer is active.
* **Actions —** available actions for the record (e.g., copy row).

</details>

### Available actions

**View auto-transfer rules**\
Browse all auto-transfer rules across your projects. Use the **Project** filter in the filter panel to narrow the list by project.

**Create a new auto-transfer rule**

1. Click **Create auto-transfer** rule in the top-right corner.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F3rUlrwafjIwMTKqVlDlu%2Fimage.png?alt=media\&token=4ddbc6c0-1d8c-4c90-9e8e-77cd547e809b)
2. Select the project and currency.
3. Choose debit and credit payment systems.
4. Enter the transfer amount *(Transfers can only be made between methods with the same currency.)*
5. Specify periodicity:
   * Days — interval between transfers.
   * Time — time of day (UTC+0).
6. (Optional) Set thresholds:
   * To PS min balance threshold — minimum balance on the credit system to allow transfers.
   * From PS min balance disable threshold — minimum balance on the debit system to stop transfers.

<details>

<summary>Example</summary>

If you create an auto-transfer rule with the values shown in the screenshot below, it will work as follows:

Every day at 00:00 UTC, funds will be automatically transferred from the payment systems upi\_fast\_v and paytm to the imps payment system balance. The amount of each transfer will be 100,000 INR.\
The auto-transfer will continue until the balances on upi\_fast\_v and paytm drop to 300,000 INR.

<figure><img src="https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2Fju2ByWJAGMX450Yf4pe3%2FGroup%2014.png?alt=media&amp;token=3666b17f-0439-48f4-8488-db4c5e1ccf3f" alt=""><figcaption></figcaption></figure>

</details>


# My projects

On this page, you will see cards containing key information about your projects and payment systems.

<details>

<summary>Table columns</summary>

* Name – the project’s title.
* Type – `test` (test project) or `prod` (production project).
* Payment systems – list and details of payment systems connected to the project.
* Technical details – these fields contain a gear icon. Clicking it opens the settings. (See details below.)

</details>

### Available Actions

<details>

<summary>Viewing Payment Methods for Projects</summary>

1. Click on the eye icon in the *Payment systems* column.
2. A table will open with detailed information about the payment systems connected to the project.

Table contains:

* a window for searching a payment system by name. (upper right corner)![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F8Yh0CyNa11JAtRveY1ex%2Fimage.png?alt=media\&token=ca489550-7202-42e2-a8e5-eada93a27c1d)
* detailed information about payment systems:
  * **Payment system —** the payment system's name.
  * **Currency —** payment system currency.
  * **Comission percent deposit —** commission amount as a percentage.
  * **Comission fix deposit —** comission amount as a fixed sum.
  * **Comission percent withdrawal —** commission amount as a percentage.
  * **Comission fix withdrawal —** comission amount as a fixed sum.
  * **Comission percent settlement —** commission amount as a percentage.
  * **Comission fix settlement —** comission amount as a fixed sum.
  * **Enabled —** current status of payment system (enabled\disabled)

</details>

<details>

<summary>Generating Project Credentials</summary>

1. Click on the gear icon in the *Technical details* column.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FXt4d0s69zXe2wjb0yeRX%2Fimage.png?alt=media\&token=d1bc3400-fb68-4994-9f6c-086e9e1b0777)
2. In the opened window:
   * Left side: current keys.
   * Right side: webhooks.
3. To generate a new key (API key/Access key/Private key), click *Generate new key* next to it and confirm.\
   \
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2F1gu5gEdf8DhLdRliVCrW%2Fimage.png?alt=media\&token=dfcb15ec-4aa9-450e-ad24-360e0ce80b20)

</details>

<details>

<summary><strong>Viewing Webhooks details</strong></summary>

1. Click on the gear icon in the *Technical details* column.\
   ![](https://1432121155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4GiUD4nehhLIWqxaI99h%2Fuploads%2FXt4d0s69zXe2wjb0yeRX%2Fimage.png?alt=media\&token=d1bc3400-fb68-4994-9f6c-086e9e1b0777)
2. In the opened window:
   * Left side: current keys.
   * Right side: **webhooks**.
3. You can explore:

   * **ID** (internal unique subproject identifier)
   * **Subproject**
   * **Webhook Deposit Url**
   * **Webhook Withdrawal Url**

</details>


# My users

On this page, you can view the list of users and manage their account settings.

<details>

<summary>Filters</summary>

You can narrow down the list using the following filters:

* **Name** – search by user name.
* **Role** – filter by user role.
* **Is enabled** – filter by account activation status

</details>

<details>

<summary>Table columns</summary>

The table contains the following columns:

* **Name** – the user’s login in the system.
* **Password** – the user’s account password.
* **Role** – the user’s role.
* **Projects** – the list of projects the user is assigned to.
* **All Clients Boss** – global administrator indicator for all clients.
* **Boss** – the name of the user who is the direct supervisor (boss).
* **Is enabled** – account activation status.
* **Actions** – List of actions you can perform with the line.

</details>

### Available Actions

#### Editing the Project List for a User

To add a user to a new project:

1. Locate the user’s row in the table or use the filters tab.
2. Click on the pencil icon in the Projects column. The row will switch to edit mode.
3. Select one or more projects from the dropdown list.
4. Click Save. The user will be added to the selected projects.

#### Activating or Deactivating a User Account

1. Locate the user’s row in the table.
2. Double-click the cell in the **Is enabled** column. The checkbox will become editable.
3. To activate the account – check the box.
4. To deactivate – uncheck the box.

#### Copying a row in a table

1. Find the row you need to copy in the table.
2. Click on the three dots in the actions column. You will see a list of available actions.
3. Click on the "Copy row" icon. Done.\
   You can also click on the pin icon, which will pin the copy icon next to each row in the table.


# Exports

The **Exports** page contains all `.xlsx` files previously exported from the Deposit, Withdrawal and Settlement tables.\
You can re-download a file by clicking its value in the File column.


