Перейти к содержанию

Операции в криптовалюте

Вариант интеграции 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.


Оплата

Процесс проведения оплаты в криптовалюте содержит следующие этапы:

  1. Покупатель инициирует проведение оплаты, указывает в фиатной валюте сумму, на которую он хочет провести платеж. Покупатель также может указать криптовалюту своего кошелька.
  2. Торговец выполняет запрос на проведение оплаты с параметрами, указанными ниже.
  3. Торговец перенаправляет покупателя на URL-адрес страницы эквайера, полученный в ответе, для завершения транзакции.
  4. Покупатель указывает криптовалюту своего кошелька, если она не была выбрана на шаге 1, и завершает оплату.
  5. PaySage.io получает информацию о платеже. Если в запросе на проведение оплаты был передан параметр notification_url, торговцу приходит автоматическое уведомление о статусе платежа и суммах транзакции в фиатной и криптовалютах.

Info

В случае интеграции с виджетом или платежной страницей PaySage.io система откроет покупателю страницу эквайера в виджете в режиме iframe.

Запрос

Параметры для инициализации виджета или создания токена

При интеграции с виджетом или платежной страницей PaySage.io создайте токен платежа или выполните запрос на формирование виджета со следующими дополнительными параметрами:

object
Секция параметров оплаты.
amount
обязательный
integer
Сумма к обмену в фиатной валюте в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code.
object
Секция информации о способах оплаты.
types
обязательный
array
Массив способов оплаты для отображения покупателю. Добавьте fiat_to_crypto как элемент этого массива.
object
Секция параметров оплаты криптовалютой.
currency
string
Код криптовалюты кошелька покупателя. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют.

Параметры API запроса

При API интеграции отправьте запрос на проведение оплаты со следующими дополнительными параметрами:

amount
обязательный
integer
Сумма к оплате в фиатной валюте в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code.
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": []
        }
    }
}

Выплата средств

Процесс проведения выплаты в криптовалюте содержит следующие этапы:

  1. Покупатель инициирует проведение выплаты, указывает в фиатной валюте сумму, на которую он хочет провести выплату, а также данные кошелька получателя выплаты.
  2. Торговец выполняет запрос на проведение выплаты с параметрами, указанными ниже.
  3. PaySage.io получает информацию о транзакции от эквайера и передает ее торговцу. Если в запросе на проведение оплаты был передан параметр notification_url, торговцу приходит автоматическое уведомление о статусе выплаты и суммах транзакции в фиатной и криптовалютах.
Запрос

Отправьте запрос на проведение выплаты со следующими данными:

amount
обязательный
integer
Сумма к выплате в фиатной валюте в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code.
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 в запросе на проведение оплаты или выплаты, то система вышлет автоматическое уведомление со следующими дополнительными параметрами:

object
amount
обязательный
integer
Сумма транзакции в фиатной валюте в минимальных денежных единицах, которая эквивалентна сумме в криптовалюте, фактически списанной с кошелька отправителя для оплаты или выплаты. Может отличатся от начальной суммы транзакции.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Например, USD.
method_type
обязательный
string
fiat_to_crypto
обязательный
object
Секция данных способа оплаты.
type
обязательный
string
fiat_to_crypto
recipient_wallet_id
условно обязательный
string
Номер кошелька покупателя, на который будет проведена выплата средств. Указывается в автоматическом уведомлении о транзакции выплаты средств.
обязательный
object
Секция параметров транзакции в криптовалюте, в которую была сконвертирована сумма в фиатной валюте.
exchange_rate
обязательный
object
Секция информации о курсе обмена, который был применен для конверсии суммы из фиатной в криптовалюту.
converted_currency
обязательный
string
Код криптовалюты кошелька покупателя. Список возможных значений смотрите в таблице выше или в справочнике кодов криптовалют.
converted_amount
обязательный
integer
Сумма транзакции в криптовалюте.
обязательный
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 создайте токен платежа или выполните запрос на формирование виджета со следующими дополнительными параметрами:

