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

Checkout: Довідник

Перенаправлення клієнтів до Checkout

Ви можете використовувати як посилання на оплату (як стандартну HTML-форму), так і платіжний віджет (JS) для того, щоб зібрати та передати деталі платежу та дані клієнта у Checkout. Докладніше про методи інтеграції читайте тут.

Коли клієнт вибирає оплату онлайн, ваш сайт повинен надіслати дані HTML-форми на https://gate.cascad.com/hpp/.

HTML-форма повинна містити обов'язкові приховані поля, перелічені в опціях налаштування.

Ви також можете використовувати безпечніший спосіб перенаправлення користувача — з попередньо створеним Payment Invoice ID (ID інвойсу платежу). Детальний опис у розділі Безпечне перенаправлення.

Як покращити користувальницький досвід на вашому сайті

  • Будь-які параметри, які ви надсилаєте через HTML-форму, такі як дані клієнта (ФІО, email), повинні мати можливість для автозаповнення (або автозаповнення та приховування), щоб користувачеві було легше заповнювати форму.
  • Скористайтеся можливістю кастомізувати вашу Checkout.
  • Щоб покращити конверсію CASCAD рекомендує перенаправляти клієнта до Checkout у тому ж вікні браузера або вбудувати Checkout на сторінку в iFrame.

Безпечне перенаправлення

Використовуйте цей спосіб, щоб бути впевненими, що деталі платежу безпечно передаються між вашим сервером та CASCAD.

Важливо!

Ми рекомендуємо використовувати цей метод перенаправлення клієнтів до CASCAD, тому що він не вимагає передачі параметрів платежу до браузера користувача. Це запобігає можливості переглянути або змінити будь-які параметри платежу.

Процес перенаправлення наступний:

  1. Ваш веб-сервер надсилає стандартний POST запит із параметрами платежу, використовуючи приватний API.
  2. Сервер CASCAD створює інвойс (Payment Invoice) і повертає стандартну HTTP(S) відповідь.
  3. Ваш веб-сервер отримує з відповіді значення ID інвойсу.
  4. Формується посилання для перенаправлення виду:
https://gate.cascad.com/hpp/?cpi=<PAYMENT_INVOICE_ID>
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.payment_widget.init({
    cpi: "<PAYMENT_INVOICE_ID>",
});
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>

Можливі налаштування

Те, який обраний метод інтеграції, визначає, які ви задаєте параметри Checkout.

Нагадаємо загальні вимоги

Інтеграція Checkout буде успішною, якщо дотримуються такі вимоги:

  • Акаунт активовано.
  • На ньому дозволено створення інвойсів платежу (payment invoices) через публічний API.
  • У налаштуваннях заданий та активований хоча б один тип валют.

Будь ласка, зв'яжіться з вашим акаунт-менеджером, якщо не впевнені, що всі ці вимоги виконані.

Стандарт кодування текстових полів запитів-відповідей

Усі текстові поля використовують стандарт UTF-8.

Параметри URL

Усі параметри URL повинні передаватися в повному вигляді, наприклад замість www.google.co.uk варто використовувати https://www.google.co.uk.

Основні параметри

Усі нижченаведені параметри обов'язкові*:

Ключ Тип Опис
public_key* string Ключ доступу до відкритого API знаходиться в Панелі управління у розділі «Налаштування» → «Інтеграція»
amount* float Сума платежу
currency* (string) CurrencyCode Код валюти платежу (трилітерний ISO 4217 код)
Приклад: Платіж з мінімальним набором параметрів
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH"
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="submit" value="Pay" />
</form>

Доступні валюти

Ви можете створювати інвойси платежів тільки в тих валютах, які доступні у вашому обліковому записі. Будь ласка, зв'яжіться з адміністратором, якщо вам потрібні додаткові валюти для обробки платежів.

Тестовий режим

Якщо ви бажаєте протестувати обробку платежу, замініть «бойовий» (Public Live Key) тестовим ключем доступу (Public Test Key).

Додаткові параметри

Додаткові значення потрібні для більш гнучкого налаштування Checkout і додають більше інформації в інвойс.

Ключ Тип Опис
reference_id string Унікальний ID інвойсу платежа у системі обліку продавця
description string Опис платежа
expires int Дата, до якої дійсний інвойс, у форматі UNIX таймстамп, UTC+0
Приклад: Платіж з додатковими параметрами
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    reference_id: "<your_unique_reference_id>",
    description: "Some goods",
    expires: 1602414000
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="reference_id" value="<your_unique_reference_id>" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="hidden" name="expires" value="1602414000" />
    <input type="submit" value="Pay" />
