Як підключити Paynow

Введіть свій обліковий запис Paynow. Перейдіть до налаштувань, натиснувши на шестірню.

Далі переходимо до Sklepy i punkty płatności

Нижче в налаштуваннях рядка магазину Adres powiadomień вкажіть URL-адресу для отримання зворотного виклику оплати:

https://chatter.salebot.pro/paynow\\_callback/result

Нижче потрібно скопіювати ключ API (Klucz dostępu do API) та секретний ключ (Klucz obliczania podpisu)

Перейдіть до свого проекту на mavibot.pro та в розділі Платіжні системи - Paynow запишіть знайдені ключі.

Як сформувати посилання для оплати

Обов'язкові налаштування

Перш ніж вказати змінну з сумою оплати, клієнт повинен мати змінну email зі своєю електронною адресою

Приклад того, як можна запитати та зберегти електронну адресу, наведено нижче.

email - електронна адреса покупця (якщо не вказано, використовується фіктивна)

payment_description - опис оплати відображається у веб-інтерфейсі (Увага! Кирилиця буде автоматично замінена на латиницю, не більше 255 символів). Якщо не вказано, заповнюється автоматично: Оплата рахунку № "тут номер"

Щоб згенерувати посилання для оплати, потрібно встановити значення змінної payment_sum (наприклад, 150 або 100.55 (через крапку!)), одразу після цього з'явиться змінна paynow_pay_url. Цю змінну можна відобразити з посиланням або розмістити на кнопці з текстом "Оплатити".

Посилання має вигляд: https://paywall.paynow.pl/NOH0-0LT-SEY-XOI?token=eyJraWQiOiJhMDAyNjJjYS02NTU3LTRjOTktOGU0NC1kMTFlMTAxYjhhNTIiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJOT0gwLTBMVC1TRVktWE9JIiwiYXVkIjoicGF5d2FsbC5zYW5kYm94LnBheW5vdy5wbCIsImlzcyI6InNhbmRib3gucGF5bm93LnBsIiwiZXhwIjoxNjE5NTkyOTc4LCJpYXQiOjE2MTk1MDY1Nzh9.dnCfjADHiTynvXk41TVxsQEVfDAnHFDC\\_9sdzWF4G2s

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

Також перед встановленням значення payment_sum можна вказати наступні додаткові змінні для налаштування оплати.

first_name - ім'я покупця

last_name - прізвище покупця

language - мова сторінки оплати у форматі BCP47/RFC5646 (наприклад, pl-PL, en-US)

currency - код валюти оплати ISO 4217. Якщо не вказано, використовується значення за замовчуванням (PLN).

Зверніть увагу:

  • Спочатку вкажіть email
  • Потім додаткові параметри first_name, payment_description тощо.
  • І наостанок призначте значення змінної payment_sum

Приклад посилання для оплати

Спочатку ми запитаємо та збережемо електронну адресу клієнта. Створимо блок із запитом на введення email та збережемо введене у стрілці:

У наступному блоці повідомлення не відображатиметься, ми вкажемо опис оплати, а після нього одразу встановимо змінну з сумою оплати 10 злотих (за замовчуванням злоті)

Далі у потрібному місці виведіть змінну paynow_pay_url, яка містить посилання. У прикладі це наступний блок.

Як обробити результат

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

Ці колбеки в системі ви бачите як повідомлення від користувача, тому щоб їх не міг надіслати користувач, вони складаються з перших 10 символів секретного ключа та слова success, наприклад: omc79l97u4_success

Ці колбеки НЕ БАЧИТЬ користувач, вони відображаються лише оператору.

Тип порівняння має бути "Повний збіг"

Також після успішної оплати змінна paynow_payment_completed встановлюється в True.

Наприклад, ви можете створити блок обробки успішної оплати з умовою та вивести відповідне повідомлення користувачу:

Після завершення оплати до клієнта буде додано змінну paynow_callback_data, яка містить дані відповіді платіжної системи для завершеної транзакції. Ви можете витягти необхідні дані зі словника за допомогою методу get.

Щоб здійснити повторну оплату, потрібно скинути payment_sum, раніше згенероване посилання, а після скидання змінної payment_sum отримати нове посилання. Ви можете вказати попереднє значення.

Сповіщення про оплату порівнює значення змінної paynow_payment_id з ідентифікатором платежу зі сповіщення; якщо вони не збігаються, це означає, що оплата була здійснена за старим посиланням. У вашому листуванні з користувачем ви побачите сповіщення про це.

Ми наполегливо рекомендуємо не створювати повторне посилання для оплати, якщо попереднє не було завершено або скасовано!