Algorithm of actions for integration:
You need to register an account on the website https://crosspay.net/ and provide us with the e-mail that was specified during registration.
Get in the account the keys that are used when interacting with the API, for this, you need to:
2.1 Enter the account
2.2 Open the "Profile" section
2.3 Go to the "Security" tab and activate 2FA
2.4 Go to the "API" tab and click the "Create API Keys" button*
*Please note that keys are displayed once. If you have not saved them, repeat step 2.4.
Provide a list of domains from which transitions to the form will be performed (or on which the form will be installed into the iframe).*
Provide the IP-addresses from which API requests will be made.*
*Information is required for security purposes.
Agree on business terms of providing the services.
Wait for setting the system settings.
API documentation is available here: https://docs.crosspay.net/
If you have any further questions regarding API or integration — contact us, and we will give you all the information needed!
Regards, Crosspay team.
To use this API, you need to have an account and access to features that you're going to use. In order to obtain suitable configuration for your case, you need to contact us ([email protected]).
In order to authenticate your requests, you should provide authentication parameters using http headers.
Authorization: %public_key%
Signature: %signature%
You need to generate a signature on your side, based on request data and your secret key.
We use HMAC-SHA256
.
There is a simple piece of PHP code that shows how to generate a signature:
/** @var \Psr\Http\Message\RequestInterface $request */
$signature = hash_hmac(
'sha256',
$request->getBody()->getContents(),
$secretKey
);
$request->withHeader('Signature', $signature);
Or JavaScript/Node.js:
const hmac = require('crypto-js/hmac-sha256');
const body = {
order_id: '123',
currency: 'uah',
wallet_type: 'ecom',
amount: 10,
payway: 'card',
// ...
};
const signature = hmac(JSON.stringify(body), 'secretKey')
.toString();
// 0a059c58184f388c6fe56bc07bf0b71f941ad85175283b5257fc9490422d9f6e
Or Python:
import hashlib
import hmac
import json
def sign(data: str, secret_key: str):
secret_key = bytes(secret_key, "utf8")
return hmac.new(secret_key, data.encode(), hashlib.sha256).hexdigest()
data = {
'order_id': '123',
'currency': 'uah',
'wallet_type': 'ecom',
'amount': 10,
'payway': 'card',
# ...
}
payload = json.dumps(data)
signature = sign(payload, 'secretKey')
print(signature)
# 0ff2fa58c4811407c4cd5fcb5adef76bf32c4213a579da5b17ebffb61525cb11
Also, each response and callback contains Signature
header signed with your secret key.
It is important to verify response/callback signature in order to prevent possible security vulnerabilities.
/** @var \Psr\Http\Message\ResponseInterface $response */
if($response->getHeaderLine('Signature') === hash_hmac('sha256', $response->getBody()->getContents(), $secretKey))
{
// You can trust
}
In case you provide callback url for payin, payout order request or exchange, we'll send you a final status callback.
Only 200 OK http status is expected.
Callback example for fiat transaction:
{
"status": "success",
"data": [
{
"order_id": "18374512",
"order_uuid": "f36e6bba-cf3a-11eb-a8a9-06b7db1f31a8",
"order_type": "payin",
"payway": "card",
"currency_from": "uah",
"wallet_from_type": "ecom",
"wallet_from": "444111******4444",
"amount_from": "300.00000000",
"currency_to": "uah",
"wallet_to": "71a34bc2-686c-4617-84c3-887fbef51925",
"wallet_to_type": "ecom",
"amount_to": "289.50000000",
"currency_fee": "uah",
"amount_fee": "10.50000000",
"exchange_rate": "0.00000000",
"card_system": "visa",
"status": "completed",
"message": "",
"error_code": "0",
"created": "2021-06-17 10:09:26",
"updated": "2021-06-17 10:09:53",
"client_id": "193336",
"trusted_user": "1",
"client_payments": "0",
"card_mask": "444111******4444",
"method": "card"
}
]
}
Callback example for crypto transaction:
{
"status": "success",
"data": [
{
"order_id": "crypto_111111",
"order_uuid": "72b34af3-9eeb-4d34-9c68-d471cc44927c",
"order_type": "exchange",
"payway": "crypto",
"card_system": "",
"currency_from": "btc",
"wallet_from_type": "ecom",
"wallet_from": "11a11111-6e11-11ed-1111-040300000000",
"currency_to": "usdt",
"wallet_to": "11e01a57-ca11-11ec-1111-06e0bfad8ad8",
"wallet_to_type": "ecom",
"currency_fee": "btc",
"status": "completed",
"message": "",
"error_code": "0",
"created": "2022-11-27 05:46:34",
"updated": "2022-11-27 05:47:06",
"is_test": "0",
"trusted_user": "0",
"card_mask": null,
"attributes": [],
"client_payments": "0",
"client_id": "1111",
"amount_from": "0.00715791",
"amount_to": "117.20650276",
"amount_fee": "0.00006579",
"exchange_rate": "16526.3",
"extra": {
"tx_id": "c1111111111111111111111111",
"explorer_url": "https://www.blockchain.com/btc/tx/c1111111111111111111111111",
"address": "0x863F9f9D1dB21f3b4dcF28a0C7B3EB4D670C4551",
"tag_or_memo": null
},
"method": "unknown"
}
]
}
Code | Description |
---|---|
10 | requested method not found |
11 | requested invalid user id |
12 | requested invalid user key |
13 | invalid request signature |
14 | invalid data format |
15 | not enough data |
17 | invalid http method |
20 | order not found |
21 | pay url not found |
22 | order is alredy completed |
23 | order not updated |
24 | amount less than allowed |
25 | not enough balance |
26 | wallet not found |
27 | error while order creation |
28 | service not found |
29 | service payment form unavailable |
30 | service unavailable |
31 | amount greater than_allowed |
32 | order already exists |
33 | Host-to-Host is disabled for merchant |
34 | Payin is disabled for this merchant |
35 | Payout is disabled for this merchant |
36 | Exchange is disabled for this merchant |
101 | invalid card number |
102 | invalid cvv |
103 | validation failed |
104 | 3ds failed |
105 | card doesnt support 3ds |
106 | amount exceeds personal limit |
107 | insufficient funds |
108 | rejected by issuer |
109 | rejected by antifraud |
110 | technical error |
111 | third party unavailable |
112 | rejected by third party |
113 | invalid card status |
114 | invalid card data |
115 | card not allowed in this region |
116 | card authorization error |
117 | Card does not support 3ds |
118 | GooglePay token decrypt error |
119 | ApplePay token decrypt error |
120 | operation time exceeded |
121 | status not changed 30 minutes |
122 | request does not match allowed sources |
123 | referer request does not match allowed sources |
202 | Client address not found |
Status | Description |
---|---|
new | Order has been created and is awaiting processing |
processing | Order is being processed |
completed | Order successfully completed |
overpaid | Order is successful with extra payment |
underpaid | Payment received is less than the total order amount |
rejected | Order rejected by Third party |
canceled | Order canceled (by user or by timer) |
When order gets final statuses, processing stops. Theses statuses are:
Important:
You must consider status of your transaction only based on a valid response structure which contains the transaction and its status (see /api/v2/order/status).
Any other responses can't guarantee that your expectation and real state of the transaction match each other.
If you can't receive the expected status, please contact our support.
This feature addresses situations where the payer sends an amount that differs from the expected in the order.
Important:
Please note that the parameters "amount_from", "amount_to", "amount_fee" are recalculated according to the authorized payer's amount.
Example:
Overpaid: In the case of overpayment, imagine the order was initially created for $100, but the customer sent $110. This means the customer has exceeded the specified order amount. The system recognizes this overpayment and reflects it, indicating that the customer has sent more funds than required.
Overpaid response example:
{
"status": "success",
"data": [
{
"order_id": "payin_uah-1706700562-uah_hosted_form",
"order_uuid": "d3ca8b43-983a-465c-83f6-70a70172788d",
"order_type": "payin",
"payway": "card",
"card_system": "",
"currency_from": "uah",
"wallet_from": "",
"currency_to": "uah",
"wallet_to": "346eb501-d50c-11ec-834c-06677a2a1e0e",
"currency_fee": "uah",
"status": "overpaid",
"message": "",
"error_code": "0",
"created": "2024-01-31 13:29:23",
"updated": "2024-01-31 13:29:54",
"is_test": "0",
"trusted_user": "0",
"card_mask": null,
"attributes": {
"payment_form_locale": "en"
},
"method": "unknown",
"wallet_from_type": "ecom",
"wallet_to_type": "ecom",
"client_payments": "0",
"client_id": "1369",
"amount_from": "110.00",
"amount_to": "110.00",
"amount_fee": "0",
"exchange_rate": "1"
}
]
}
Underpaid: For underpayment, consider a scenario where the order was created for $100, but the customer only sent $90. This signifies that the customer fell short of the expected payment. The system recognizes this overpayment and reflects it, indicating that the customer has sent fewer funds than required.
Underpaid response example:
{
"status": "success",
"data": [
{
"order_id": "payin_uah-1706700539-uah_hosted_form",
"order_uuid": "322e7d8f-25fd-4e21-bbde-3f921f87391d",
"order_type": "payin",
"payway": "card",
"card_system": "",
"currency_from": "uah",
"wallet_from": "",
"currency_to": "uah",
"wallet_to": "346eb501-d50c-11ec-834c-06677a2a1e0e",
"currency_fee": "uah",
"status": "underpaid",
"message": "",
"error_code": "0",
"created": "2024-01-31 13:29:00",
"updated": "2024-01-31 13:29:33",
"is_test": "0",
"trusted_user": "0",
"card_mask": null,
"attributes": {
"payment_form_locale": "en"
},
"method": "unknown",
"wallet_from_type": "ecom",
"wallet_to_type": "ecom",
"client_payments": "0",
"client_id": "1369",
"amount_from": "90.00",
"amount_to": "90.00",
"amount_fee": "0",
"exchange_rate": "1"
}
]
}
Returns url of page with payment form
Payin items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (currency) A currency indicate lowercase |
wallet_type required | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
amount required | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
payway required | string (payway) Value: "card" |
object (schemas) | |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
success_url | string Client will be redirected to this url after successfull payment |
fail_url | string Client will be redirected to this url after unsuccessfull payment |
pending_url | string Client will be redirected to this url to wait for the final status |
return_url | string |
client_user_agent | string |
client_email | string |
client_id | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
object (client) |
{- "order_id": "Order-123",
- "currency": "uah",
- "wallet_type": "ecom",
- "amount": 10.99,
- "payway": "card",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "description": "Text",
- "client_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "client_id": "123",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card",
}
]
}
Returns url of page with 3ds. This format of work provides for compliance with PCI DSS and in case of interest in such integration, please contact our support.
Payin items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (currency) A currency indicate lowercase |
wallet_type required | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
amount required | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
payway required | string (payway) Value: "card" |
object | |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
success_url | string Client will be redirected to this url after successfull payment |
fail_url | string Client will be redirected to this url after unsuccessfull payment |
pending_url | string Client will be redirected to this url to wait for the final status |
return_url | string |
client_user_agent | string |
client_email | string |
client_id | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
object (client) | |
client_ip required | string |
counterparty_card (object) or counterparty_google_pay (object) or counterparty_apple_pay (object) | |
required | object |
{- "order_id": "Order-123",
- "currency": "uah",
- "wallet_type": "ecom",
- "amount": 10.99,
- "payway": "card",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "description": "Text",
- "client_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "client_id": "123",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "client_ip": "127.0.0.1",
- "counterparty": {
- "type": "card",
- "number": "4000000000000010",
- "month": "01",
- "year": "2030",
- "cvv": "000"
}, - "browser_info": {
- "header_accept": "*/*",
- "header_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "language": "ua",
- "timezone_offset": -180,
- "java_enabled": false,
- "screen_color_depth": 24,
- "screen_height": 1080,
- "screen_width": 1920,
- "document_width": 1862,
- "document_height": 481
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card",
}
]
}
The same as regular hosted payin (additional parameters can be found there)
amount_from | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
order_id | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency_to | string (currency) A currency indicate lowercase |
currency_from | string (currency) A currency indicate lowercase |
wallet_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
client_id | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
object (client) | |
payway required | string Value: "card" |
object (schemas) |
{- "amount_to": 10.99,
- "order_id": "Order-123",
- "currency_to": "uah",
- "currency_from": "uah",
- "wallet_type": "ecom",
- "client_id": "123",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "payway": "card",
- "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "order_id": "Order-123",
- "currency": "uah",
- "wallet_type": "ecom",
- "amount": 10.99,
- "payway": "card",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "description": "Text",
- "client_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "client_id": "123",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}
}
The same as regular host to host payin (additional parameters can be found there)
amount_from | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
order_id | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency_to | string (currency) A currency indicate lowercase |
currency_from | string (currency) A currency indicate lowercase |
wallet_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
client_id | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
object (client) | |
payway required | string Value: "card" |
client_ip required | string |
required | counterparty_card (object) |
required | object |
object (schemas) |
{- "amount_to": 10.99,
- "order_id": "Order-123",
- "currency_to": "uah",
- "currency_from": "uah",
- "wallet_type": "ecom",
- "client_id": "123",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "payway": "card",
- "client_ip": "127.0.0.1",
- "counterparty": {
- "type": "card",
- "number": "4000000000000010",
- "month": "01",
- "year": "2030",
- "cvv": "000"
}, - "browser_info": {
- "header_accept": "*/*",
- "header_user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36",
- "language": "ua",
- "timezone_offset": -180,
- "java_enabled": false,
- "screen_color_depth": 24,
- "screen_height": 1080,
- "screen_width": 1920,
- "document_width": 1862,
- "document_height": 481
}, - "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card",
}
]
}
This method creates a payout.
Important:
If you receive any non-200 http status code, you should consider that transaction was created and in progress. In this case, in order to understand real status of the transaction, you have to check whether the transaction was really created or not.
To do this, you have to use the method /api/v2/order/status and request your transaction status by order_id.
If the response on /api/v2/order/status returns an error_code equal to 20 (http status is 403) it indicates that the transaction was not created and the transaction hasn't been processed.
Payout items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (currency) A currency indicate lowercase |
wallet_type required | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet | string (wallet) Deprecated Must have a valid card number |
required | counterparty_card_number (object) or counterparty_crypto (object) or counterparty_clabe (object) or counterparty_pix_key (object) or counterparty_net_banking (object) or counterparty_binance_pay (object) or counterparty_mobile (object) or counterparty_upi_token (object) |
amount required | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
payway required | string Only card |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
object (client) | |
object (schemas) |
{- "order_id": "Order-123",
- "currency": "uah",
- "wallet_type": "ecom",
- "wallet": "4000000000000010",
- "counterparty": {
- "type": "card_number",
- "number": "4000000000000010"
}, - "amount": 10.99,
- "payway": "card",
- "description": "Text",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "400000******0010",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "card_mask": "400000******0010",
- "method": "card",
- "card_token": ""
}
]
}
Сreates a payment request. Payout with fragmentation occurs when the maximum amount to be paid out in one payment is exceeded. Contact technical support to find out the applicable limits.
In this case, there will be more than one transaction in the response to this request. All transactions will have the same order_id and different order_uuid.
Each created transaction can be either successful or rejected. If there is at least one unsuccessful payment, the payment is considered partially completed.
Payout items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (currency) A currency indicate lowercase |
wallet_type required | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet | string (wallet) Deprecated Must have a valid card number |
required | counterparty_card_number (object) or counterparty_crypto (object) or counterparty_clabe (object) or counterparty_pix_key (object) or counterparty_net_banking (object) or counterparty_binance_pay (object) or counterparty_mobile (object) or counterparty_upi_token (object) |
amount required | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
payway required | string Only card |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
object (client) | |
object (schemas) |
{- "order_id": "Order-123",
- "currency": "uah",
- "wallet_type": "ecom",
- "wallet": "4000000000000010",
- "counterparty": {
- "type": "card_number",
- "number": "4000000000000010"
}, - "amount": 10.99,
- "payway": "card",
- "description": "Text",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "5.00",
- "currency_to": "uah",
- "wallet_to": "400000******0010",
- "wallet_to_type": "ecom",
- "amount_to": "5.00",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "card_mask": "400000******0010",
- "method": "card",
- "card_token": ""
}, - {
- "order_id": "Order-123",
- "order_uuid": "1d2dee34-4ae1-3012-8681-7b62ac7fb520",
- "order_type": "payout",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "5.99",
- "currency_to": "uah",
- "wallet_to": "400000******0010",
- "wallet_to_type": "ecom",
- "amount_to": "5.99",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "card_mask": "400000******0010",
- "method": "card",
- "card_token": ""
}
]
}
Сreates a payment request
Payout items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (currency) A currency indicate lowercase |
amount required | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
payway required | string Only card |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
object (client) | |
object (schemas) |
{- "order_id": "Order-123",
- "currency": "uah",
- "amount": 10.99,
- "payway": "card",
- "description": "Text",
- "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "400000******0010",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "card_mask": "400000******0010",
- "method": "card"
}
]
}
This method creates exchange payout.
Important:
If you receive any non-200 http status code, you should consider that transaction was created and in progress. In this case, in order to understand real status of the transaction, you have to check whether the transaction was really created or not.
To do this, you have to use the method /api/v2/order/status and request your transaction status by order_id.
If the response on /api/v2/order/status returns an error_code equal to 20 (http status is 403) it indicates that the transaction was not created and the transaction hasn't been processed.
Payout items to add
amount_from | number (amount_number) 10.99 - this is 10 uah 99 kopecks |
order_id | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency_to | string (currency) A currency indicate lowercase |
currency_from | string (currency) A currency indicate lowercase |
wallet_from_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet_to_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet | string (wallet) Deprecated Must have a valid card number |
payway | string (payway) Value: "card" |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
counterparty_card_number (object) or counterparty_crypto (object) or counterparty_clabe (object) or counterparty_pix_key (object) or counterparty_net_banking (object) or counterparty_binance_pay (object) or counterparty_mobile (object) or counterparty_upi_token (object) | |
object (client) | |
object (schemas) |
{- "amount_to": 10.99,
- "order_id": "Order-123",
- "currency_to": "uah",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_to_type": "ecom",
- "wallet": "4000000000000010",
- "payway": "card",
- "counterparty": {
- "type": "card_number",
- "number": "4000000000000010"
}, - "client": {
- "id": "123",
- "ip": "127.0.0.1",
- "name": "Jon Smith",
- "date_of_birth": "1991-01-03",
- "phone": "380931224433",
- "billing_address": {
- "address_line1": "string",
- "address_line2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "country": "string"
}, - "taxpayer": {
- "number": "string"
}
}, - "attributes": {
- "routing_key": "some_routing_key"
}
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "400000******0010",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "card_mask": "400000******0010",
- "method": "card",
- "card_token": ""
}
]
}
Gets the status of order
Gets the status of order
order_uuid | string <uuid> (order_uuid) |
{- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240"
}
{- "status": "success",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card"
}
]
}
Gets a list of transactions for the specified parameters
The list of orders for the specified parameters
order_id | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
order_uuid | string <uuid> (order_uuid) |
order_type | string (order_type) Enum: "payin" "payout" "exchange_payout" |
date_from | string <YYYY-MM-DD HH:MM:SS> (date_from) |
date_to | string <YYYY-MM-DD HH:MM:SS> (date_to) |
payway | string (payway) Value: "card" |
card_mask | string <NNNNNN******NNNN> (card_mask) It is card mask |
limit | integer (limit) [ 0 .. 10000 ] Default: 10 Amount of items in the response |
{- "order_ids": [
- "example_order_id_1",
- "example_order_id_2",
- "example_order_id_3"
], - "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "date_from": "2021-06-17 10:19:43",
- "date_to": "2021-06-17 10:19:43",
- "payway": "card",
- "card_mask": "400000******0010",
- "limit": 10
}
{- "status": "success",
- "count": 150,
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card"
}
]
}
Gets a list of orders for the specified parameters
The list of orders for the specified parameters
order_ids | Array of strings (order_ids) Array order ids in merchant’s system |
order_uuid | string <uuid> (order_uuid) |
order_type | string Default: "exchange" |
date_from | string <YYYY-MM-DD HH:MM:SS> (date_from) |
date_to | string <YYYY-MM-DD HH:MM:SS> (date_to) |
limit required | integer (limit_orders) [ 0 .. 100 ] Default: 10 Amount of orders in the response |
offset required | integer (offset) Default: 0 Offset of items in the response |
{- "order_ids": [
- "example_order_id_1",
- "example_order_id_2",
- "example_order_id_3"
], - "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "exchange",
- "date_from": "2021-06-17 10:19:43",
- "date_to": "2021-06-17 10:19:43",
- "limit": 10,
- "offset": 4
}
{- "status": "success",
- "limit": 10,
- "offset": 4,
- "orders": [
- {
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "exchange",
- "status": "new",
- "created": "2021-06-17 10:19:43",
- "transactions": [
- {
- "uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "10.00000000",
- "currency_from": "uah",
- "amount_to": "10.00000000",
- "currency_to": "uah",
- "status": "new"
}
]
}
]
}
We provide possibility of accepting cryptocurrency payments by following scheme:
At this point we are working on methods to deactivate address and list all orders for specified address or client, feel free to contact our support for proposals or improvements.
Payin description:
Method get_client_address using to generate the new crypto address. Each address is unique and needs to be associated to the customer from the merchant's side. Such structure makes it possible to identify which customer the income transaction (deposit) relates to. There are two possible types of the crypto address:
An address for the client
type required | string Default: "long_term" Enum: "long_term" "short_term" In case of "short_term" type, the address will be valid for six hours. In case of "long_term" type, the address will be valid for six month. In case of a change of address (payout, payin, get of address), the validity period of the address will be extended for the same period. If you need to change the validity period of the address, then you need to contact the technical support of the company. |
client_id required | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
currency required | string (crypto_currency) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase |
conversion_currency | string Default: "usdt" Value: "usdt" All coins recieved to client_address will be automatically converted to this currency, if this field wass passed. You should have wallet in this currency |
callback_url required | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
order_id_prefix | string (prefix) [ 1 .. 100 ] Prefix for generation order id |
object (client_address_attributes) Only used for "usdt" currency |
{- "type": "long_term",
- "client_id": "123",
- "currency": "eth",
- "conversion_currency": "usdt",
- "order_id_prefix": "crypto_order_",
- "attributes": {
- "blockchain_network": "erc20"
}
}
{- "status": "success",
- "address": "0xa700aa00f4a16ab9b1110fcd456e11111dfa0e0e",
- "tag": "2360586837985899911",
- "expires_at": "2022-06-01 00:00:00",
- "min_amount": 10.99
}
Method get_client_addresses using to get the list of crypto addresses.
The list og client addresses with specified parameters
client_id | string (client_id) [ 1 .. 255 ] Unique identifier of client in merchants system. Cannot contain only empty characters (spaces, tabs, etc.). |
currency required | string (crypto_currency) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase |
limit | integer (limit) [ 0 .. 10000 ] Default: 10 Amount of items in the response |
offset | integer (offset) Default: 0 Offset of items in the response |
{- "client_id": "123",
- "currency": "eth",
- "limit": 10,
- "offset": 4
}
{- "status": "success",
- "data": [
- {
- "address": "0xa700aa00f4a16ab9b1110fcd456e11111dfa0e0e",
- "currency": "eth",
- "tag": "2360586837985899911",
- "attributes": {
- "blockchain_network": "erc20"
}, - "client_id": "123",
- "status": "inactive",
- "type": "long_term",
- "created": "2021-06-17 10:19:43",
- "expires_at": "2022-06-01 00:00:00"
}
]
}
Deactivate an address for the client.
An address for the client
address required | string (address) [ 42 .. 42 ] |
tag | string (tag) Optional. Tag or memo (some cryptocurrency like XLM or XRP require additional data) |
currency required | string (crypto_currency) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase |
{- "address": "0xa700aa00f4a16ab9b1110fcd456e11111dfa0e0e",
- "tag": "2360586837985899911",
- "currency": "eth"
}
{- "status": "success",
- "data": [
- {
- "address": "0xa700aa00f4a16ab9b1110fcd456e11111dfa0e0e",
- "tag": "2360586837985899911",
- "status": "inactive"
}
]
}
Gets a list of orders for the specified parameters
The list of orders for the specified parameters
client_address required | string (client_address) It is client address |
tag | string (tag) Optional. Tag or memo (some cryptocurrency like XLM or XRP require additional data) |
date_from | string <YYYY-MM-DD HH:MM:SS> (date_from) |
date_to | string <YYYY-MM-DD HH:MM:SS> (date_to) |
limit | integer (limit) [ 0 .. 10000 ] Default: 10 Amount of items in the response |
offset | integer (offset) Default: 0 Offset of items in the response |
{- "client_address": "0x1dE1E11111B87F6296d634246D55A7DAb99a1111",
- "tag": "2360586837985899911",
- "date_from": "2021-06-17 10:19:43",
- "date_to": "2021-06-17 10:19:43",
- "limit": 10,
- "offset": 4
}
{- "status": "success",
- "count": "150",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payin",
- "payway": "card",
- "currency_from": "uah",
- "wallet_from_type": "ecom",
- "wallet_from": "",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "",
- "wallet_to_type": "ecom",
- "amount_to": "10.00000000",
- "currency_fee": "uah",
- "amount_fee": "10.00000000",
- "exchange_rate": "10.00000000",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "client_id": "123",
- "attributes": {
- "routing_key": "some_routing_key",
- "payment_form_locale": "uk"
}, - "card_mask": "400000******0010",
- "method": "card"
}
]
}
Сreates a payment request
Payout items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency required | string (crypto_currency) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase |
wallet_type required | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet | string (crypto_wallet) Deprecated Must have a valid crypto wallet |
amount required | number (crypto_amount_number) |
required | counterparty_crypto (object) or counterparty_binance_pay (object) |
payway required | string Only crypto |
tag | string (tag) Optional. Tag or memo (some cryptocurrency like XLM or XRP require additional data) |
description | string (description) [ 1 .. 2048 ] Some payment description, doesn’t affect the processing |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
object (client_address_attributes) Only used for "usdt" currency |
{- "order_id": "Order-123",
- "currency": "eth",
- "wallet_type": "ecom",
- "wallet": "0xcdd0b1360f12f98f1afed8d5343ee465061d7262",
- "amount": 0.001,
- "counterparty": {
- "type": "crypto",
- "address": "0x863F9f9D1dB21f3b4dcF28a0C7B3EB4D670C4551",
- "tag_or_memo": null
}, - "payway": "crypto",
- "tag": "2360586837985899911",
- "description": "Text",
- "attributes": {
- "blockchain_network": "erc20"
}
}
{- "status": "string",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "crypto",
- "requisites_to": {
- "type": "crypto_address",
- "tag": "2360586837985899911",
- "address": "0x1dE1E11111B87F6296d634246D55A7DAb99a1111"
}, - "currency_from": "eth",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "0.015",
- "currency_to": "usdt",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "0.015",
- "currency_fee": "eth",
- "amount_fee": "0.015",
- "exchange_rate": "10.00000000",
- "card_system": "",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "card_mask": null,
- "method": "card",
- "card_token": ""
}
]
}
Сreates a payment request
Payout items to add
amount_from | string (crypto_amount_string) |
order_id | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
currency_to | string (crypto_currency_to) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase. If currency "usdt" - used field "attributes", it's required. |
currency_from | string (crypto_currency) Enum: "eth" "xlm" "bch" "btc" "ltc" "trx" "xrp" "usdt" "xmr" "bnb" A currency indicate lowercase |
wallet_from_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet_to_type | string (wallet_type) Enum: "ecom" "p2p" "a2c" |
wallet | string (crypto_wallet) Deprecated Must have a valid crypto wallet |
payway | string Only crypto |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
object (client_address_attributes) Only used for "usdt" currency | |
counterparty_crypto (object) or counterparty_binance_pay (object) |
{- "amount_to": "0.015",
- "order_id": "Order-123",
- "currency_to": "usdt",
- "currency_from": "eth",
- "wallet_from_type": "ecom",
- "wallet_to_type": "ecom",
- "wallet": "0xcdd0b1360f12f98f1afed8d5343ee465061d7262",
- "payway": "crypto",
- "attributes": {
- "blockchain_network": "erc20"
}, - "counterparty": {
- "type": "crypto",
- "address": "0x863F9f9D1dB21f3b4dcF28a0C7B3EB4D670C4551",
- "tag_or_memo": null
}
}
{- "status": "string",
- "data": [
- {
- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "payout",
- "payway": "crypto",
- "requisites_to": {
- "type": "crypto_address",
- "tag": "2360586837985899911",
- "address": "0x1dE1E11111B87F6296d634246D55A7DAb99a1111"
}, - "currency_from": "eth",
- "wallet_from_type": "ecom",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "0.015",
- "currency_to": "usdt",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "wallet_to_type": "ecom",
- "amount_to": "0.015",
- "currency_fee": "eth",
- "amount_fee": "0.015",
- "exchange_rate": "10.00000000",
- "card_system": "",
- "status": "new",
- "message": "string",
- "error_code": "string",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
- "card_mask": null,
- "method": "card",
- "card_token": ""
}
]
}
The Google Pay™ enables fast, simple checkout on your website.
We support it in both variants:
gatewayMerchantId
.It allows you to integrate Google Pay™ without redirecting to the CrossPay payment form and accept payments directly from your site.
You configure Google Pay™ using following configuration:
{
"apiVersion": 2,
"apiVersionMinor": 0,
"allowedPaymentMethods": [
{
"type": "CARD",
"parameters": {
"allowedAuthMethods": [
"PAN_ONLY",
"CRYPTOGRAM_3DS"
],
"allowedCardNetworks": [
"VISA",
"MASTERCARD"
]
},
"tokenizationSpecification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "crosspay",
"gatewayMerchantId": "<provided `gatewayMerchantId` value>"
}
}
}
],
# https://developers.google.com/pay/api/web/reference/request-objects#BillingAddressParameters
"billingAddressRequired": true
"billingAddressParameters": {
# ...
}
"transactionInfo": {
"totalPrice": "100",
"currencyCode": "UAH"
"totalPriceStatus": "FINAL",
}
}
In response you receive PaymentData
, after that you'll use property paymentData
in order to communicate our api.
You should create POST /order/payin
host to host request:
{
"order_id":"...",
"currency":"uah",
"amount":100,
// ...
"counterparty":{
"type":"google-pay",
"token":{
"apiVersionMinor":0,
"apiVersion":2,
"paymentMethodData":{
"description":"Mastercard •••• 1780",
"tokenizationData":{
"type":"PAYMENT_GATEWAY",
"token":"{\"signature\":\"...\"}"
},
"type":"CARD",
"info":{
"cardNetwork":"MASTERCARD",
"cardDetails":"1780"
}
}
}
},
"browser_info":{
// ...
}
}
In case of 3ds verification is required (method PAN_ONLY),
you will be given pay_url
in response where the payer needs to be redirected in order to complete 3ds verification.
{
"status": "success",
"data": [
{
"order_id": "...",
"order_uuid": "60369ab2-...9c51",
# ...
"pay_url": "..."
}
]
}
References:
Code | Description |
---|---|
1010 | Wallet not found |
1011 | Wallet inactive |
1012 | Exchange supplier not set |
1013 | Pair['currency_code':'currency_code'] for exchange not found |
1021 | Exchange amount lass min amount |
Creates an exchange request
Exchange items to add
order_id required | string (order_id) [ 1 .. 191 ] ^[a-zA-Z0-9-_+/=]+$ Order id in merchant’s system, this value should be unique for each order |
required | currency (string) or crypto_currency (string) |
required | currency (string) or crypto_currency (string) |
amount_from required | number (amount_number_all) 10.99 - this is 10 uah 99 kopecks OR 10.99 - usdt |
callback | string (callback) <= 255 Url of you system, which is used to notify your system about order processing result |
{- "order_id": "Order-123",
- "currency_from": "uah",
- "currency_to": "uah",
- "amount_from": 10.99,
}
{- "order_id": "Order-123",
- "order_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "order_type": "exchange",
- "status": "new",
- "transaction_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "currency_from": "uah",
- "wallet_from": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount_from": "10.00000000",
- "currency_to": "uah",
- "wallet_to": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "created": "2021-06-17 10:19:43",
- "updated": "2021-06-17 10:19:43",
}
Gets list pair and rate for exchange
Gets Exchange pair list
{ }
{- "status": "success",
- "data": [
- {
- "base": "uah",
- "quote": "uah",
- "value": 10.99,
- "min_amount": 10.99
}
]
}
Creates a report for the specified parameters
The report for the specified parameters
date_from | string <YYYY-MM-DD HH:MM:SS> (date_from) |
{- "date_from": "2021-06-17 10:19:43"
}
{- "status": "success",
- "data": {
- "report_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "status": "new"
}
}
Gets the link to download report
The status of report
report_uuid required | string <uuid> (report_uuid) |
{- "report_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240"
}
Gets the status of report
The status of report
report_uuid | string <uuid> (report_uuid) |
{- "report_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240"
}
{- "status": "success",
- "data": {
- "report_uuid": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "status": "new"
}
}
Gets the balances
{
"status": "success",
"data": {
"eur": {
"p2p": {
"wallet": "10659df6-2581-4b62-a211-fdfc34c48c94",
"amount": "0.00000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "0.00000000"
},
"ecom": {
"wallet": "289510b1-6237-4f59-ab2a-edf6dd96f9a5",
"amount": "0.00000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "0.00000000"
}
},
"uah": {
"ecom": {
"wallet": "3d9dee11-2ae1-4022-8682-9b62ac7fb215",
"amount": "143.77000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "1.44000000"
},
"p2p": {
"wallet": "43c6b044-db70-4186-abe8-5a99c9034845",
"amount": "90.00000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "0.90000000"
},
"a2c": {
"wallet": "c589642c-0778-487f-83da-8ff01a1e6d34",
"amount": "0.00000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "0.00000000"
}
},
"usd": {
"ecom": {
"wallet": "eacb679e-8609-4d79-acff-711893b26e23",
"amount": "1948.62000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "1.95000000"
},
"a2c": {
"wallet": "77cc0406-d8a2-45ef-9a82-b89f940b7223",
"amount": "0.00000000",
"amount_locked": "0.00000000",
"overdraft": "0.00000000",
"reserve": "0.00000000"
}
}
}
}
Gets the balances
{ }
{- "status": "success",
- "data": {
- "currency": {
- "wallet_type": {
- "wallet": "3d1dee42-4ae1-3012-8681-7b62ac7fb240",
- "amount": "10.00000000",
- "amount_locked": "10.00000000",
- "overdraft": "10.00000000",
- "reserve": "1.20000000"
}
}
}
}