object
Секция параметров оплаты.
amount
обязательный
integer
Сумма в EUR в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Всегда EUR.
object
Секция информации о способах оплаты.
types
обязательный
array
Массив способов оплаты для отображения покупателю. Добавьте fiat_to_crypto как элемент этого массива.
object
Секция информации о покупателе.
first_name
обязательный
string
Имя покупателя.
last_name
обязательный
string
Фамилия покупателя.
country
обязательный
string
Страна покупателя в формате ISO 3166-1 alpha-2.
email
обязательный
string
Адрес электронной почты покупателя.

Параметры запроса на оплату

Процесс проведения оплаты:

  1. Покупатель инициирует оплату на сайте торговца.
  2. Торговец отправляет запрос оплаты в PaySage.io.
  3. PaySage.io возвращает ответ, содержащий параметр form.action со ссылкой на страницу оплаты.
  4. Торговец перенаправляет покупателя на URL из ответа.
  5. По ссылке отобразится страница провайдера с суммой оплаты в EUR, а также ее эквивалент в криптовалюте торговца. Покупатель выполняет вход в личный кабинет или регистрируется на сайте провайдера и совершает платеж.

Для приема платежа отправьте запрос на оплату со следующими дополнительными параметрами:

amount
обязательный
integer
Сумма транзакции в EUR в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Всегда EUR.
object
Секция данных платежного метода.
type
обязательный
string
fiat_to_crypto
object
Секция информации о покупателе.
first_name
обязательный
string
Имя покупателя.
last_name
обязательный
string
Фамилия покупателя.
country
обязательный
string
Страна покупателя в формате ISO 3166-1 alpha-2.
email
обязательный
string
Адрес электронной почты покупателя.
Пример запроса
{
  "request": {
      "amount": 500,
      "currency": "EUR",
      "description": "Cryptocurrency",
      "test": true,        
      "tracking_id": "9379992",        
      "language": "en",
      "notification_url": "https://notification_url",
      "return_url": "https://return_url",      
      "method": {
          "type": "fiat_to_crypto"
      },
      "customer": {
          "first_name": "John",
          "last_name": "Doe",
          "country": "DE",
          "email": "john@example.com"
      }
  }
}
Ответ

Отправьте покупателя на URL, указанный в параметре form.action.

Пример ответа
{
  "transaction": {
    "uid": "e67ea9a3-e098-4dbd-a87a-668a8e0565c6",
    "type": "payment",
    "status": "pending",
    "amount": 500,
    "currency": "EUR",
    "description": "Cryptocurrency",
    "created_at": "2025-06-04T14:18:00Z",
    "updated_at": "2025-06-04T14:18:00Z",
    "method_type": "fiat_to_crypto",
    "receipt_url": "https://backoffice.paysage.io/customer/transactions/e67ea9a3-e098-4dbd-a87a-668a8e0565c6/8ebbca6f13e8f5e1b9e299ed79f61f849d5770cefd6c7aaae7200264762ccdbb?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 4020,
      "ref_id": "J6kzZp2LDXry",
      "message": "Transaction was initialized."
    },
    "fiat_to_crypto": {
      "type": "fiat_to_crypto"
    },
    "customer": {
      "first_name": "John",
      "last_name": "Doe",
      "country": "DE",
      "email": "john@example.com",
      "ip": null
    },
    "manually_corrected_at": null,
    "version": 0,
    "message": "Transaction was initialized.",
    "tracking_id": "9379992",
    "test": true,
    "language": "en",
    "billing_address": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "country": "DE"
    },
    "additional_data": {
      "payment_method": {
        "type": "alternative"
      }
    },
    "gateway": {
      "iframe": false
    },
    "form": {
      "action": "https://gateway.cb.live/payments/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtZXJjaGFudCI6NCwib3JkZXIiOiIyODY4YzE5MS03NmM1LTQzNWEtOTA1Mi05M2E0OWZkY2Q0NjciLCJleHBpcmUiOjE3MTQ0Njc1OTN9.9bSQ_t3Ph0e9vTNdWcHC9pZb-4adU37fdorejjRMhGA",
      "method": "GET",
      "fields": []
    }
  }
}