</form>

Ідемпотентність

Ідемпотентність методів обробки запобігає обробці запитів, що дублюються, завдяки використанню унікального значення для ключа reference_id.

Кожний reference_id має бути унікальним ідентифікатором (унікальним в рамках конкретного комерційного облікового запису), і ви можете налаштувати генерацію власних ключів, щоб бути впевненими, що вони не повторюються, але й не генеруються у хаотичному порядку.

UUID — це великі (128-бітні) числа. Щоб уникнути "випадкового" створення однакових ключів, ми рекомендуємо використовувати генератор UUID для ваших reference_id. Це особливо важливо, коли reference_id генеруються для різних інвойсів платежів одночасно.

Дані клієнта

Об'єкт customer містить додаткову інформацію про клієнта, який здійснює платіж. Зокрема email — e-mail, який можна використовувати для надсилання повідомлень про успішний або відхилений платіж (якщо ви використовуєте цей канал для комунікації з користувачами).

Налаштуйте прийом даних за допомогою таких додаткових параметрів:

Ключ Тип Опис
reference_id* string Унікальний ID клієнта у системі обліку продавця
email string E-mail клієнта
phone string Номер телефону клієнта
name string Ім'я клієнта
metadata array[key:value] Метадата (будь-які додаткові дані, які вам необхідно передавати)
Приклад: Платіж з даними про клієнта
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    reference_id: "<your_unique_reference_id>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    customer: {
        reference_id: "cus_1234567",
        email: "somename@domain.com",
        name: "John Wick",
        metadata: {
            key1: "value1",
            key2: "value2"
        }
    }
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="reference_id" value="<your_unique_reference_id>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="hidden" name="customer[reference_id]" value="cus_1234567" />
    <input type="hidden" name="customer[email]" value="somename@domain.com" />
    <input type="hidden" name="customer[name]" value="John Wick" />
    <input type="hidden" name="customer[metadata][key1]" value="value1" />
    <input type="hidden" name="customer[metadata][key1]" value="value2" />
    <input type="submit" value="Pay" />
</form>

Автопроцесинг

Поля service і service_fields використовуються, щоб відправити клієнта відразу на заздалегідь визначений порт платіжного сервісу. Наприклад: service: paypal_UAH_hpp.

Якщо у сервісу (service) є обов'язкові поля, ви їх вказуєте у service_fields.

Ключ Type Description
service (string) ServiceCode Код сервісу. Наприклад: bitcoin_btc_hpp
service_fields (object) string[key:value] Обов'язкові для обраного сервісу поля. Наприклад: [{'name': 'John Doe'}]
Приклад: Платіж з автопроцесингом
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    service: "paypal_UAH_hpp"
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="service" value="paypal_UAH_hpp" />
    <input type="submit" value="Pay" />
</form>
Спробуйте налаштувати Checkout у "пісочниці"

Ви можете попередньо налаштувати всі ці параметри Checkout і перевірити відображення в пісочниці . Аналогічно ви зможете налаштувати платіжне посилання або сніпет коду для виконання на сторінці сайту.

Демо

URL для повернення

Введіть URL для повернення (return_url), щоб ваші клієнти поверталися на ваш сайт після завершення процесу оплати.

Якщо return_url не задано, користувачі будуть перенаправлені за замовчуванням на одну зі стандартних сторінок CASCAD.

Ви можете перезаписати URL для повернення після здійснення індивідуальної транзакції в об'єкті options з наступним необов'язковим полем:

Ключ Тип Опис
return_url string URL, на який перенаправляється клієнт після завершення процесу оплати

CASCAD налаштовує для вас посилання для автоповернення у вашому обліковому записі, але ви також можете передавати значення return_url, перезадаючи цей параметр.

Наприклад, ви можете налаштувати перенаправлення платника в індивідуальному порядку, залежно від ID сесії або інших налаштувань транзакції, які можна вказати в URL. У такому разі, щоб задати URL для повернення, увімкніть return_url в налаштуваннях інвойсу.

Приклад: Платіж з індивідуальним URL для повернення користувача
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    return_url: "https://somedomain.com/",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods"
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="return_url" value="https://somedomain.com/" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="submit" value="Pay" />
</form>

Callback URL

На відміну від URL для повернення клієнта (return_url), URL для Callbacks (callback_url) перезаписувати не можна (згідно з вимогами безпеки). Ви вказуєте URL посилання для отримання Callbacks в налаштуваннях акаунту .

Локалізація

Наразі Checkout підтримує три основні мови: англійську, українську, російську. За замовчуванням використовується мова браузера клієнта, але ви можете встановити відображення сторінки певною мовою:

