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

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

Вариант интеграции WD

Этот вариант интеграции позволяет покупателю пополнять баланс в системе торговца с помощью криптовалюты, а также выводить деньги с баланса на криптокошелек.

Info

Вариант интеграции WD поддерживает только валюту BYN для запросов транзакций. Список криптовалют, для которых доступны пополнение баланса и вывод средств, перечислены в таблице.

Оплата

Интеграция через виджет

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

  1. Покупатель инициирует пополнение баланса на сайте торговца и выбирает сумму пополнения в валюте BYN.
  2. Торговец отправляет запрос на создание платежного токена или запрос на инициализацию платежного виджета, указав в запросе идентификатор покупателя (customer.external_id). Если в системе bePaid еще не было успешной транзакции оплаты для покупателя с таким идентификатором, в запросе необходимо передать следующие дополнительные параметры:
    • данные покупателя в параметре customer;
    • данные идентификационного документа покупателя (additional_data.customer_id_data);
    • данные KYC (additional_data.kyc_answers).
      Если для покупателя с таким customer.external_id уже есть успешная транзакция оплаты в системе PSP, в запросе достаточно прислать customer.external_id. Остальные параметры секции customer и параметры additional_data необходимо отправлять только в случае изменения соответствующих данных покупателя.
  3. bePaid присылает в ответе redirect_url и токен платежа.
  4. Торговец перенаправляет покупателя на redirect_url или инициирует виджет с помощью полученного токена.
  5. Платежный виджет перенаправляет покупателя на страницу выбора криптовалюты.
  6. Покупатель выбирает криптовалюту своего кошелька из списка и подтверждает выбор. Также покупатель вводит свой email, если он не был отправлен торговцем в запросе на создание токена или при инициализации виджета.
  7. bePaid отправляет данные платежа провайдеру.
  8. [ KYC verification ] В зависимости от указанной страны покупателя, платежный виджет может перенаправить покупателя на страницу прохождения теста c вопросами о криптовалюте.
  9. [ KYC verification ] Покупатель отвечает на вопросы теста и нажимает Продолжить.
  10. [ KYC verification ] Провайдер осуществляет проверку данных покупателя.
  11. После успешного прохождения верификации, виджет отображает покупателю сообщение с адресом криптокошелька, на который следует сделать перевод в течение 30 минут. Также покупателю отображается сумма пополнения в выбранной покупателем криптовалюте (эквивалент суммы BYN для пополнения баланса).
  12. Покупатель совершает перевод на указанную сумму на указанный криптокошелек.
  13. bePaid отправляет торговцу автоматическое уведомление со статусом оплаты. Торговец также может запросить статус оплаты у bePaid с помощью запроса получения статуса транзакции.

Info

После успешного прохождения KYC-проверки, торговец должен сохранить связку customer.external_id и успешного платежа. Если для указанного customer.external_id ранее уже был выполнен успешный платёж и персональные данные покупателя не изменились, то при последующих транзакциях можно не передавать параметры объекта additional_data. При повторных транзакциях оплаты в объекте customer достаточно указать только customer.external_id. В этом случае, шаги 8–10 пропускаются.

Запрос

При интеграции с виджетом или платежной страницей bePaid создайте токен платежа или выполните запрос на формирование виджета с дополнительными параметрами из таблицы ниже.

