Payment methods
Payment methods
Bank card (FindexIQ side)
Acquiring. Card data is collecting on the FindexIQ side. Additional fields for /deposit/create request
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | CardGate |
note | string | Yes | Payment description for client | Account deposit 321 |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_id | string | No | Client ID in the Merchant system | 321 |
Пример запроса:
{ "transaction_id": "123", "amount": "10.00", "currency": "USD", "payment_system": "CardGate", "note": "Account deposit 321", "system_fields": { "client_id": "321" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Answer is common FindexIQ response with Redirect block to FindexIQ checkout page. After checkout client will be redirected to 3DS and then returned according the url block if present.
Bank card (Merchant side)
Acquiring. Card data is collecting on the Merchant side. Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | CardGateS2S |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
system_fields > card_number | string | Yes | Card number | 4111111111111111 |
system_fields > card_month | integer(2) | Yes | Card expiry month | 01 |
system_fields > card_year | integer(4) | Yes | Card expiry year | 2020 |
system_fields > cardholder_name | string | Yes | Cardholder name | Mr Cardholder |
system_fields > card_cvv | integer | Yes | Card security code | 345 |
system_fields > client_email | string | No | Client e-mail | test@test.com |
system_fields > client_phone | string | No | Client phone in international format | +37111111111 |
system_fields > client_ip | string | No | Client ip-address | 192.168.1.1 |
system_fields > client_user_agent | string | No | User-agent of client browser | Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 |
Optional fields can be needed in live mode. Please specify it before going live.
Request example:
{ "transaction_id": "123", "amount": "10.00", "currency": "USD", "payment_system": "CardGateS2S", "note": "Account deposit 321", "system_fields": { "client_id": "321", "card_number": "4111111111111111", "card_month": "01", "card_year": "2020", "cardholder_name": "Mr Cardholder", "card_cvv": "345" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Answer is common FindexIQ response with Redirect block to 3DS page. After passing 3DS client will be returned according the url block if present.
Attention! Redirect block can contain different "url", "method" and "params".
The example of the common response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGateS2S", "redirect": { "url": "https://bank.com/3ds", "method": "POST", "params": { "pareq": "12345678" } } }
In some cases answer may not contain redirect block. It could happen in some cases like not enrolled in 3DS card or some unexpected system behavior. Merchant system should await for callback with final status or check status of the transaction by itself.
The example of that kind of response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGateS2S" }
3DSv2 (Merchant side)
Additional request data needs to be sent to use 3DSv2 authentication method.
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
three_ds_v2 | object | Only for 3DSv2 | Container for 3DSv2 parameters | |
three_ds_v2 > accept_header | string | Yes | Exact content of the HTTP accept headers as sent to the 3DS Requester from the Cardholder browser. | text/html,application/xhtml+xml,application/xml |
three_ds_v2 > java_enabled | boolean | Yes | Boolean that represents the ability of the cardholder browser to execute Java. The value can be retrieved by accessing a property of the navigator with JavaScript, navigator.javaEnabled. | true |
three_ds_v2 > language | string | Yes | Value representing the browser language as defined in IETF BCP47. The value can be retrieved by accessing a property of the navigator with JavaScript, navigator.language. | en-EN |
three_ds_v2 > color_depth | integer | Yes | Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.colorDepth property. The value can be one of 1, 4, 8, 15, 16, 24, 32, 48. | 48 |
three_ds_v2 > screen_height | integer | Yes | Total height of the Cardholder's screen in pixels. Value is returned from the screen.height property. | 800 |
three_ds_v2 > screen_width | integer | Yes | Total width of the Cardholder's screen in pixels. Value is returned from the screen.width property. | 600 |
three_ds_v2 > time_zone_offset | string | Yes | Time difference between UTC time and the Cardholder browser local time, in minutes. The value can be retrieved using Javascript getTimezoneOffset() method. | -300 |
three_ds_v2 > user_agent | string | Yes | Exact content of the HTTP user-agent header. | AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 |
three_ds_v2 > ip | string | Yes | Cardholder's IP address. | 127.0.0.1 |
Request example:
{ "transaction_id": "123", "amount": "10.00", "currency": "USD", "payment_system": "CardGateS2S", "note": "Account deposit 321", "system_fields": { "client_id": "321", "card_number": "4111111111111111", "card_month": "01", "card_year": "2020", "cardholder_name": "Mr Cardholder", "card_cvv": "345" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" }, "three_ds_v2": { "accept_header": "text/html,application/xhtml+xml,application/xml", "java_enabled": true, "language": "en-EN", "color_depth": 48, "screen_height": 800, "screen_width": 600, "time_zone_offset": "-300", "user_agent": "AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0", "ip": "127.0.0.1", } }
Wallet (FindexIQ side)
Contact your manager to specify if this method is available.
Deposit. Wallet number and additional data are collecting on the FindexIQ side.
The request is sent by POST to the address:
https://psp.findexiq.com/api/deposit/create/form
The request is identical as for /deposit/create request of specific wallet method but you don't need to send the wallet number or fields that client could fill in the "system_fields" block.
In case of successful transaction creation the response should be a common redirect response with payment completion form URL:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet", "redirect": { "url": "https://psp.findexiq.com/payment/checkout/deposit/12345678", "method": "GET", "params": [] } }
In case of error occurred the response should be the common error response.
After completion of payment client will be returned to merchant site according the url block if present.
Wallet (Merchant side)
Deposit. Wallet number and additional data are collecting on merchant's side.
The request is sent by POST to the address:
https://psp.findexiq.com/api/deposit/create
Refer to specific wallet method section of this documentation to check mandatory request fields.
The examples of the responses:
No action needed, transaction status is not final:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet" }
Redirect response to complete transaction:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet", "redirect": { "url": "https://wallet.com/complete", "method": "POST", "params": { "some": "param", "another": "param2", } } }
Redirect response to complete transaction by entering OTP code (please refer to OTP Merchant Side section for alternative ways of processing):
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet", "redirect": { "url": "https://psp.findexiq.com/payment/checkout/otp/12345678", "method": "GET", "params": [] } }
No action needed, transaction is successful:
{ "status": "ok", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet" }
In case of error occurred the response should be the common error response.
Wallet OTP (Merchant side)
There is a possibility to collect OTP code for wallet payment completion on merchant's side.
If merchant got response with redirect block to /payment/checkout/otp/ endpoint, you can draw an input for client to enter OTP code there and then send it to the system.
The request is sent by POST to the address:
https://psp.findexiq.com/deposit/complete/otp
Fields for /deposit/complete/otp request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
id | int | Yes | Transaction ID | 300 |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > otp | string | Yes | OTP | 1234 |
Request example:
{ "id": 300, "system_fields": { "otp": "1234", } }
The examples of the responses:
No action needed, transaction status is not final:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet" }
Redirect response to complete transaction:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet", "redirect": { "url": "https://wallet.com/complete", "method": "POST", "params": { "some": "param", "another": "param2", } } }
No action needed, transaction is successful:
{ "status": "ok", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.3", "amount_client": "10.00", "currency": "USD", "payment_system": "Wallet" }
In case of error occurred the response should be the common error response.
FindexIQ vouchers
Check voucher status request:
POST https://psp.findexiq.com/api/voucher/check
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Voucher |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > voucher_number | string | Yes | Voucher number | 111122223333444455 |
Example of the request:
{ "payment_system": "Voucher", "system_fields": { "voucher_number": "111122223333444455" } }
Response contains voucher face value and currency or error details. You get successful response only if voucher is ready to be redeemed.
Successful response:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Status of the request | ok |
voucher_amount | string | Yes | Voucher face value | 1000.00 |
voucher_currency | string | Yes | Voucher currency code | USD |
Example of the successful response:
{ "status": "ok", "voucher_amount": "1000.00", "voucher_currency": "USD" }
Failed response:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Status of the request | error |
code | string | Yes | Error code | 201 |
message | string | Yes | Text description of an error | Mandatory field `voucher_number` is not present |
Example of the failed response:
{ "status": "error", "code": "201", "message": "Mandatory field `voucher_number` is not present" }
Redeem voucher request:
POST https://psp.findexiq.com/api/voucher/redeem
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Voucher |
transaction_id | string | No | Transaction number in the Merchant system | 123 |
note | string | No | Transaction description for the Merchant | Account deposit 321 |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > voucher_number | string | Yes | Voucher number | 111122223333444455 |
system_fields > voucher_password | string | Yes | Voucher password | 123456 |
url | object | No | Container for URL addresses transmitting | |
url > callback_url | url | No | URL for transmitting notification of a payment to the Merchant system | http://site.com/callback |
Example of the request:
{ "payment_system": "Voucher", "transaction_id": "123", "note": "Account deposit 321", "system_fields": { "voucher_number": "111122223333444455", "voucher_password": "123456" }, "url": { "callback_url": "http://site.com/callback" } }
Response is common FindexIQ deposit response with ok status and without redirect block. Example of the successful response:
{ "status": "ok", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "1000.00", "amount_merchant": "950.00", "amount_client": "1000.00", "currency": "USD", "payment_system": "Voucher" }
Example of the failed response:
{ "status": "error", "code": "201", "message": "Mandatory field `voucher_number` is not present" }
For testing purposes:
Use "payment_system": "TestVoucher"
Test vouchers:
360046146009394524, password 123456 - successful payment
360046146009399184 - unavailable for payout
360046146009400339 - a voucher of a blocked user
Any other voucher will return a 'Not found' error.
The vouchers may be tested with the 'check' method as well as 'redeemed'.
The value of the successful voucher is 100 USD.
The example fee is 5%.
EcoPayz
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Ecopayz |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_first_name | string | Yes | First name in ecoPayz system | Ivan |
system_fields > client_last_name | string | Yes | Last name in ecoPayz system | Ivanov |
system_fields > client_date_birth | date(Y-m-d) | Yes | Date of birth user (in ecoPayz system) | 1991-02-13 |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "EUR", "payment_system": "Ecopayz", "note": "Account deposit 321", "system_fields": { "client_first_name": "Ivan", "client_last_name": "Ivanov", "client_date_birth": "1991-02-13" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Additional fields for /deduce/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Ecopayz |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_account_number | string | Yes | Account number user in ecopayz system | 1234567890 |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "EUR", "payment_system": "Ecopayz", "note": "Account payout 321", "system_fields": { "client_account_number": "1234567890" }, "url": { "callback_url": "https://site.com/callback" } }
Answer is common FindexIQ payout response.
Privat24
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | DepositUA |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > user_id | string | Yes | Client ID in the Merchant system | 321 |
system_fields > email | string | Yes | Client e-mail | test@test.com |
system_fields > return_url | string | Yes | URL for client redirection after payment process | http://site.com/return |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "UAH", "payment_system": "DepositUA", "note": "Account deposit 321", "system_fields": { "user_id": "321", "email": "test@test.com", "return_url": "http://site.com/return" }, "url": { "callback_url": "https://site.com/callback" } }
Answer is common FindexIQ response with Redirect block to Privat24 checkout page. After checkout client will be returned according the redirect_url.
Paysafecard
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Paysafecard |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_success_url | string | Yes | URL for client redirection after successful payment | https://site.com/success |
system_fields > client_failure_url | string | Yes | URL for client redirection after unsuccessful payment | https://site.com/fail |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "EUR", "payment_system": "Paysafecard", "note": "Account deposit 321", "system_fields": { "client_success_url": "https://site.com/success", "client_failure_url": "https://site.com/fail", "client_id": "321" }, "url": { "callback_url": "https://site.com/callback", } }
Additional fields for /deduce/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | Paysafecard |
system_fields | object | Yes | Container for additional fields of payment system | |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
system_fields > client_email | string | No | Client e-mail | test@test.com |
system_fields > client_date_of_birth | date(Y-m-d) | Yes | Date of birth user (in Paysafecard system) | 1991-02-13 |
system_fields > client_first_name | string | Yes | First name in Paysafecard system | Ivan |
system_fields > client_last_name | string | Yes | Last name in Paysafecard system | Ivanov |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "EUR", "payment_system": "Paysafecard", "note": "Account payout 321", "system_fields": { "client_id":"321", "client_email": "test@test.com", "client_date_birth": "1991-02-13", "client_first_name": "Ivan", "client_last_name": "Ivanov" }, "url": { "callback_url": "https://site.com/callback", } }
Answer is common FindexIQ payout response.
SBP
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name | SBP - Specify with your manager |
The example of the request:
{ "transaction_id": "123", "amount": "1000.00", "currency": "RUB", "payment_system": "SBP", "note": "Account deposit 321", "system_fields": { "client_id": "321" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Answer is common FindexIQ response with Redirect block to SBP page. After payment completion client will be returned according the url block if present.
Attention! Redirect block can contain different "url", "method" and "params". "params" could be empty
The example of the common response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "1000.00", "amount_merchant": "93.00", "amount_client": "1000.00", "currency": "RUB", "payment_system": "SBP", "redirect": { "url": "https://sbp.nspk.ru/payment", "method": "POST", "params": { "param": "value" } } }
Request /bank/lists/available/{paymentSystem}/{country} request should be done before sending /deduce/create request. No additional fields is required.
Field | Description | Example |
---|---|---|
paymentSystem | Payout gate for SBP | SBP |
country | Country. For SBP only RU. | RU |
FindexIQ response with bank list. Example of common response:
{ "status":"ok", "data":[ { "bank_id":"123", "name":"Bank name" }, ], }
Successful response:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Status of request. ok - successful response | ok |
data | array|null | Yes | Bank list available for SBP payout | |
bank_id | string | Yes | Bank id, that should be then send in /deduce/create request. | 123 |
name | string | Yes | Bank name | Bank name |
Additional fields for /deduce/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name. | SBP - Specify with your manager |
system_fields | object | Yes | Container for additional fields of payment system. Fields list should be clarified via manager, except noted below | |
system_fields > client_bank_id | string | Yes | Bank id for SBP payout. Should be received via /bank/lists/available/{paymentSystem}/{country} request. Example above | 123 |
Answer is common FindexIQ payout response.
M10
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name. | M10 - Specify with your manager |
system_fields | object | Yes | Container for additional fields of payment system. | M10 - Specify with your manager |
system_fields | string | Yes | Client ID in the Merchant system | 321 |
Additional fields for /deduce/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name. | M10 - Specify with your manager |
system_fields | object | Yes | Container for additional fields of payment system. | |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
system_fields > client_phone | string | Yes | Client account in M10 system | 994125555555 |
The example of the request:
{ "transaction_id": "123", "amount": "100.00", "currency": "AZN", "payment_system": "M10", "note": "Account deposit 321", "system_fields": { "client_id": "321" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Answer is common FindexIQ response with Redirect block to M10 page. After payment completion client will be returned according the url block if present.
Attention! Redirect block can contain different "url", "method" and "params". "params" could be empty.
The example of the common response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "100.00", "amount_merchant": "95.00", "amount_client": "100.00", "currency": "AZN", "payment_system": "M10", "redirect": { "url": "https://site.url/", "method": "GET", "params": { "param": "value" } } }
EManat
Additional fields for /deposit/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name. | MPay - Specify with your manager |
system_fields | object | Yes | Container for additional fields of payment system. | |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
Additional fields for /deduce/create request:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
payment_system | string | Yes | Payment system name. | MPay - Specify with your manager |
system_fields | object | Yes | Container for additional fields of payment system. | |
system_fields > client_id | string | Yes | Client ID in the Merchant system | 321 |
system_fields > client_phone | string | Yes | Client account in EManat system | 994125555555 |
The example of the request:
{ "transaction_id": "123", "amount": "100.00", "currency": "AZN", "payment_system": "MPay", "note": "Account deposit 321", "system_fields": { "client_id": "321" }, "url": { "callback_url": "https://site.com/callback", "fail_url": "https://site.com/fail", "pending_url": "https://site.com/pending", "success_url": "https://site.com/success" } }
Answer is common FindexIQ response with Redirect block to EManat page. After payment completion client will be returned according the url block if present.
Attention! Redirect block can contain different "url", "method" and "params". "params" could be empty
The example of the common response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "100.00", "amount_merchant": "95.00", "amount_client": "100.00", "currency": "AZN", "payment_system": "MPay", "redirect": { "url": "https://site.url/", "method": "GET", "params": { "param": "value" } } }