Ключ Тип Опис
locale string Код ISO 639-1 однієї з передвстановлених мов (en, uk, ru)
Приклад: Платіж с передвстановленою мовою для Checkout
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    locale: "uk",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods"
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="locale" value="uk" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="submit" value="Pay" />
</form>

Кастомізація

Одна з наших улюблених налаштувань Checkout – налаштування його зовнішнього вигляду.

Відображення

Задається в об'єкті display з наступними ключами:

Ключ Тип Опис
hide_header bool Прапор "Сховати хедер", за замовчуванням: false
hide_footer bool Прапор "Сховати футер", за замовчуванням: false
hide_progress_bar bool Прапор "Приховати індикатор процесу (кроки виконання)", за замовчуванням: false
hide_method_filter bool Прапор "Приховати категорії для методів", за замовчуванням: false
hide_lifetime_counter bool Прапор "Приховати таймер зворотнього відліку", за замовчуванням: false

Фільтрація платіжних методів

Для деяких платежів ви можете дозволити фільтрацію методів оплати або обійти перший крок із вибором методу на Checkout.

Задається в об'єкті display з наступними ключами:

Ключ Тип Описание
show_methods array[method_codes] Прапор "Відобразити певні методи оплати"
hide_methods array[method_codes] Прапор "Приховати певні методи оплати"

Додаткове налаштування платіжних сервісів

Всі платіжні послуги можна налаштувати в налаштуваннях акаунту : НалаштуванняПлатіжні методи.

Стиль

Ви можете налаштувати зовнішній вигляд Checkout, щоб сторінка відповідала стилістиці вашого бренду. Перевизначити стиль можна задавши ключі властивостей всередині об'єкта style.

Ключ Опис
pay_button_label Напис на кнопці "Оплатити" всіма мовами, що підтримуються. Варіанти: pay, subscribe, donate
show_method_logo Відображати іконку або логотип на блоці-прев'ю платіжного методу
theme Предустановленные теми, які включають відразу кілька параметрів: макет, колірна схема, шрифт. Варіанти: light, dark
success_color Колірна схема (базовий колір) для повідомлень про успішну оплату
warning_color Колірна схема (базовий колір) для повідомлень із попередженнями
danger_color Колірна схема (базовий колір) для повідомлень про небезпеку подальших змін
info_color Колірна схема (базовий колір) для інформаційних повідомлень
primary_color Базовий колір
primary_variant Варіативний колір, який поєднуватиметься з primary_color. Якщо базовий колір - темний, варіативний буде на кілька тонів світлішим. Використовується в найважливіших UI-компонентах (переходах, кнопках)
primary_text_color Базовий колір тексту
primary_background_color Базовий колір фону
on_primary_color Найкращий колір для елементів, що поєднується з кольором фону. Може базуватися на primary_background_color
secondary_color Допоміжний колір
secondary_variant Варіативний колір, який поєднуватиметься з secondary_color. Якщо базовий колір – темний, варіативний буде світлішим. Використовується у другорядних UI-компонентах (переходах, кнопках)
secondary_text_color Допоміжний колір тексту, що використовується переважно у другорядних UI компонентах
secondary_background_color Другий колір фону (для прев'ю платіжних методів)
on_secondary_color Найкращий колір для елементів, що поєднується з другорядним кольором фону. Може базуватися на secondary_background_color

Приклад: Заміна напису на кнопці

payment_widget.init ({
    public_key: "YOUR_COMMERCE_ACCOUNT_PUBLIC_KEY",
    amount: "100.00",
    currency: "UAH",
    style: {
        pay_button_label: "pay"
    },
});

Метадані

Налаштування:

Ключ Опис
metadata Набір пар у вигляді "ключ-значення". Додаткові дані для інвойсу

У прикладі вище ми пропонували вам передавати унікальний reference_id разом з рештою даних про платеж. Так зв'язується платіж і Callbacks по ньому, що передаються CASCAD, і можна відслідковувати зміни статусу платежу та співвідносити із замовленням у внутрішній системі продавця (ми використовували цей підхід у прикладі як оптимальний).

Однак, як альтернативу, ви можете задати унікальний ідентифікатор для замовлення у вигляді order_id і передавати CASCAD API всередині metadata. Ті ж метадані будуть повернуті до metadata Callbacks, та система співвіднесе платіж та замовлення.

Так, якщо ви хочете зберігати та обробляти додаткові дані про платіж, використовуйте metadata. Наприклад, якщо постачальнику послуг передачі даних потрібно вказувати додаткові опції до конкретних тарифних планів, наприклад, "Обмеження використання", "Швидкість у заданих межах", їх можна надсилати до метаданих.

Платіж із заданими метаданими (за прикладом вище)
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    reference_id: "<your_unique_reference_id>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    metadata: {
        "usage-limit": "5GB",
        "speed-within-quota": "2MBbps",
        "post-usage-quota": "512kbps"
    }
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="reference_id" value="<your_unique_reference_id>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="hidden" name="amount" value="100" />
    <input type="hidden" name="metadata[usage-limit]" value="5GB" />
    <input type="hidden" name="metadata[speed-within-quota]" value="2MBbps" />
    <input type="hidden" name="metadata[post-usage-quota]" value="512kbps" />
    <input type="submit" value="Pay" />