object
test
boolean
test, если транзакция тестовая.
transaction_type
string
payment
object
return_url
string
URL, на который будет перенаправлен покупатель после завершения оплаты. Если задан, то success_url игнорируется.
success_url
string
URL, на который будет перенаправлен покупатель при успешной транзакции.
notification_url
URL, на который будут приходить уведомления.
object
Секция параметров оплаты.
amount
обязательный
integer
Сумма в валюте BYN в минимальных денежных единицах.
currency
обязательный
string
Валюта транзакции в формате ISO-4217 alpha-3 code, BYN.
expired_at
string
Время в формате ISO 8601, до которого должен быть совершен платеж. Рекомендуемое значение: через 72 часа после создания токена платежа. Формат: YYYY-MM-DDThh:mm:ssTZD, где YYYY – год (например, 2025), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – часовой пояс (+hh:mm или –hh:mm относительно UTC или Z для UTC).
object
Секция информации о способах оплаты.
types
array
Массив способов оплаты для отображения покупателю. Добавьте crypto_currency как элемент этого массива.
обязательный
object
Секция информации о покупателе.
external_id
обязательный
string (255)
Уникальный идентификатор покупателя в системе торговца.
gender
обязательный
string
Пол покупателя. Возможные значения: male или female.
birth_date
обязательный
string
Дата рождения покупателя в формате ISO 8601 YYYY-MM-DD.
phone
string (30)
Номер телефона.
email
string (255)
Email покупателя. Если не передан в запросе, виджет отобразит поле для ввода email-адреса покупателем.
address
обязательный
string (255)
Адрес регистрации покупателя: номер дома и квартиры.
country
обязательный
string
Страна покупателя в ISO 3166-1 alpha-2 формате.
state
обязательный
string (100)
Район регистрации покупателя.
city
обязательный
string (100)
Город регистрации покупателя.
street
обязательный
string (255)
Улица регистрации покупателя.
zip
string (20)
Почтовый индекс покупателя.
object
Секция, содержащая детальную информацию по платежу.
object
Информация об идентификационном документе покупателя.
document_type
обязательный
string (50)
Тип идентификационного документа.
document_series
обязательный
string (20)
Серия идентификационного документа.
document_number
обязательный
string (50)
Номер идентификационного документа.
document_country
обязательный
string (2)
Страна, которая выдала идентификационный документ в ISO 3166-1 alpha-2 формате.
personal_number
обязательный
string (50)
Личный номер, указанный в идентификационном документе.
issuer
обязательный
string (255)
Орган, выдавший идентификационный документ.
issue_date
обязательный
string
Дата выдачи идентификационного документа в формате YYYY-MM-DD.
expiry_date
обязательный
string
Срок действия идентификационного документа в формате YYYY-MM-DD.
object
Секция KYC данных покупателя.
source
обязательный
string
Название компании или магазина торговца, который ответственен за сбор KYC данных покупателя. Уточните у вашего менеджера, какое значение вам нужно передавать в этом параметре.
object
Секция KYC данных покупателя.
countries_citizenship
обязательный
array [string(2)]
Гражданство покупателя. Передается как массив c одним кодом страны в формате ISO 3166-1 alpha-2.
not_usa_tax_payer
обязательный
boolean
true, если покупатель не является налоговым резидентом США.
using_on_behalf
обязательный
boolean
Параметр, указывающий, проводит ли покупатель транзакцию по поручению третьих лиц. Возможные значения:
true - да;
false - нет.
agreed
обязательный
boolean
true, если покупатель согласен на обработку персональных данных.
first_name
обязательный
string (100)
Имя покупателя, указанное латинскими буквами.
last_name
обязательный
string (100)
Фамилия покупателя, указанное латинскими буквами.
middle_name
обязательный
string (100)
Отчество покупателя, указанное латинскими буквами.
first_name_ru
условно обязательный
string (100)
Имя покупателя на русском языке. Параметр обязателен, если имя не передано в параметре first_name.
last_name_ru
условно обязательный
string (100)
Фамилия покупателя на русском языке. Параметр обязателен, если фамилия не передана в параметре last_name.
middle_name_ru
условно обязательный
string (100)
Отчество покупателя на русском языке. Параметр обязателен, если отчество не передано в параметре middle_name.
birth_address
обязательный
string (255)
Место рождения.
registration_district
обязательный
string (255)
Область регистрации покупателя.

Info

