For developers
For developers
General technical details
All the requests regarding AbyssPay API should be sent to:
https://abysspay.online/api
All the requests should contain the Auth header with an authorization key that will be sent to Merchant, e.g.:
POST /deposit/create HTTP/1.1 Host: abysspay.online Accept: application/json Content-Type: application/json Auth: fcd8766d4fa5b4a5c7198b87a5d0921d
AbyssPay API deals with JSON requests.
All the requests, excluding GET, should be signed by a secret key that will be also sent to Merchant. For signing you need to deliver the md5 hash from a request body with a secret a key concatenating. Then the delivered hash is used in the Sign header and sent together with the request.
The example of the hash calculation in PHP:
$secret_key = '1dfcd12ba13fff487a84cf50d8099297'; $request = '{"test":"test"}'; $sign = md5($request . $secret_key); //49e8dde596382693c52ccc3d722e5229
POST request will be written as:
POST /deposit/create HTTP/1.1 Host: abysspay.online Accept: application/json Content-Type: application/json Auth: fcd8766d4fa5b4a5c7198b87a5d0921d Sign: 49e8dde596382693c52ccc3d722e5229 … {"test":"test"}
Whereas AbyssPay sends the requests to the Merchant system using the same rules and keys.
Your integration keys should be received via the link. First time you will get this link via email. The keys will be of use within 1 hour via the link. Otherwise, you should require the keys from the manager who will send you another link. All other ways of getting the keys are considered insecure.
Payment process
Please see below the scheme of the payment through Payment System by means of AbyssPay API:
A maximally general case is analyzed in this scheme. In different systems the schemes can differentiate. The information is thoroughly described in the section below.
All the cases will be reviewed after the Section of Requests and Responses.
Request for payment transaction creating /deposit/create
The request is sent by POST to the address:
https://abysspay.online/api/deposit/create
The request format is as follows:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
amount | float(10,2) | Yes | Transaction amount | 10.00 |
currency | string(3) | Yes | Transaction currency | USD |
payment_system | string | Yes | Payment system name | CardGate |
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 | No | Container for additional fields of payment system. You can specify it with your manager | |
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 |
url > fail_url | url | No | URL for user redirecting to the Merchant page in case of failure | http://site.com/fail |
url > pending_url | url | No | URL for user redirecting to the Merchant page in case of transaction nonfinal status | http://site.com/pending |
url > success_url | url | No | URL for user redirecting to the Merchant page in case of success | http://site.com/success |
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "USD", "payment_system": "CardGate", "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" } }
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status 'created' in the case of success, 'error' if an error arose | created |
id | integer | Yes (success) | Transaction number in AbyssPay system | 300 |
transaction_id | string | No (success) | Transaction number in the Merchant system, if it was transmitted in the request | 123 |
type | string | Yes (success) | Transaction type: 'deposit' – top-up | deposit |
amount_to_pay | string | Yes (success) | The amount, required to be paid to the Client | 10.00 |
amount_merchant | string | Yes (success) | The amount that will be credited to the Merchant account (less payment system fee) | 9.30 (with a fee, e.g. 7%) |
amount_client | string | Yes (success) | *deprecated* | 10.00 |
currency | string(3) | Yes (success) | Transaction currency | USD |
payment_system | string(3) | Yes (success) | Payment system name | CardGate |
redirect | object | Yes (success) | Container with parameters of redirect | |
redirect > url | url | Yes (success) | URL for the request sending | https://abysspay.online/ |
redirect > method | string | Yes (success) | The request method | GET |
redirect > params | object | Yes (success) | Container with the request parameters. All the parameters in the container need to be sent together with the request. [] will be presented in case of empty params. | |
code | string | Yes (fail) | Error code, list of codes and their description are in the table below | 500 |
message | string | Yes (fail) | Text description of an error | Internal server error |
description | string | No (fail) | Additional error description, if it is not on AbyssPay side | Do not honor |
system_fields | object | No | Container for additional fields of payment system that you've sent |
The example of successful AbyssPay response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "redirect": { "url": "https://abysspay.online/payment/checkout", "method": "GET", "params": { "data": "12345678" } } }
The example of unsuccessful AbyssPay response:
{ "status": "error", "code": "201", "message": "Mandatory field `amount` is not present" }
Request for capturing an authorized transaction
The request is sent by POST to the address:
https://abysspay.online/api/deposit/capture/authorization
The request format is as follows:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
original_transaction_id | integer | Yes | Authorization transaction number in AbyssPay system | 300 |
amount | float(10,2) | No | Capture amount. If not present, the full amount will be captured. | 10.00 |
currency | string(3) | No | Capture currency. Must be present if amount is present. | USD |
transaction_id | string | No | Transaction number in the Merchant system | 123 |
note | string | No | Transaction description for the Merchant | Account deposit 321 |
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 |
The example of the request:
{ "original_transaction_id": "300", "amount": "10.00", "currency": "USD", "transaction_id": "123", "url": { "callback_url": "https://site.com/callback" } }
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status 'created' in the case of non final status, 'ok' in case of successful status, 'error' if an error arose. | created |
id | integer | Yes (success) | Transaction number in AbyssPay system | 300 |
transaction_id | string | No (success) | Transaction number in the Merchant system, if it was transmitted in the request | 123 |
type | string | Yes (success) | Transaction type: 'capture' | capture |
amount_to_pay | string | Yes (success) | The amount, required to be paid to the Client | 10.00 |
amount_merchant | string | Yes (success) | The amount that will be credited to the Merchant account (less payment system fee) | 9.30 (with a fee, e.g. 7%) |
amount_client | string | Yes (success) | *deprecated* | 10.00 |
currency | string(3) | Yes (success) | Transaction currency | USD |
payment_system | string(3) | Yes (success) | Payment system name | CardGate |
description | string | No (fail) | Additional error description, if it is not on AbyssPay side. | Do not honor |
The example of successful AbyssPay non final response:
{ "status": "created", "id": "301", "transaction_id": "123", "type": "capture", "amount_to_pay": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", }
The example of successful AbyssPay response:
{ "status": "ok", "id": "301", "transaction_id": "123", "type": "capture", "amount_to_pay": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate" }
The example of unsuccessful AbyssPay response:
{ "status": "error", "id": "301", "transaction_id": "123", "type": "capture", "amount_to_pay": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "description": "Capture failed" }
Payout process
Please see below the scheme of the payout through Payment System by means of AbyssPay API:
A maximally general case is analyzed in this scheme. In different systems the schemes can differentiate. The information is thoroughly described in the section below.
The payout process is asynchronous. The Merchant creates a transaction with /deduce/create method. If transaction is created successfully then the Merchant should await for notification or send status requests.
Request for payout transaction creating /deduce/create
The request is sent by POST to the address:
https://abysspay.online/api/deduce/create
The request format is as follows:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
amount | float(10,2) | Yes | Transaction amount | 10.00 |
currency | string(3) | Yes | Transaction currency | USD |
payment_system | string | Yes | Payment system name | Card |
transaction_id | string | Yes | 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. You can specify it with your manager | |
url | object | No | Container for URL addresses transmitting | |
url > callback_url | url | No | URL for transmitting notification of a payout to the Merchant system | http://site.com/callback |
url > reversal_url | url | No | URL for transmitting notification of a successful payout that had been reversed | http://site.com/callback |
The transaction_id parameter must be unique. In case of repeated ID AbyssPay system will answer with 306 error code. This does not mean that transaction in not successful! We suggest to check transaction status after receiving this kind of response.
In some cases payment system can cancel payout transaction after it became successful. For this case reversal_url is used. AbyssPay send common notification request to reversal_url with transaction status 'error' and 'Declined: reversal' message.
The example of the request:
{ "transaction_id": "123", "amount": "10.00", "currency": "USD", "payment_system": "Card", "system_fields": { "card_number": "4111111111111111", "client_phone": "+79008007000", "payment_description": "Account deposit 321" }, "url": { "callback_url": "https://site.com/callback", "reversal_url": "https://site.com/reversal" } }
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status 'created' in the case of non final status, 'error' if an error arose, 'ok' in the case of success status. | created |
id | integer | Yes (success) | Transaction number in AbyssPay system | 300 |
transaction_id | string | No (success) | Transaction number in the Merchant system, if it was transmitted in the request | 123 |
type | string | Yes (success) | Transaction type: 'deduce' – payout | deduce |
amount_to_pay | string | Yes (success) | The amount, required to be paid to the Client | 10.00 |
amount_merchant | string | Yes (success) | The amount withdrawn from the Merchant account | 10.70 (with a fee, e.g. 7%) |
amount_client | string | Yes (success) | *deprecated* | 10.00 |
currency | string(3) | Yes (success) | Transaction currency | USD |
payment_system | string(3) | Yes (success) | Payment system name | CardGate |
created | integer | Yes (success) | Timestamp of the creation date and time | 1510000000 |
system_fields | object | No | Container for additional fields of payment system that you've sent. |
The example of successful non final AbyssPay response:
{ "status": "created", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "10.70", "amount_client": "10.00", "currency": "USD", "payment_system": "Card", "created": 1510000000 }
The example of successful AbyssPay response:
{ "status": "ok", "id": "300", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "10.70", "amount_client": "10.00", "currency": "USD", "payment_system": "Card", "created": 1510000000 }
The example of unsuccessful AbyssPay response:
{ "status": "error", "code": "305", "message": "Insufficient balance" }
Request for recurring transaction creating /deposit/create/recurring
The request is sent by POST to the address:
https://abysspay.online/api/deposit/create/recurring
The request format and payment flow are the same as for payment transaction creation /deposit/create
After successful completion of the payment you will get an additional parameter "recurring_id" (see notification and status section) which you can use to initiate recurring transaction.
Request for recurring transaction initiation /deposit/recurring
The request is sent by POST to the address:
https://abysspay.online/api/deposit/recurring
The request format is as follows:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
recurring_id | int | Yes | Recurring ID of the initial transaction | 300 |
amount | float(10,2) | Yes | Transaction amount | 10.00 |
currency | string(3) | Yes | Transaction currency | USD |
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 | No | Container for additional fields of payment system. You can specify it with your manager. | |
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 |
The example of the request:
{ "recurring_id": "300", "transaction_id": "123", "amount": "10.00", "currency": "USD", "url": { "callback_url": "https://site.com/callback" } }
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status 'ok' in the case of success, 'error' if an error arose, 'created' if final status is not available yet. | created |
id | integer | Yes (success) | Transaction number in AbyssPay system | 300 |
transaction_id | string | No (success) | Transaction number in the Merchant system, if it was transmitted in the request | 123 |
type | string | Yes (success) | Transaction type: 'deposit' – top-up | deposit |
amount_to_pay | string | Yes (success) | The amount, required to be paid to the Client | 10.00 |
amount_merchant | string | Yes (success) | The amount that will be credited to the Merchant account (less payment system fee) | 9.30 (with a fee, e.g. 7%) |
currency | string(3) | Yes (success) | Transaction currency | USD |
payment_system | string | Yes (success) | Payment system name | CardGate |
redirect | object | Yes (success) | Container with parameters of redirect | |
redirect > url | url | Yes (success) | URL for the request sending | https://abysspay.online/ |
redirect > method | string | Yes (success) | The request method | GET |
redirect > params | object | Yes (success) | Container with the request parameters. All the parameters in the container need to be sent together with the request. [] will be presented in case of empty params. | |
code | string | Yes (fail) | Error code, list of codes and their description are in the table below. | 500 |
message | string | Yes (fail) | Text description of an error | Internal server error |
description | string | No (fail) | Additional error description, if it is not on AbyssPay side | Do not honor |
system_fields | object | No | Container for additional fields of payment system |
The example of successful AbyssPay response:
{ "status": "ok", "id": "301", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.30", "currency": "USD", "payment_system": "CardGate" }
The example of unsuccessful AbyssPay response:
{ "status": "error", "code": "201", "message": "Mandatory field `amount` is not present" }
The example of non final AbyssPay response:
{ "status": "created", "id": "301", "transaction_id": "123", "type": "deposit", "amount_to_pay": "10.00", "amount_merchant": "9.30", "currency": "USD", "payment_system": "CardGate" }
Refunds
Refunds can only be made if next conditions are met:
- Payment method supports refunds (you can specify it with your manager).
- Transaction type is deposit and its status is success.
- Transaction type is authorization and it has a successful capture transaction.
- Merchant balance is greater of equal refund amount.
- Sum of all refunds on specific transaction is less or equal the transaction amount (capture amount in case of authorization/capture).
The request is sent by POST to the address:
https://abysspay.online/api/refund/create
The request format is as follows:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
amount | float(10,2) | Yes | Refund amount | 10.00 |
currency | string(3) | Yes | Transaction currency | USD |
original_transaction_id | integer | Yes | AbyssPay ID of the original transaction | 300 |
transaction_id | integer | Yes | Transaction number in the Merchant system | 123 |
note | string | No | Transaction description for the Merchant | Account deposit 321 |
url | object | No | Container for URL addresses transmitting | |
url > callback_url | url | No | URL for transmitting notification of a refund to the Merchant system | http://site.com/callback |
The example of the request:
{ "amount": "10.00", "currency": "USD", "original_transaction_id": "300", "transaction_id": "123", "url": { "callback_url": "https://site.com/callback" } }
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status 'ok' in the case of success, 'created' in case of non-final status, 'error' if an error arose. | created |
id | integer | Yes (success) | Transaction number in AbyssPay system | 301 |
transaction_id | string | No (success) | Transaction number in the Merchant system, if it was transmitted in the request. | 123 |
type | string | Yes (success) | Transaction type | refund |
amount_to_pay | string | Yes (success) | The amount, to be refunded to the Client | 10.00 |
amount_merchant | string | Yes (success) | The amount withdrawn from the Merchant account | 10.70 (with a fee, e.g.7%) |
amount_client | string | Yes (success) | *deprecated* | 10.00 |
currency | string(3) | Yes (success) | Transaction currency | USD |
payment_system | string | Yes (success) | Payment system name | CardGate |
created | integer | Yes (success) | Timestamp of the creation date and time | 1510000000 |
code | string | Yes (fail) | Error code, list of codes and their description are in the table below | 500 |
message | string | Yes (fail) | Text description of an error | Internal server error |
description | string | No (fail) | Additional error description, if it is not on AbyssPay side. | Do not honor |
The example of successful AbyssPay responses:
{ "status": "ok", "id": "301", "transaction_id": "123", "type": "refund", "amount_to_pay": "10.00", "amount_merchant": "10.70", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "created": 1510000000 }
The example of successful AbyssPay response:
{ "status": "created", "id": "301", "transaction_id": "123", "type": "refund", "amount_to_pay": "10.00", "amount_merchant": "10.70", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "created": 1510000000 }
The example of unsuccessful AbyssPay response:
{ "status": "error", "code": "305", "message": "Insufficient balance" }
Transaction status notification
Notification is sent if the Merchant specifies the corresponding URL in the deposit/create or deduce/create request in case of transaction status changing. The request has headers Auth and Sign, signature and authorization should be checked, the merchant keys are used. The request is written as follows:
The response format:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
id | integer | Yes | Transaction number in system | 300 |
status | string | Yes | Transaction status: 'ok' – successful, 'pending' – has non final status, 'cancel' – canceled, 'error' – an error has occurred, 'authorized' - has been authorized | ok |
type | string | Yes | Transaction type: 'deposit', 'deduce', 'refund' | deposit |
transaction_id | string | No | Transaction number in Merchant system | 123 |
amount_payed | string | Yes | In case of deposit — the amount paid by a Client. In case of withdrawal – the amount paid to a Client. | 10.00 |
amount_merchant | string | Yes | In case of deposit – the amount credited to the Merchant account. In case of withdrawal – the amount withdrawn from the Merchant account. | 9.30 |
currency | string(3) | Yes | Transaction currency | USD |
payment_system | string | Yes | Name of Payment system to which the Transaction belongs | CardGate |
created | integer | Yes | Transaction creation time | 1500000000 |
updated | integer | Yes | Time of the last status change | 1510000000 |
message | string | No | Error description in case of failure | operation_time_out |
original_currency | string | No | This field appear in case of currency conversion. It points currency that was received from Merchant. | EUR |
original_amount | string | No | This field appear in case of currency conversion. It points amount that was received from Merchant. | 1 |
original_transaction->id | int | No | Original transaction id | 299 |
original_transaction->transaction_id | string | No | Original merchant transaction id | 123 |
fee | string | Yes | Fee that merchant paid | 1.02 |
rolling_reserve | string | Yes | Rolling that merchant paid | 0.00 |
compensation | string | No | Compensation that should be paid to client | 0.00 |
recurring_id | integer | Yes for recurring | Recurring ID | 300 |
system_fields | object | No | Container with additional fields (availability and content depend on a payment system) |
Notification example:
{ "id": "300", "status": "ok", "type": "deposit", "transaction_id": "123", "amount_payed": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "system_fields": { "card_number": "411111******1111" } }
The system will make efforts to send the notification no more than 20 times. The interval between efforts will grow each time.
The system concludes the successful notification delivering, if the response with <b>code 200</b> and body:
{ "answer": "ok" }
Transaction status request
The Merchant System can request transaction status without waiting for notification delivering. For this purpose it is required to send GET request with Auth heading to the address:
https://abysspay.online/api/status/{ID}, in which {ID} is replaced by a transaction number in AbyssPay system, for example: https://abysspay.online/api/status/300.
There is also a way to request transaction status by Transaction number in Merchant system. For this case it is required to send GET request with Auth heading to the address:
https://abysspay.online/api/status/merchant?id={MERCHANT_ID}&date={APPROX_DATE}, in which {MERCHANT_ID} is replaced by a transaction number in Merchant system and {APPROX_DATE} by approximate date of the transaction creation (in format: 2020-12-30). {APPROX_DATE} is non mandatory parameter, but it used for speeding up the search. Transaction will be searched for ±3 days from {APPROX_DATE}
Attention! You can only request a status with a Merchant transaction number for transactions that are less than 5 years old.
The fields in response are equal to transaction status notification request above
The example of response to the request: https://abysspay.online/api/status/300:
{ "id": "300", "status": "ok", "type": "deposit", "transaction_id": "123", "amount_payed": "10.00", "amount_merchant": "9.30", "amount_client": "10.00", "currency": "USD", "payment_system": "CardGate", "created": 1500000000, "updated": 1510000000, "system_fields": { "card_number": "411111******1111" } }
Balance request
The Merchant System can request remaining balance. For this purpose it is required to send GET request with Auth heading to the address: https://abysspay.online/api/balance
Response of AbyssPay:
Field | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | string | Yes | Transaction status: 'ok' – successful, 'error' – an error has occurred. | ok |
balances | string | Yes (success) | Container for balance by different type of payment system | |
balances > payment system | float(10,2) | Yes (success) | Available payment system for Merchant system. Instead of `payment system` it will be placed all available balance on payment system type. | TestCard |
payment system > currency | float(10,2) | No (success) | Remaining balance by currency. At field `currency` it will be placed all available currencies for Merchant. | 4973.00 |
code | string | Yes (fail) | Error code, list of codes and their description are in the table below. | 103 |
message | integer | Yes (fail) | Error description | Header `Auth` is not set or empty |
The example of successful response to the request https://abysspay.online/api/balance:
{ "status": "ok", "balances": { "TestCard": { "USD": "4973.00" } } }
The example of unsuccessful AbyssPay response to the request:
{ "status": "error", "code": "103", "message": "Header `Auth` is not set or empty" }
Errors arising in operating with the system
When creating a transaction, any error other than 5xx can be considered an unambiguous failure. Exceptions:
- Error 306 when creating a transaction
- Getting a 1xx or 422 error when creating a status request, this is a request error, not a transaction error
The list of all possible errors is presented in the following table:
Code | Description |
---|---|
1XX | Authorization error, request format error |
101 | Merchant is not found |
102 | Wrong request signature |
103 | The required request header is not found |
104 | Wrong request format / JSON is not correctly structured |
105 | IP is not whitelisted |
2XX | Request content errors |
201 | Mandatory field is not found |
202 | Payment system is not found or not available |
203 | Payment system does not support the transaction type (deposit or withdrawal) |
3XX | Data validation errors |
301 | Wrong field format |
302 | Transaction is not found |
303 | Amount is less than 0 after fee calculating |
304 | User is not found |
305 | Insufficient balance |
306 | Transaction with number transaction_id is already exist |
307 | Antifraud validation check failed |
308 | Recurring data is not found |
309 | Transaction has wrong status |
4XX | Payment system errors |
401 | Error on the side of Payment system, more detailed information will be specified in the field “message” |
422 | Request error, more detailed information in the fields "message” and "errors" |
5XX | AbyssPay server errors |
501 | Error on the side of AbyssPay server, more detailed information will be specified in the field “message” |
Testing card methods
Supported currencies: RUB, EUR, USD.
Any other currencies will be converted into RUB.
CVV, expire month and expire year can be any valid value.
For successful deposit payment without 3ds process and payout payment you can use following card numbers:
- 4111 1111 1111 1111
- 4000 0000 0000 0002
- 4000 0000 0000 0127
- 5200 0000 0000 0007
- 5200 0000 0000 0114
- 5200 0000 0000 0122
To test deposit and payout payment that remains in non-final status you can use following card numbers:
- 4012 8888 8888 1881
- 5200 8282 8282 8210
For successful deposit payment with 3ds imitation process you can use following card numbers:
- 5555 5555 5555 4444
- 5454 5454 5454 5454
- 4917 6100 0000 0000
Any other card numbers will initiate an error.
Use "payment_system": "CardGateTest" for testing card acquiring.
Use "payment_system": "CardGateTestS2S" for testing server-to-server integration.
Use "payment_system": "TestCard" for testing card payout.
For testing recurring payments (deposit/recurring) put "expected_status" parameter inside "system_fields" object with following values:
- "system_fields": {"expected_status": "error"} - for immediate "error" status,
- "system_fields": {"expected_status": "created_error"} - for "created" status in the answer and "error" callback,
- "system_fields": {"expected_status": "created_success"} - for "created" status in the answer and "ok" callback,
- "system_fields": {"expected_status": "success"} - or any other - for immediate "ok" status.
Testing wallet methods
Supported currencies: RUB, EUR, USD.
Any other currencies will be converted into USD.
The client_id field should be present inside "system_fields": {"client_id": "client_id_on_merchant_side"} for all types of integrations.
Use "payment_system": "TestWallet" for testing wallet deposit.
For immediate successful deposit payment you can use following wallet numbers:
- 79111111111
- 79151515151
To test deposit payment that remains in non-final status you can use following wallet numbers:
- 799999999991
- 799999999992
For deposit payment with OTP input imitation process you can use following wallet numbers:
- 78005553535
- 79000000001
Enter 1234 OTP to test successful deposit payment, any other number will initiate an error
Any other wallet numbers will initiate an error.