Payment methods
Payment methods
Bank card (AbyssPay side)
Acquiring. Card data is collecting on the AbyssPay 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 AbyssPay response with Redirect block to AbyssPay 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 AbyssPay 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", } }
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 AbyssPay 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 |
AbyssPay 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 AbyssPay payout response.