Пример запроса c параметрами для KYC верификации
{
    "checkout": {
        "test": true,
        "transaction_type": "payment",
        "settings": {
            "return_url": "http://127.0.0.1:4567/return",
            "success_url": "http://127.0.0.1:4567/success",
            "notification_url": "http://your_shop.com/notification"
        },
        "order": {
            "tracking_id": "your_uniq_number",
            "currency": "BYN",
            "amount": 10000,
            "expired_at": "2025-11-29T05:33:38Z",
            "description": "description"
        },
        "customer": {
            "external_id": "user-12345",
            "gender": "male",
            "birth_date": "1990-01-01",
            "phone": "+375291234567",
            "email": "ivan.petrov@example.com",
            "address": "h.22 room 45",
            "country": "BY",
            "state": "Minsk Region",
            "city": "Minsk",
            "street": "Street",
            "zip": "220000"
        },
        "additional_data": {
            "customer_id_data": {
                "document_type": "passport",
                "document_series": "MP",
                "document_number": "12345678",
                "document_country": "BY",
                "personal_number": "1234134513451451",
                "issuer": "MVD RB",
                "issue_date": "2016-05-25",
                "expiry_date": "2026-05-24"
            },
            "kyc_answers": {
                "source": "fb",
                "answers": {
                    "countries_citizenship": [
                        "BY"
                    ],
                    "not_usa_tax_payer": true,
                    "using_on_behalf": false,
                    "agreed": true,
                    "first_name": "Ivan",
                    "last_name": "Ivanov",
                    "middle_name": "Ivanovich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Иванов",
                    "middle_name_ru": "Иванович",
                    "birth_address": "BY, Minsk, Ylica, 1",
                    "registration_district": "Smolevichi District"
                }
            }
        }
    }
}
Пример повторного запроса
{
    "checkout": {
        "test": true,
        "transaction_type": "payment",
        "settings": {
            "return_url": "http://127.0.0.1:4567/return",
            "success_url": "http://127.0.0.1:4567/success",
            "notification_url": "http://your_shop.com/notification"
        },
        "order": {
            "tracking_id": "your_uniq_number",
            "currency": "BYN",
            "amount": 10000,
            "expired_at": "2025-11-29T05:33:38Z",
            "description": "description"
        },
        "customer": {
            "external_id": "user-12345"                    
        }               
    }
}
Ответ

Info

{
    "checkout": {
        "token": "cfa8755fff438ff1f16c2e63006a479c89d4827c12a0d93d6743f3c31f6d519e",
        "redirect_url": "https://checkout-staging.begateway.com/widget/hpp.html?token=cfa8755fff438ff1f16c2e63006a479c89d4827c12a0d93d6743f3c31f6d519e"
    }
}
{
    "response": {
        "status": "error",
        "message": "Access denied"
    }
}
{
    "errors": {
        "checkout": {
            "transaction_type": [
                "is missing"
            ]
        }
    },
    "message": "transaction_type is missing, transaction_type must be one of: authorization, payment, tokenization, recipient_tokenization, charge"
}

H2H интеграция

Процесс проведения оплаты при интеграции H2H с передачей данных KYC:

  1. Покупатель инициирует пополнение баланса на сайте торговца и выбирает сумму пополнения в валюте BYN.
  2. Торговец отправляет запрос на оплату, указав код криптовалюты (method.currency) и название сети криптовалюты (method.token_standard), в которой покупатель будет делать перевод. В запросе необходимо указать идентификатор покупателя (customer.external_id). Если в системе bePaid еще не было успешной транзакции оплаты для покупателя с таким идентификатором, в запросе необходимо передать следующие дополнительные параметры:
    • данные покупателя в параметре customer;
    • данные идентификационного документа покупателя (additional_data.customer_id_data);
    • данные KYC (additional_data.kyc_answers). Если для покупателя с таким customer.external_id уже есть успешная транзакция оплаты в системе PSP, в запросе достаточно прислать customer.external_id. Остальные параметры секции customer и параметры additional_data необходимо отправлять только в случае изменения соответствующих данных покупателя.
  3. В зависимости от указанной страны покупателя, в ответе на запрос может вернуться ссылка на тест с вопросами о криптовалюте в параметре form.action.
  4. Если ссылка на тест присутствует в ответе, торговец перенаправляет покупателя по этой ссылке.
  5. Покупатель отвечает на вопросы теста и нажимает Продолжить.
  6. Провайдер осуществляет проверку данных покупателя.
  7. После успешного прохождения верификации, bePaid высылает торговцу уведомление, содержащее method.recipient_wallet_id c идентификатором кошелька, на который покупатель должен сделать перевод и сумму для перевода в валюте кошелька покупателя (method.amount).
  8. Торговец отображает полученную информацию покупателю.
  9. Покупатель совершает перевод на указанную сумму на указанный криптокошелек в течение 30 минут.
  10. bePaid отправляет торговцу автоматическое уведомление с финальным статусом оплаты. Торговец также может запросить статус оплаты у bePaid с помощью запроса получения статуса транзакции.
Запрос

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

