Виджет приема оплаты

Описание

Виджет позволяет настроить прием платежей с минимальной интеграцией. С вашей стороны необходимо будет настроить прием вебхуков и разместить виджет на странице своего приложения.

Доступно 2 варианта приема оплат:

  • Счета. Для каждого нового платежа пользователь получает новый счет с уникальным адресом, который действует ограниченное время. Счет может быть выставлен в крипто или фиатной валюте, с фиксированной суммой или без нее для свободной оплаты.

  • Персональные адреса. Прием платежей позволяет формировать список крипто адресов под каждого плательщика. Эти адреса навсегда закрепляются за пользователем.

В зависимости от выбранного типа приема платежей, мы будем отправлять соответствующий тип вебхука

Вебхук при оплате счета Вебхук при пополнении персонального адреса

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

Подключение

Подключение происходит при помощи HTML-тега <iframe/>

Пример:

<iframe 
    allow="clipboard-read; clipboard-write"
    src="https://widget.onchainpay.io/181a197e-3b00-4359-8298-6097aeb52c69"
></iframe>

Атрибут allow="clipboard-read; clipboard-write" необходим чтобы ваши клиенты могли скопировать адрес платежа нажатием кнопки "Скопировать"

Доступные параметры

Параметры передаются в query

Для вставки данных в query их необходимо экранировать. В JavaScript это можно сделать с помощью функции encodeURIComponent

const payinCryptoInvoiceId = encodeURIComponent('#12345');

Параметры для приема платежей с помощью счетов

ПараметрПримерОписание

payinCryptoInvoiceAmount

(decimal) 123.45

Сумма к оплате

payinCryptoInvoiceCurrencies

(string) USD,EUR

Валюта к пересчету

payinCryptoInvoiceId

(string) #12345

Идентификатор платежа

payinCryptoInvoiceDesc

(string) Оплата платежа 12345

Описание платежа

payinCryptoCurrenciesTo

(string) USDT_bsc,BNB,USDD_tron

Список монет доступных для оплаты

Если не передать параметр payinCryptoInvoiceCurrencies, то пользователю будет предложен выбор из всех доступных валют для пересчета его суммы

В параметр можно передать несколько валют через запятую, тогда пользователю будет предложен выбор только из указанных валют

Можно передать одну валюту, тогда она будет выбрана, без возможности для смены пользователем

Параметр payinCryptoInvoiceAmount будет работать если в payinCryptoInvoiceCurrencies передана одна валюта

В параметр можно указывать несколько монет/сетей через запятую

Доступно указание только тикера монеты, в таком случае будут доступны все сети, в которых эта монета есть Пример: USDT,BNB,ETH

Доступно указание монеты в конкретной сети, разделитель - нижнее подчеркивание Пример: USDT_tron,BNB_bsc,ETH_ethereum

При указании параметр payinCryptoInvoicePayerEmailRequired=true поле payinCryptoInvoicePayerEmailAllow игнорируется


Параметры для оплаты персональным адресом

ПараметрПримерОписание

extUserId

(string) user1234567

ID плательщика на стороне мерчанта (параметр обязательный)

Создаваемые персональные пользователи из виджетов будут изолированны между виджетами

Если получить адрес оплаты для пользователя X из виджета A, то он не будет таким же как для того же пользователя X из виджета B


Если вы хотите получить пользователя X через API персональных платежей, то вы должны добавить ID виджета в начало

Пользователь X: user12345 ID виджета: 00000000-0000-0000-0000-000000000000

ID клиента для получения через API будет таким: 00000000-0000-0000-0000-000000000000@user12345

Last updated