</form>

Враховуйте, що:

  • Метадані видно лише вам, а не клієнтам.
  • Метадані не використовуються для фільтрації в панелі управління та не передаються в експорті.

Відображення на сторінці

Ми пропонуємо два варіанти інтеграції:

  • Перенаправлення на окрему сторінку: Перенаправлення на кастомізовану сторінку оплати.
  • Вбудований елемент (iFrame или lightbox): Відображається всередині сторінки оплати на вашому сайті.

Перенаправлення на окрему сторінку

Коли ваш клієнт перенаправляється до Checkout, Checkout відкривається як окрема сторінка у браузері та у рядку браузера відображається її адреса.

Задається значенням ключа targetredirect для платіжного віджету (для платіжного посилання - задається прямим посиланням).

Приклад реалізації
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    target: "redirect"
};
</script>
<form action="https://gate.cascad.com/hpp/" method="get" target="_self">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="hidden" name="amount" value="100" />
    <input type="submit" value="Pay" />
</form>

Вбудований елемент (iFrame или lightbox)

У цьому варіанті Checkout вбудовується на сторінці як елемент iFrame або lightbox (модальне вікно). Коли клієнт переходить до Checkout, адреса сторінки не змінюється.

Базовий варіант для відображення в iFrame або lightbox Checkout використовує адаптивний веб-дизайн, тому розміри та вміст блоку підлаштовуються під розміри вікна (залежно від кількості елементів усередині змінюється висота iFrame або lightbox, а контент, розташований нижче блоку iFrame, додатково зміщується вниз).

Задайте значення iframe для ключа target, щоб додати елемент із Checkout на сторінку. Визначте selector_id в налаштуваннях віджета (за замовчуванням payment_widget).

Приклад реалізації
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    target: "iframe"
};
</script>
<div id="payment_widget" style="width: 375px; height: 600px;"></div>
<form action="https://gate.cascad.com/hpp/" method="get" target="payment_frame">
    <input type="hidden" name="public_key" value="<your_public_key>" />
    <input type="hidden" name="currency" value="UAH" />
    <input type="hidden" name="description" value="Some goods" />
    <input type="hidden" name="amount" value="100" />
    <input type="submit" value="Pay" />
</form>
<iframe name="payment_frame" src="" id="payment_frame" width="100%" height="600"></iframe>

Обмеження безпеки та кросбраузерності

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

Обираючи цей метод враховуйте наступне:

  • Частина платіжних методів, таких як iDEAL, забороняє відображення своїх внутрішніх сторінок в iFrame, і оплата за їх допомогою стає неможливою. Інші методи можуть вимагати більше простору при вбудовуванні, ніж виділено для вашого iFrame на сторінці. Ви також повинні підготуватися до можливих відмінностей в отриманні Callbacks від різних платіжних методів, враховуючи, що до моменту повного завершення процесу оплати клієнт може вже закрити сторінку з iFrame.

  • Інша проблема, з якою ви можете зіткнутися, - політика обробки даних у cookie-файлах. Checkout використовує cookie для обробки даних. Використання iFrame означає, що браузер може накладати зовнішні обмеження на обробку файлів cookie в iFrame. Незважаючи на те, що існують методи обходу заборон, що дозволяють браузеру приймати файли cookie із налаштуваннями за замовчуванням, клієнт може включити більше обмежень щодо cookie. Найпоширеніші проблеми виникають із браузерами Apple Safari та Google Chrome: за замовчуванням вони вимагають завантаження ініційованої користувачем сторінки всередині iFrame. Значить, спершу iFrame повинен завантажити сторінку з батьківського домену, а потім уже користувач повинен клацнути по кнопці та перейти до Checkout.

Так, CASCAD не може гарантувати, що всі платіжні методи будуть коректно працювати всередині iFrame і що поведінка внутрішніх сторінок оплати для обраних методів буде точно такою, як у повноекранній версії. Ба більше, процес обробки транзакцій у тестовому та "бойовому" режимі може відрізнятися.