amount
обязательный
integer
Сумма транзакции в BYN в минимальных денежных единицах.
currency
обязательный
string
Фиатная валюта транзакции в формате ISO-4217 alpha-3 code. Всегда BYN.
expired_at
string
Время в формате ISO 8601, до которого должен быть совершен платеж. Рекомендуемое значение: через 72 часа после создания токена платежа. Формат: YYYY-MM-DDThh:mm:ssTZD, где YYYY – год (например, 2025), MM – месяц (например, 02), DD – день (например, 09), hh – часы (например, 18), mm – минуты (например, 20), ss – секунды (например, 45), TZD – часовой пояс (+hh:mm или –hh:mm относительно UTC или Z для UTC).
object
Секция данных платежного метода.
type
обязательный
string
crypto_currency
token_standard
обязательный
string
Название сети, соответствующей криптовалюте кошелька покупателя.
currency
обязательный
string
Криптовалюта, соответствующая валюте кошелька покупателя.
object
Секция информации о покупателе.
external_id
обязательный
string (255)
Уникальный идентификатор покупателя в системе торговца.
gender
обязательный
string
Пол покупателя. Возможные значения: male или female.
birth_date
обязательный
string
Дата рождения покупателя в формате ISO 8601 YYYY-MM-DD.
phone
обязательный
string (30)
Номер телефона.
email
обязательный
string (255)
Email покупателя.
address
обязательный
string (255)
Адрес регистрации покупателя: номер дома и квартиры.
country
обязательный
string
Страна покупателя в ISO 3166-1 alpha-2 формате.
state
обязательный
string (100)
Район регистрации покупателя.
city
обязательный
string (100)
Город покупателя.
street
обязательный
string (255)
Улица регистрации покупателя.
zip
обязательный
string (20)
Почтовый индекс покупателя.
object
Секция, содержащая детальную информацию по платежу.
object
Информация об идентификационном документе покупателя.
document_type
обязательный
string (50)
Тип идентификационного документа.
document_series
обязательный
string (20)
Серия идентификационного документа.
document_number
обязательный
string (50)
Номер идентификационного документа.
document_country
обязательный
string (2)
Страна, которая выдала идентификационный документ в ISO 3166-1 alpha-2 формате.
personal_number
обязательный
string (50)
Личный номер, указанный в идентификационном документе.
issuer
обязательный
string (255)
Орган, выдавший идентификационный документ.
issue_date
обязательный
string
Дата выдачи идентификационного документа в формате YYYY-MM-DD.
expiry_date
обязательный
string
Срок действия идентификационного документа в формате YYYY-MM-DD.
object
Секция KYC данных покупателя.
source
обязательный
string
Название компании или магазина торговца, который ответственен за сбор KYC данных покупателя. Уточните у вашего менеджера, какое значение вам нужно передавать в этом параметре.
object
Секция KYC данных покупателя.
countries_citizenship
обязательный
array [string(2)]
Гражданство покупателя. Передается как массив c одним кодом страны в формате ISO 3166-1 alpha-2.
not_usa_tax_payer
обязательный
boolean
true, если покупатель не является налоговым резидентом США.
using_on_behalf
обязательный
boolean
Параметр, указывающий, проводит ли покупатель транзакцию по поручению третьих лиц. Возможные значения:
true - да;
false - нет.
agreed
обязательный
boolean
true, если покупатель согласен на обработку персональных данных.
first_name
условно обязательный
string (100)
Имя покупателя, указанное латинскими буквами.
last_name
условно обязательный
string (100)
Фамилия покупателя, указанное латинскими буквами.
middle_name
условно обязательный
string (100)
Отчество покупателя, указанное латинскими буквами.
first_name_ru
условно обязательный
string (100)
Имя покупателя на русском языке. Параметр обязателен, если имя не передано в параметре first_name.
last_name_ru
условно обязательный
string (100)
Фамилия покупателя на русском языке. Параметр обязателен, если фамилия не передана в параметре last_name.
middle_name_ru
условно обязательный
string (100)
Отчество покупателя на русском языке. Параметр обязателен, если отчество не передано в параметре middle_name.
birth_address
обязательный
string (255)
Место рождения.
registration_district
обязательный
string (255)
Область регистрации покупателя.
Пример запроса
{
    "request": {
        "amount": 3501,
        "currency": "BYN",
        "expired_at": "2025-11-29T05:33:38Z",
        "description": "Cryptocurrency",
        "test": true,       
        "tracking_id": "9379992",
        "ip": "127.0.0.1",
        "language": "en",        
        "return_url": "https://example.com",      
        "method": {
            "type": "crypto_currency",
            "token_standard":"Tron", 
            "currency": "TRX"    
        },
        "customer": {
            "external_id": "user-908743",                
            "gender": "male",
            "birth_date": "1990-01-01",
            "phone": "+375291234567",
            "email": "ivan.petrov@example.com",
            "address": "h.22 room 45",
            "country": "BY",
            "state": "Minsk Region",
            "city": "Minsk",
            "street": "1st Street",
            "zip": "220000"
        },
        "additional_data": {
            "customer_id_data": {
                "document_type": "passport",
                "document_series": "MP",
                "document_number": "12345678",
                "document_country": "BY",
                "personal_number": "ww3356768",
                "issuer": "MVD RB",
                "issue_date": "2016-05-25",
                "expiry_date": "2026-05-24"
            },
            "kyc_answers": {
                "source": "fb",
                "answers": {
                    "countries_citizenship": [
                        "BY"
                    ],
                    "not_usa_tax_payer": true,
                    "using_on_behalf": false,
                    "agreed": true,
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Sergeevich",
                    "first_name_ru": "Иван",
                    "last_name_ru": "Петров",
                    "middle_name_ru": "Сергеевичич",
                    "birth_address": "BY, Minsk, 1st Street, 1",
                    "registration_district": "Centralny District"
                }
            }
        }
    }
}
Ответ

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

