# 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":"0.0.5"},"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":["mpesa","easypaisa","bankalfalah","upi_fast","upi_fast_v","upi_fast_qr","upi_p2p","upi_a","bkash_a","apaybdt","upay","nagad_api_v","bkash_api_v","paytm","phonepe","imps","imps_top","bkash_b","upi_link","nagad_a","nagad_b","easypaisa_l","upi_push","jazzcash_l","wavepay_l","d17_l","pix_p2p","spei_p2p","phonepe_fast","upi_fast_vip","wing_l","upay_w","esewa","khalti","nayapay_l","ababank","jazzcash_fast","pkr_w","flouci","ipay_l","imps","jazzcash","etb_fast","flouci_l","khalti_l","imepay_l","bkash_p2p","cvu_p2p","scotiabank_p2p","egp_tel","egp_card","ipay_fast","inr_p2p","inr_p2c","egp_tel_fast","pkr_w2","kbzpay_p2p","etb_p2p","lynk_p2p","yape_pen_p2p","bancard_qr","egp_fast","yape_bob_p2p","eur_card","tap_p2p","esewa_p2p","brou_p2p","itau_p2p","raast_p2p","orange_sen_p2p","orange_gin_p2p","orange_mli_p2p","wave_sen_p2p","wave_mli_p2p","nagad_p2p","paygo_p2p","veripagos_fast","stcpay_p2p","p2p_banistmo","yappy_p2p"],"description":"Payment system ID connected to the project"},"currency":{"type":"string","title":"Currency","enum":["INR","BDT","PKR","KES","MMK","TND","BRL","MXN","KHR","NPR","LKR","ETB","ARS","JMD","EGP","PEN","PYG","EUR","UYU","XOF","GNF","BOB","BHD","USD"],"description":"<details>\n  <summary>Payment system currency</summary>\n\n  | Currency | Payment systems |\n  |----------|-----------------|\n  | INR | `upi_fast`, `upi_fast_v`, `upi_fast_qr`, `upi_p2p`, `upi_a`, `paytm`, `phonepe`, `imps`, `imps_top`, `upi_link`, `upi_push`, `phonepe_fast`, `upi_fast_vip`, `inr_p2p`, `inr_p2c` |\n  | BDT | `nagad_api_v`, `bkash_api_v`, `bkash_a`, `apaybdt`, `upay`, `bkash_b`, `nagad_a`, `nagad_b`, `upay_w`, `bkash_p2p`, `tap_p2p`, `nagad_p2p` |\n  | PKR | `bankalfalah`, `easypaisa`, `jazzcash_l`, `nayapay_l`, `jazzcash_fast`, `pkr_w`, `jazzcash`, `pkr_w2`, `raast_p2p` |\n  | KES | `mpesa` |\n  | MMK | `wavepay_l`, `kbzpay_p2p` |\n  | TND | `d17_l`, `flouci`, `flouci_l` |\n  | BRL | `pix_p2p` |\n  | MXN | `spei_p2p` |\n  | KHR | `wing_l`, `ababank` |\n  | NPR | `esewa`, `khalti`, `khalti_l`, `imepay_l`, `esewa_p2p` |\n  | LKR | `ipay_l`, `ipay_fast`, `paygo_p2p ` |\n  | ETB | `etb_fast`, `etb_p2p` |\n  | ARS | `cvu_p2p` |\n  | JMD | `scotiabank_p2p`, `lynk_p2p` |\n  | EGP | `egp_tel`, `egp_card`, `egp_tel_fast`, `egp_fast`|\n  | PEN | `yape_pen_p2p` |\n  | PYG | `bancard_qr` |\n  | BOB | `yape_bob_p2p`, `veripagos_fast` |\n  | PYG | `bancard_qr`, `itau_p2p` |\n  | EUR | `eur_card` |\n  | UYU | `brou_p2p` |\n  | XOF | `orange_sen_p2p`, `orange_mli_p2p`, `wave_sen_p2p`, `wave_mli_p2p` |\n  | GNF | `orange_gin_p2p` |\n  | BHD | `stcpay_p2p` |\n  | USD | `p2p_banistmo`, `yappy_p2p` |\n</details>"}}},"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":{"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"}}}}}}}}}}}
```

### 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.
