Операции в криптовалюте
Вариант интеграции BV
Этот вариант интеграции позволяет покупателям и торговцам проводить операции оплаты и выплаты средств в криптовалюте, даже если валюта их кошельков различна.
При проведении транзакции необходимо указать сумму в фиатной валюте для обмена. Сумма в криптовалюте, эквивалентная сумме в фиатной валюте, будет списана с кошелька отправителя средств и зачислена на кошелек получателя.
Для оплаты и выплаты средств поддерживаются следующие криптовалюты:
Название криптовалюты | Код криптовалюты | Стандарт криптовалюты |
---|---|---|
Binance Coin | BNB | |
Bitcoin | BTC | |
Bitcoin Cash | BCH | |
Cardano | ADA | |
Dai | DAI | |
Dogecoin | DOGE | |
Ethereum | ETH | |
Litecoin | LTC | |
Ripple | XRP | |
Solana | SOL | |
Tether | USDT | ERC20 |
Tether | USDT | TRC20 |
Tronix | TRX | |
USD Coin | USDC |
Warning
После проведения транзакции этим альтернативным способом сумма транзакции в фиатной валюте может измениться.
В автоматических уведомлениях и в ответ на запрос статуса транзакции фактическая сумма транзакции в фиатной валюте указывается как значение параметра amount
.
Сумма в криптовалюте умножается на 100 000 000 и округляется согласно правилам математического округления. Она указывается как значение параметра conversion.converted_amount
.
Оплата
Процесс проведения оплаты в криптовалюте содержит следующие этапы:
- Покупатель инициирует проведение оплаты, указывает в фиатной валюте сумму, на которую он хочет провести платеж. Покупатель также может указать криптовалюту своего кошелька.
- Торговец выполняет запрос на проведение оплаты с параметрами, указанными ниже.
- Торговец перенаправляет покупателя на URL-адрес страницы эквайера, полученный в ответе, для завершения транзакции.
- Покупатель указывает криптовалюту своего кошелька, если она не была выбрана на шаге 1, и завершает оплату.
- PaySage.io получает информацию о платеже. Если в запросе на проведение оплаты был передан параметр
notification_url
, торговцу приходит автоматическое уведомление о статусе платежа и суммах транзакции в фиатной и криптовалютах.
Info
В случае интеграции с виджетом или платежной страницей PaySage.io система откроет покупателю страницу эквайера в виджете в режиме iframe.
Запрос
Параметры для инициализации виджета или создания токена
При интеграции с виджетом или платежной страницей PaySage.io создайте токен платежа или выполните запрос на формирование виджета со следующими дополнительными параметрами:
Параметр | Тип | Описание |
---|---|---|
order | object | Секция параметров оплаты. |
amount * обязательный |
integer | Сумма к обмену в фиатной валюте в минимальных денежных единицах. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. |
payment_method | object | Секция информации о способах оплаты. |
types * обязательный |
array | Массив способов оплаты для отображения покупателю. Добавьте fiat_to_crypto как элемент этого массива. |
fiat_to_crypto | object | Секция параметров оплаты криптовалютой. |
currency | string | Код криптовалюты кошелька покупателя. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют. |
Параметры API запроса
При API интеграции отправьте запрос на проведение оплаты со следующими дополнительными параметрами:
Параметр | Тип | Описание |
---|---|---|
amount * обязательный |
integer | Сумма к оплате в фиатной валюте в минимальных денежных единицах. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. |
method | object | Секция данных способа оплаты. |
type * обязательный |
string | Следует установить в значении fiat_to_crypto . |
currency | string | Код криптовалюты кошелька покупателя. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют. |
Пример запроса на проведение оплаты
{
"request": {
"amount":2900,
"currency":"EUR",
"description":"description",
"test": true,
"tracking_id":"your_unique_number",
"language":"en",
"notification_url":"https://example.com/notification",
"return_url":"https://example.com/return",
"method": {
"type": "fiat_to_crypto"
}
}
}
Ответ
В случае интеграции с виджетом или платежной страницей PaySage.io, покупатель будет автоматически направлен на страницу эквайера для завершения оплаты.
В случае API интеграции, ответ на запрос оплаты будет дополнительно содержать секцию fiat_to_crypto
с параметрами оплаты криптовалютой, а также секцию form
с параметрами страницы эквайера. Для завершения транзакции направьте покупателя на URL, переданный как значение параметра form.action
.
Пример ответа на запрос на проведение оплаты
{
"transaction": {
"uid": "2085ccec-33c8-4356-8d53-b081b4a07230",
"type": "payment",
"status": "pending",
"amount": 2900,
"currency": "EUR",
"description": "description",
"created_at": "2023-05-04T13:42:47Z",
"updated_at": "2023-05-04T13:42:51Z",
"method_type": "fiat_to_crypto",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/2085ccec-33c8-4356-8d53-b081b4a07230/735179255e5ff84e8b752f85452563c946f069bbb5cd0fc54541637a095354c0?language=en",
"payment": {
"status": "pending",
"gateway_id": 2750,
"ref_id": "f123456a-265b-4cd1-9823-2aa7123565fc",
"message": "Transaction was initialized."
},
"fiat_to_crypto": {
"type": "fiat_to_crypto",
"currency": null
},
"customer": {
"email": null,
"ip": null
},
"message": "Transaction was initialized.",
"tracking_id": "your_unique_number",
"test": true,
"language": "en",
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": true
},
"form": {
"action": "{form_url}",
"method": "GET",
"fields": []
}
}
}
Выплата средств
Процесс проведения выплаты в криптовалюте содержит следующие этапы:
- Покупатель инициирует проведение выплаты, указывает в фиатной валюте сумму, на которую он хочет провести выплату, а также данные кошелька получателя выплаты.
- Торговец выполняет запрос на проведение выплаты с параметрами, указанными ниже.
- PaySage.io получает информацию о транзакции от эквайера и передает ее торговцу. Если в запросе на проведение оплаты был передан параметр
notification_url
, торговцу приходит автоматическое уведомление о статусе выплаты и суммах транзакции в фиатной и криптовалютах.
Запрос
Отправьте запрос на проведение выплаты со следующими данными:
Параметр | Тип | Описание |
---|---|---|
amount * обязательный |
integer | Сумма к выплате в фиатной валюте в минимальных денежных единицах. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. |
method | object | Секция данных способа оплаты. |
type * обязательный |
string | Следует установить в значении fiat_to_crypto . |
recipient_wallet_id * обязательный |
string | Номер кошелька покупателя, на который будет проведена выплата средств. |
currency * обязательный |
string | Код криптовалюты кошелька покупателя, на который будет проведена выплата средств. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют. |
token_standard * условно обязательный |
string | Стандарт криптовалюты. Обязательно для транзакции в USDT. Список возможных значений смотрите выше. |
tag | string | ID получателя выплаты. Применяется для выплат в TRX. |
Пример запроса на проведение выплаты
{
"request":{
"amount":2500,
"currency":"USD",
"description":"description",
"test": true,
"tracking_id":"your_unique_number",
"language":"en",
"notification_url":"https://example.com/notification",
"method":{
"type":"fiat_to_crypto",
"currency": "BTC",
"recipient_wallet_id": "12345-abc-67890"
}
}
}
Ответ
Ответ на запрос оплаты будет дополнительно содержать секцию fiat_to_crypto
с указанием параметров способа оплаты.
Пример ответа на запрос на проведение выплаты
{
"transaction": {
"uid": "1158d867-1c5d-4093-896e-bded62b59d20",
"type": "payout",
"status": "pending",
"amount": 2500,
"currency": "USD",
"description": "description",
"created_at": "2023-05-04T19:50:11Z",
"updated_at": "2023-05-04T19:50:11Z",
"method_type": "fiat_to_crypto",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/1158d867-1c5d-4093-896e-bded62b59d20/be8e9bf9b24c699392ae752d3f72e3757113193096ee8b7c294ddd3d4acd3faf?language=en",
"payout": {
"status": "pending",
"gateway_id": 2750,
"message": "Transaction was initialized."
},
"fiat_to_crypto": {
"type": "fiat_to_crypto",
"currency": "BTC",
"recipient_wallet_id": "12345-abc-67890"
},
"customer": {
"email": null,
"ip": "127.0.0.1"
},
"message": "Transaction was initialized.",
"tracking_id": "your_unique_number",
"test": true,
"language": "en",
"additional_data": {
"payment_method": {
"type": "alternative"
}
}
}
}
Автоматические уведомления
Если торговец передал параметр notification_url
в запросе на проведение оплаты или выплаты, то система вышлет автоматическое уведомление со следующими дополнительными параметрами:
Параметр | Тип | Описание |
---|---|---|
transaction | object | |
amount * обязательный |
integer | Сумма транзакции в фиатной валюте в минимальных денежных единицах, которая эквивалентна сумме в криптовалюте, фактически списанной с кошелька отправителя для оплаты или выплаты. Может отличатся от начальной суммы транзакции. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Например, USD . |
method_type * обязательный |
string | fiat_to_crypto |
fiat_to_crypto * обязательный |
object | Секция данных способа оплаты. |
type * обязательный |
string | fiat_to_crypto |
recipient_wallet_id * условно обязательный |
string | Номер кошелька покупателя, на который будет проведена выплата средств. Указывается в автоматическом уведомлении о транзакции выплаты средств. |
conversion * обязательный |
object | Секция параметров транзакции в криптовалюте, в которую была сконвертирована сумма в фиатной валюте. |
exchange_rate * обязательный |
object | Секция информации о курсе обмена, который был применен для конверсии суммы из фиатной в криптовалюту. |
converted_currency * обязательный |
string | Код криптовалюты кошелька покупателя. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют. |
converted_amount * обязательный |
integer | Сумма транзакции в криптовалюте. |
additional_data * обязательный |
object | Секция дополнительной информации о транзакции. |
provider_raw * обязательный |
object | Секция информации о транзакции, предоставленной эквайером. |
Пример уведомления о проведении успешной транзакции оплаты
{
"transaction": {
"uid": "2085ccec-33c8-4356-8d53-b081b4a07230",
"type": "payment",
"status": "successful",
"amount": 2900,
"currency": "EUR",
"description": "description",
"created_at": "2023-05-04T13:42:47Z",
"updated_at": "2023-05-04T13:45:01Z",
"method_type": "fiat_to_crypto",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/2085ccec-33c8-4356-8d53-b081b4a07230/12db53fdb53b1655f08af6577d77469e61376e433aa627dfffc4f53f28afb82b?language=en",
"payment": {
"status": "successful",
"gateway_id": 2750,
"ref_id": "da37b123-dddf-4d31-88af-b2dcdefd2c86",
"message": "Transaction was successfully processed."
},
"fiat_to_crypto": {
"type": "fiat_to_crypto"
},
"customer": {
"email": null,
"ip": "127.0.0.1"
},
"message": "Transaction was successfully processed.",
"tracking_id": "your_unique_number",
"test": false,
"language": "en",
"paid_at": "2023-05-04T13:45:01Z",
"additional_data": {
"provider_raw": {
"type": "IN",
"uuid": "da37b123-dddf-4d31-88af-b2dcdefd2c86",
"refund": null,
"status": "COMPLETE",
"address": {
"tag": null,
"uri": "0xC0Fdc9B1234aCE2D8f3B89C4472cae7727ABB6fe",
"address": "0xC0Fdc9B7715aCE2D8f3B89C1234cae7727ABB6fe",
"protocol": "ETH",
"alternatives": []
},
"refunds": [],
"subType": "merchantPayIn",
"reference": "2085ccec-33c8-4356-8d53-b081b4a07230",
"returnUrl": "https://api.paysage.io/beyag/transactions/returns/63496cb932bc335674f362af4b6a36729923e401361c6d1fd0fd87ce21a0eea5/2085ccec-33c8-4356-8d53-b081b4a07230",
"expiryDate": 1683208971000,
"merchantId": "1234b7e5-07cd-456b-a6e3-678abf4bu89a",
"dateCreated": 1683207771000,
"displayRate": {
"base": "ETH",
"rate": 1692.29,
"counter": "EUR"
},
"feeCurrency": {
"actual": 1.111e-05,
"amount": 1.111e-05,
"currency": "BTC"
},
"quoteStatus": "PAYMENT_OUT_PROCESSED",
"redirectUrl": "{form_url}",
"exchangeRate": {
"base": "ETH",
"rate": 0.06484203,
"counter": "BTC"
},
"paidCurrency": {
"actual": 0.01713657,
"amount": 0.01713657,
"currency": "ETH"
},
"transactions": [
{
"hash": "0x76e7d5e12345f19b234bf9f37d088fc1234a3ed1bdc5087085a31c0eb9978ec3",
"risk": {
"level": "LOW",
"alerts": [],
"resourceName": "UNKNOWN",
"resourceCategory": "UNKNOWN"
},
"amount": 0.01713657,
"sources": [
"0xF282C3A8f95Ad256BA8DAFB251ef89B43dc6c52f"
],
"dateCreated": 1683207883000,
"displayRate": {
"base": "ETH",
"rate": 1692.29,
"counter": "EUR"
},
"exchangeRate": {
"base": "BTC",
"rate": 15.4221,
"counter": "ETH"
},
"dateConfirmed": 1683207894000,
"networkFeeAmount": 0.015683724348894,
"networkFeeCurrency": "ETH"
}
],
"walletCurrency": {
"actual": 0.00111117,
"amount": 0.00111117,
"currency": "BTC"
},
"displayCurrency": {
"actual": 29,
"amount": 29,
"currency": "EUR"
},
"quoteExpiryDate": 1683218586000,
"merchantDisplayName": "Business Account",
"acceptanceExpiryDate": 1683207807000
},
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": true
},
"conversion": {
"exchange_rate": {
"ETH_TO_EUR": 1692.29
},
"converted_amount": 1713657,
"converted_currency": "ETH"
}
}
}
Вариант интеграции CB
Оплата
Info
Этот вариант интеграции поддерживает только валюту EUR
.
Запрос
Параметры для инициализации виджета или создания токена
При интеграции с виджетом или платежной страницей PaySage.io создайте токен платежа или выполните запрос на формирование виджета со следующими дополнительными параметрами:
Параметр | Тип | Описание |
---|---|---|
order | object | Секция параметров оплаты. |
amount * обязательный |
integer | Сумма в EUR в минимальных денежных единицах. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Всегда EUR . |
payment_method | object | Секция информации о способах оплаты. |
types * обязательный |
array | Массив способов оплаты для отображения покупателю. Добавьте fiat_to_crypto как элемент этого массива. |
Параметры запроса на оплату
Процесс проведения оплаты:
- Покупатель инициирует оплату на сайте торговца.
- Торговец отправляет запрос оплаты в PaySage.io.
- PaySage.io возвращает ответ, содержащий параметр
form.action
со ссылкой на страницу оплаты. - Торговец перенаправляет покупателя на URL из ответа.
- По ссылке отобразится страница провайдера с суммой оплаты в
EUR
, а также ее эквивалент в криптовалюте торговца. Покупатель выполняет вход в личный кабинет или регистрируется на сайте провайдера и совершает платеж.
Для приема платежа отправьте запрос на оплату со следующими дополнительными параметрами:
Параметр | Тип | Описание |
---|---|---|
amount * обязательный |
integer | Сумма транзакции в EUR в минимальных денежных единицах. |
currency * обязательный |
string | Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Всегда EUR . |
method | object | Секция данных платежного метода. |
type * обязательный |
string | fiat_to_crypto |
Пример запроса
{
"request": {
"amount": 5000,
"currency": "EUR",
"description": "Cryptocurrency",
"test": false,
"tracking_id": "9379992",
"notification_url": "https://notification_url",
"return_url": "https://return_url",
"method": {
"type": "fiat_to_crypto"
}
}
}
Ответ
Отправьте покупателя на URL, указанный в параметре form.action
.
Пример ответа
{
"transaction": {
"uid": "5ca616cf-2079-4b67-a40b-fa8b3e516636",
"type": "payment",
"status": "pending",
"amount": 5000,
"currency": "EUR",
"description": "Cryptocurrency",
"created_at": "2024-05-24T13:55:23Z",
"updated_at": "2024-05-24T13:55:24Z",
"method_type": "fiat_to_crypto",
"receipt_url": "https://backoffice.paysage.io/customer/transactions/5ca616cf-2079-4b67-a40b-fa8b3e516636/de9689f91a38c143bdcdf91036c3ea174e0e5cb95c9eb0a9982b1f40c5122b0b",
"payment": {
"status": "pending",
"gateway_id": 4020,
"ref_id": "lEaJDnvED3k1",
"message": "Transaction was initialized."
},
"fiat_to_crypto": {
"type": "fiat_to_crypto"
},
"customer": {
"email": null,
"ip": null
},
"manually_corrected_at": null,
"message": "Transaction was initialized.",
"tracking_id": "9379992",
"test": false,
"additional_data": {
"payment_method": {
"type": "alternative"
}
},
"gateway": {
"iframe": false
},
"form": {
"action": "https://gateway.cb.live/payments/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXJjaGFudCI6NSwib3JkZXIiOiI1Y2E2MTZjZi0yMDc5LTRiNjct",
"method": "GET",
"fields": []
}
}
}