Пример ответа
{
    "transaction": {
        "uid": "b6f14e63-f350-4bfb-9a0e-6f3dba364acf",
        "type": "payment",
        "status": "pending",
        "amount": 3501,
        "currency": "BYN",
        "description": "Cryptocurrency",
        "created_at": "2025-09-23T10:17:54Z",
        "updated_at": "2025-09-23T10:17:55Z",
        "method_type": "crypto_currency",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/b6f14e63-f350-4bfb-9a0e-6f3dba364acf/fea7dc8e8c07ef759bd35e9756db73fd9c1854ec6697cca835bde43c2e0cdf2d?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5740,
            "message": "Transaction was initialized. Customer verification pending."
        },
        "crypto_currency": {
            "type": "crypto_currency",
            "currency": "TRX",
            "token_standard": "Tron"
        },
        "customer": {
            "zip": "220000",
            "city": "Minsk",
            "phone": "+375291234567",
            "state": "Minsk Region",
            "gender": "male",
            "street": "1st Street",
            "address": "h.22 room 45",
            "country": "BY",                
            "birth_date": "1990-01-01",                
            "external_id": "user-908743",                
            "email": "ivan.petrov@example.com",
            "ip": "127.0.0.1"
        },
        "manually_corrected_at": null,
        "version": 1,
        "message": "Transaction was initialized. Customer verification pending.",
        "tracking_id": "9379992",
        "test": true,
        "language": "en",
        "billing_address": {
            "zip": "220000",
            "city": "Minsk",
            "phone": "+375291234567",
            "state": "Minsk Region",
            "gender": "male",
            "street": "1st Street",
            "address": "h.22 room 45",
            "country": "BY",                
            "birth_date": "1990-01-01",                
        },
        "additional_data": {
            "kyc_answers": {
                "source": "fb",
                "answers": {
                    "agreed": true,
                    "first_name": "Ivan",
                    "last_name": "Petrov",
                    "middle_name": "Sergeevich",
                    "last_name_ru": "Петров",
                    "birth_address": "BY, Minsk, Ylica, 1",
                    "first_name_ru": "Иван",
                    "middle_name_ru": "Сергеевич",
                    "using_on_behalf": false,
                    "not_usa_tax_payer": true,
                    "countries_citizenship": [
                        "BY"
                    ],
                    "registration_district": "Centralny District"
                }
            },
            "payment_method": {
                "type": "alternative"
            },
            "customer_id_data": {
                "issuer": "MVD RB",                    
                "issue_date": "2016-05-25",
                "expiry_date": "2026-05-24",
                "document_type": "passport",
                "document_number": "12345678",
                "document_series": "MP",
                "personal_number": "ww3356768",
                "document_country": "BY"
            }
        },        
        "gateway": {
            "iframe": true
        },
        "form": {
            "action": "link-to-test",
            "fields": [],
            "method": "GET"
        }
    }
}

Автоматические уведомления

