Интеграция сервиса оплаты на сайт через API (Тинькофф-Тильда)
Клиент хочет подключить новый сервис оплаты Долями от Тинькофф (шаблона для интеграции сервиса нет, необходимо сделать вручную). Суть действия - на сайте (собран на Тильда) необходимо добавить кнопку (через HTML-код), при нажатии на которую формируется заявка в банк. Насколько я поняла из инструкции Тинькофф, для этого необходимо создать запрос внутренним методом Create (или CreateDemo для тестовой заявки) с использованием API. Ссылка на инструкцию - https://forma.tinkoff.ru/docs/credit/api/join/ Инструкция по методу CreateDemo - https://forma.tinkoff.ru/docs/credit/help/methods/?type=api&method=create-demo У Тинькофф есть примеры кнопок, скриптов для работы с событиями заявки и др. - https://forma.tinkoff.ru/docs/credit/examples/ Описание метода Create непосредственно для сервиса Долями - https://dolyame.ru/develop/help/api/?method=create
Я понимаю, как добавить кнопку, но не понимаю, как именно вызвать необходимый метод при нажатии на кнопку. Если кто-нибудь сможет объяснить, как это происходит - буду крайне признательна.
<script src="https://forma.tinkoff.ru/static/onlineScript.js"></script>
<!--скрипт для вызова внутренних методов Тинькофф-->
<script src="https://forma.tinkoff.ru/api/partners/v2/orders/create-demo"></script>
<!-- ссылка на метод CreateDemo из инструкции -->
<!-- подклюение npm-пакета Тинькофф -->
<script>
import tinkoff from '@tcb-web/create-credit';
tinkoff.createDemo({
shopId: 'SHOP_ID',
showcaseId: 'SHOWCASE_ID',
items: [{
name: 'йога-пробуждение на 2 месяца',
price: 10000,
quantity: 1
}, ],
sum: 10000
});
</script>
<!-- шаблон скрипта для работы с событиями заявки -->
<script>
tinkoff.methods.on(tinkoff.constants.SUCCESS, onMessage);
tinkoff.methods.on(tinkoff.constants.REJECT, onMessage);
tinkoff.methods.on(tinkoff.constants.CANCEL, onMessage);
function onMessage(data) {
switch (data.type) {
case tinkoff.constants.SUCCESS:
console.log('SUCCESS', data.meta.iframe.url);
break;
case tinkoff.constants.REJECT:
console.log('REJECT', data.meta.iframe.url);
break;
case tinkoff.constants.CANCEL:
console.log('CANCEL', data.meta.iframe.url);
break;
default:
return;
}
tinkoff.methods.off(tinkoff.constants.SUCCESS, onMessage);
tinkoff.methods.off(tinkoff.constants.REJECT, onMessage);
tinkoff.methods.off(tinkoff.constants.CANCEL, onMessage);
data.meta.iframe.destroy();
}
</script>
<!-- кнопка для отправки заявки -->
<button type="button" method="post" class="TINKOFF_BTN_YELLOW TINKOFF_SIZE_M" onclick="tinkoff.createDemo(
{
sum: 10000,
items: [{name: 'йога-пробуждение на 2 месяца', price: 10000, quantity: 1}],
demoFlow: 'sms',
shopId: 'SHOP_ID',
showcaseId: 'SHOWCASE_ID',
},
{view: 'modal'}
)">Оплатить Долями</button>
Ответы (1 шт):
...как именно вызвать необходимый метод при нажатии на кнопку.
Так и вызвать - нажать на кнопку.
Метод createDemo() вызывается при клике (onclick) на кнопку:
onclick="tinkoff.createDemo(...)";