Як налаштувати Paypal

Для роботи з Paypal потрібно отримати два ключі: client_id та secret.

Перейдіть на сторінку https://developer.paypal.com/developer/applications/

Виберіть зі списку або створіть новий застосунок:

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

Скопіюйте дані та вставте їх у відповідні поля в налаштуваннях Mavibot - Платіжні системи - Paypal:

На цьому підключення завершено.

Як створити платіжне посилання

Щоб згенерувати платіжне посилання, потрібно встановити значення змінної payment_sum, і одразу з'явиться змінна paypal_pay_url.

payment_title не є обов'язковою змінною, це назва товару. Якщо не вказати, заповнюється текстом: "Payment account order_id" (order_id - ідентифікатор замовлення на сервері).

payment_description - опис товару, необов'язково.

Крім того, перед тим як вказати payment_sum, ви можете вказати мову, якою буде відображатися платіжна сторінка. Для цього потрібно встановити змінну locale, за замовчуванням російська (ru-RU). Усі можливі варіанти: da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW.

Третій додатковий параметр — company_name — назва вашої компанії, відображається в самому верху сторінки (приклад нижче, company).

Також можна вказати валюту, в якій приймається платіж. Для цього вказуємо змінну currency, за замовчуванням встановлено рубль (RUB), для долара вкажіть значення USD (currency = USD). Можливі варіанти валют можна знайти за посиланням https://developer.paypal.com/docs/api/reference/currency-codes/

Третій додатковий параметр — company_name — назва вашої компанії, відображається в самому верху сторінки (приклад нижче, company).

Змінну paypal_pay_url можна відобразити у вигляді посилання або розмістити на кнопці "Оплатити".

Посилання має вигляд: https://ww.paypal.com/checkoutnow?token=07N53571YM296381N

Приклад реалізації.

Встановіть суму платежу 444 та назву компанії.

Примітка: змінна payment_sum встановлюється останньою, після необов'язкових payment_title, company_name тощо.

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

Після успішної оплати в бот надійдуть колбеки, за якими можна зрозуміти, що оплата пройшла успішно. Ці колбеки в системі ви бачите як повідомлення від користувача, тому їх не може надіслати користувач. Вони складаються з перших 10 секретних символів та домашньої сторінки зі статусом, наприклад: EHsWHYOoWV_success.

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

Ці колбеки НЕ ВИДНО користувачеві, вони відображаються лише оператору.

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

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

Колбеки надходять із затримкою, тому після надсилання посилання на оплату користувачеві рекомендуємо надіслати повідомлення на кшталт: "Після оплати зачекайте на повідомлення про успішне завершення платежу".

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


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

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