Автоматические уведомления высылаются в следующих случаях:

  • при изменении статуса транзакции на pending, expired, failed или successful;
  • при изменении статуса верификации покупателя;
  • при инициализации транзакции.
Статус транзакции Финальный статус? Текст сообщения, transaction.message Описание статуса
pending нет Transaction was initialized. Customer verification pending. Уведомление при инициализации транзакции в следующих случаях:
1. Новый покупатель, процесс верификации инициирован.
2. Существующий пользователь, верификация не пройдена.
pending нет Transaction was initialized. Customer action is required to complete the payment. Уведомление при завершении оплаты покупателем.
pending нет Error while sending test answers. Ошибка отправки запроса с результатами теста.
successful да Transaction successfully processed. Транзакция проведена успешно.
failed да зависит от ошибки Провести транзакцию не удалось.
expired да Transaction expired. Допустимое время завершения транзакции истекло.
Пример уведомления: необходимы действия со стороны покупателя
{
  "transaction": {
    "uid": "3209b045-8f40-46a5-b65f-1b9a76e02cea",
    "type": "payment",
    "status": "pending",
    "amount": 3502,
    "currency": "BYN",
    "description": "description",
    "created_at": "2025-10-02T14:09:21Z",
    "updated_at": "2025-10-02T14:10:08Z",
    "method_type": "crypto_currency",
    "receipt_url": "https://merchant.bepaid.by/customer/transactions/3209b045-8f40-46a5-b65f-1b9a76e02cea/e39c14b784468236c619b8a89ed85ea2adc5b6553f3ebb5328965a3c6944be82?language=en",
    "payment": {
      "status": "pending",
      "gateway_id": 5712,
      "ref_id": "18206e7e-dd1b-4dd4-ac43-738e64b1dd71",
      "message": "Transaction was initialized. Customer action is required to complete the payment."
    },
    "crypto_currency": {
      "type": "crypto_currency",
      "amount": "80",
      "currency": "TRX",
      "token_standard": "Tron",
      "recipient_wallet_id": "TZHsaA4bJVvPLkwkeVwo7mtB65QzyumQxu"
    },
    "customer": {
      "zip": "220000",
      "city": "Minsk",
      "email": "example+193@gmail.com",
      "phone": "17777777777",
      "state": "Minsk Region",
      "gender": "male",
      "street": "Ylica 10",
      "address": "1st Street",
      "country": "BY",
      "device_id": "12312312321fff67",          
      "birth_date": "1990-01-01",          
      "external_id": "user-12345193",          
      "taxpayer_id": "010200A9618",
      "ip": "127.0.0.1"
    },
    "manually_corrected_at": null,
    "version": 3,
    "message": "Transaction was initialized. Customer action is required to complete the payment.",
    "tracking_id": "your_uniq_number",
    "test": false,
    "language": "en",
    "expired_at": "2025-07-01T11:03:01Z",
    "billing_address": {
      "zip": "220000",
      "city": "Minsk",
      "email": "example+193@gmail.com",
      "phone": "17777777777",
      "state": "Minsk Region",
      "gender": "male",
      "street": "Ylica 10",
      "address": "1st Street",
      "country": "BY",
      "device_id": "12312312321fff67",          
      "birth_date": "1990-01-01",       
      "taxpayer_id": "010200A9618"
    },
    "additional_data": {
      "kyc_answers": {
        "answers": {
          "agreed": true,
          "source": "fb",
          "first_name": "Ivan",
          "last_name": "Ivanov",
          "middle_name": "Ivanovich",
          "last_name_ru": "Иванов",
          "birth_address": "RU, Minsk, Ylica, 1",
          "first_name_ru": "Иван",
          "middle_name_ru": "Иванович",
          "using_on_behalf": true,
          "not_usa_tax_payer": true,
          "countries_citizenship": [
            "RU"
          ],
          "registration_district": "Smolevichi Distr"
        }
      },
      "payment_method": {
        "type": "alternative"
      },
      "customer_id_data": {
        "issuer": "MVD RB",            
        "issue_date": "2016-05-25",
        "expiry_date": "2026-05-24",
        "document_type": "passport",
        "document_number": "12345678",
        "document_series": "MP",
        "personal_number": "Идентификационный номер",
        "document_country": "RU"
      }
    },
    "smart_routing_verification": {      
      "status": "successful"
    },
    "gateway": {
      "iframe": false
    }
  }
}