Платіжний віджет

Бібліотека

Найбільш легкий та швидкий шлях інтегрувати та почати використання Checkout — paymentWidget.js.

Щоб вбудувати віджет на ваш сайт, скачайте його з CDN або додайте бібліотеку всередину вашої javascript-збірки.

Репозиторій: unpkg.com/@paycore/payment-widget-js

CDN:

<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.js"></script>

Ініціалізація

Ми пропонуємо два шляхи інтеграції payment_widget.js на сайт:

  1. window.payment_widget.init()

    З цим методом payment_widget.js запускається лише синхронно.

  2. window.HPPConfig

    Рекомендований метод, з яким payment_widget.js може запускатися синхронно або асинхронно.

Після того, як будуть визначені та заповнені всі поля, на сторінці з'явиться список доступних методів.

Приклади
<script src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.payment_widget.init({
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    target: "redirect"
});
</script>
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
    target: "redirect"
};
</script>

Конфігурація

Ключ Тип Опис
base_url string Адреса сторінки, на якій розташована сторінка Checkout. Необхідна, якщо Checkout розміщується на вашому домені (наприклад, pay.yourdomain.сom)
selector_id string ID елемента DOM, в який поміщується Checkout. За замовчуванням: payment_widget
frame_id string ID фрейма, який додається. За замовчуванням: payment_frame
target string Варіант розміщення Checkout на сторінці в iFrame або перенаправлення на нову вкладку браузера: iframe, redirect. За замовчуванням: iframe
Приклад: Додаткове налаштування віджета
<script src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.payment_widget.init({
    base_url: "https://pay.yourdomain.сom/hpp/",
    selector_id: "payWidget",
    frame_id: "payFrame",
    target: "redirect",
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods"
});
</script>
<script async src="https://unpkg.com/@paycore/payment-widget-js@0.1.93/dist/paymentWidget.umd.min.js"></script>
<script>
window.HPPConfig = {
    base_url: "https://pay.yourdomain.сom/hpp/",
    selector_id: "payWidget",
    frame_id: "payFrame",
    target: "redirect",
    public_key: "<your_public_key>",
    amount: 100.00,
    currency: "UAH",
    description: "Some goods",
};
</script>

Дії з віджетом

Метод Опис
init(object) Прийняти налаштування та ініціалізувати віджет з Checkout
reinit(object) Прийняти налаштування та повторно ініціалізувати віджет
close(object) Прийняти налаштування та закрити віджет
Приклади
window.payment_widget.init({
    public_key: "<your_public_key>",
    amount: "100.00",
    currency: "UAH",
});
window.payment_widget.reinit({
    public_key: "<your_public_key>",
    amount: "100.00",
    currency: "UAH",
});
window.payment_widget.close({
    frame_id: "<id_of_frame>", // By default: `payment_widget`
});

Події

Віджет обробляє події, які генерує Checkout та які ви також можете використовувати для обробників.

Ім'я подія Коли відбувається
ready Происходит, когда Checkout зарегистрирована в глобальном пространстве имен и безопасна для использования
rendered Происходит, когда Checkout отрисована в iFrame и готова к использованию клиентом
return Пользователь кликнул кнопку "Вернуться на сайт" на странице успешной оплаты. По умолчанию удаляет iFrame с клиентской страницы

Додавання обробників подій

Константи подій

Константи подій в JavaScript API доступні через payment_widget.events.

Три можливі методи для додавання обробників подій:

  1. Стандартний підхід

    window.payment_widget.bindEventListener(payment_widget.events.<EVENT_CONSTANT>, handler)
    
    window.payment_widget.bindEventListener(<event_name>, handler)
    
    window.payment_widget.bindEventListener('delete', () => {console.log("Iframe closing handle")})
    
  2. Додаткова конфігурація

    window.payment_widget.init({
        public_key: 'pk_test_<your_key>',
        handlers: {
            <event_name>: handler
        }
    });
    
    window.HPPConfig = {
        public_key: 'pk_test_<your_key>',
        handlers: {
            <event_name>: handler
        }
    };
    
  3. За подією в iFrame

    Можна обробляти події в iFrame безпосередньо, якщо платіжний віджет (JS) не використовується.

    window.addEventListener(<event_name>, callback, false);
    

    Документація MDN: Window.postMessage() .

Чим ми можемо допомогти?

Дякую, що використовуєте продукти CASCAD! Якщо вам потрібна додаткова порада або допомога, щоб розібратися в налаштуваннях Checkout, зв'яжіться, будь ласка, із нашою службою підтримки .