Выплата

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

  1. Покупатель инициирует вывод средств с баланса на сайте торговца, выбирает сумму вывода в BYN и указывает идентификатор своего криптокошелька в одной из доступных криптовалют.
  2. Торговец проверяет, есть ли у данного покупателя успешная оплата.
  3. Если успешная оплата есть, торговец отправляет запрос на выплату средств, указав в запросе customer.external_id.
  4. bePaid также проверяет, есть ли в системе успешная оплата для указанного customer.external_id.
  5. Если оплата есть, bePaid присылает ответ на запрос оплаты со статусом pending.
  6. bePaid отправляет торговцу автоматическое уведомление с финальным статусом выплаты. Торговец также может запросить статус выплаты у bePaid с помощью запроса получения статуса транзакции.
Запрос

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

amount
обязательный
integer
Сумма к выплате в валюте BYN.
currency
обязательный
string
BYN, валюта транзакции в формате ISO-4217 alpha-3 code.
object
Секция данных способа оплаты.
type
обязательный
string
Следует установить в значении сrypto_currency.
token_standard
обязательный
string
Название сети, соответствующей криптовалюте кошелька покупателя.
currency
обязательный
string
Криптовалюта, соответствующая валюте кошелька покупателя.
recipient_wallet_id
обязательный
string
Номер кошелька покупателя, на который будет проведена выплата средств.
object
Секция информации о покупателе.
external_id
обязательный
string (255)
Уникальный идентификатор покупателя в системе торговца.
Пример запроса на проведение выплаты
{
    "request": {
        "amount": 10000,
        "currency": "BYN",
        "description": "description",
        "test": false,
        "tracking_id": "your_uniq_number",
        "notification_url": "https://your-notification.url",
        "return_url": "https://your-success.url",
        "method": {
            "type": "crypto_currency",
            "token_standard": "Tron",
            "currency": "TRX",
            "recipient_wallet_id": "GHFH123413hJJHHGHF"
        },
        "customer": {
            "external_id": "user-12345"
        }
    }
}
Ответ
object
uid
string
UID обработанной транзакции.
status
string
Статус обработанной транзакции.
message
string
Сообщение с результатом запроса.
object
type
string
Тип платежного метода, crypto_currency
token_standard
string
Название сети, соответствующей криптовалюте кошелька покупателя.
currency
string
Криптовалюта, соответствующая валюте кошелька покупателя.
recipient_wallet_id
string
Номер кошелька покупателя, на который будет проведена выплата средств.
Пример ответа на запрос на проведение выплаты
{
    "transaction": {
        "uid": "5a050f2a-a491-479f-b96c-4ca9f3c28bec",
        "type": "payout",
        "status": "pending",
        "amount": 10000,
        "currency": "BYN",
        "description": "description",
        "created_at": "2025-08-01T13:39:13Z",
        "updated_at": "2025-08-01T13:39:14Z",
        "manually_corrected_at": null,
        "method_type": "crypto_currency",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/5a050f2a-a491-479f-b96c-4ca9f3c28bec/9d31abf45028f04cf47f85e39728081e9706f11111111",
        "payout": {
            "status": "pending",
            "gateway_id": 3878,
            "message": "Transaction was initialized.",
            "bank_code": 422
        },
        "crypto_currency": {
            "type": "crypto_currency"
        },
        "customer": {
            "email": null,
            "ip": null
        },
        "version": 1,
        "message": "Transaction was initialized.",
        "test": true,
        "billing_address": {},
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {
            "status": "successful"
        }
    }
}
Пример ответа на запрос статуса выплаты, статус successful
{
  "transaction": {
    "uid": "e92ef070-8593-47dc-ae40-111111",
    "type": "payout",
    "status": "successful",
    "message": "Transaction successfully processed.",
    "amount": 3500,
    "currency": "BYN",
    "description": "description",
    "created_at": "2025-09-16T15:12:18Z",
    "updated_at": "2025-09-16T15:12:47Z",
    "manually_corrected_at": null,
    "method_type": "crypto_currency",
    "receipt_url": "https://merchant.bepaid.by/customer/transactions/e92ef070-8593-47dc-ae40-c884ebd5e6e2/35a126f73e642bba3506c66e863a0ba6c1bb7d93d629c2e248d6d6f6e6cee545?language=en",
    "payout": {
      "status": "successful",
      "gateway_id": 5712,
      "ref_id": "e852c660-b0c2-4856-b333-1111111",
      "message": "Transaction successfully processed."
    },
    "crypto_currency": {
      "type": "crypto_currency",
      "amount": "80",
      "currency": "TRX",
      "token_standard": "Tron",
      "recipient_wallet_id": "TYPAe4v111111111111111111"
    }
    ...
  }
}

Автоматические уведомления

Автоматические уведомления высылаются при изменении статуса транзакции на pending, expired, failed или successful.

Статус транзакции Финальный статус? Текст сообщения, transaction.message Описание статуса
pending нет Transaction was initialized. Запрос на проведение транзакции принят, но транзакция еще не завершена.
successful да Transaction successfully processed. Транзакция проведена успешно.
failed да зависит от ошибки Провести транзакцию не удалось.
expired да Transaction expired. Допустимое время завершения транзакции истекло.
Пример уведомления: покупатель не прошел проверку KYC
{
    "transaction": {
        "uid": "b91f6618-0b36-4d3a-a940-11111",
        "type": "payout",
        "status": "failed",
        "amount": 3501,
        "currency": "BYN",
        "description": "description",
        "created_at": "2025-09-29T12:16:10Z",
        "updated_at": "2025-09-29T12:16:10Z",
        "manually_corrected_at": null,
        "method_type": "crypto_currency",
        "receipt_url": "https://merchant.bepaid.by/customer/transactions/b91f6618-0b36-4d3a-a940-11111/11111?language=en",
        "payout": {
            "status": "failed",
            "gateway_id": 5712,
            "message": "Verified customer not found."
        },
        "crypto_currency": {
            "type": "crypto_currency",
            "currency": "TRX",
            "token_standard": "Tron",
            "recipient_wallet_id": "TYPAe4vUYtUAKgrRt7iUc2fLuVhRHfCiJG"
        },
        "customer": {
            "email": null,
            "ip": "127.0.0.1"
        },
        "version": 1,
        "message": "Verified customer not found.",
        "tracking_id": "your_uniq_number",
        "test": false,
        "language": "en",
        "paid_at": "2025-09-29T12:16:10Z",
        "billing_address": {
            "zip": "220000",
            "city": "Minsk",
            "phone": "17777777777",
            "state": "Minsk Region",
            "gender": "male",
            "street": "10-21",
            "address": "1st Street",
            "country": "RU",
            "device_id": "12312312321fff67",                
            "birth_date": "1990-01-01",              
            "taxpayer_id": "010200A9618"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },
        "smart_routing_verification": {            
            "status": "successful"
        }
    }
}

Список доступных криптовалют

Название криптовалюты Код криптовалюты
method.currency
Название сети криптовалюты
method.token_standard
Bitcoin BTC Bitcoin
Ethereum ETH Ethereum
USD Coin USDC Ethereum
Tether USDT Ethereum
TON TON Ton
Tether USDT TON
Tronix TRX Tron
Tether USDT_TRC Tron

Значения document_type

Значение параметра document_type Описание параметра document_type
passport Паспорт
international_passport Заграничный паспорт
foreign_passport Паспорт иностранного гражданина
id_card Идентификационная карта (ID-карта)
driver_license Водительское удостоверение
residence_permit Вид на жительство иностранного гражданина (обычный)
residence_permit_refugee Вид на жительство беженца. (обычный)
residence_permit_bio_refugee Вид на жительство беженца (биометрический).
residence_permit_bio_stateless Вид на жительство лица без гражданства (биометрический)
temporary_residence_permit Разрешение на временное проживание
temporary_identity_card Удостоверение личности (временное удостоверение личности)
military_identity_card Удостоверение личности военнослужащего
military_id Военный билет
refugee_certificate Удостоверение беженца
temporary_asylum_certificate Свидетельство о предоставлении временного убежища
resettler_certificate Удостоверение переселенца или лица, ходатайствующего о статусе
travel_document_foreign Проездной документ иностранного гражданина
migration_card Миграционная карта
seafarer_passport Паспорт моряка / удостоверение личности моряка
diplomatic_certificate Удостоверение личности дипломатического/служебного представителя
return_certificate Свидетельство о возвращении на родину / справка на возвращение
other Иной документ, удостоверяющий личность