# Paypal

* [Як налаштувати PayPal ](#how-to-set-up-paypal)
* [Як створити платіжне посилання ](#how-to-create-a-payment-link)
* [Як обробити результат](#how-to-process-the-result)

## Як налаштувати PayPal&#x20;

Щоб працювати з PayPal, потрібно отримати два ключі: client\_id і secret&#x20;

Перейдіть на сторінку[ https://developer.paypal.com/developer/applications/ ](< https://developer.paypal.com/developer/applications/ >)

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

![](/files/23f97b1d3d2ea3ab5ca81c5f7a2c14c87c5d377b)

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

![](/files/06fdf1bf8409efc0661a224a7488a912de58ad00)

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

&#x20;                                             ![](/files/396e5feb96317aa76233120ca774bbeb5d3eec4b)

![](/files/2e029efd4752513de4085c725e34789205407abc)

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

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

Щоб згенерувати платіжне посилання, потрібно встановити значення змінної payment\_sum, і змінна paypal\_pay\_url з’явиться одразу.&#x20;

payment\_title — не обов’язкова змінна, це назва товару. Якщо ви її не вкажете, буде заповнено текстом: "Payment account order\_id" (order\_id — ідентифікатор замовлення на сервері)&#x20;

payment\_description - опис товару, необов’язково&#x20;

Крім того, перед тим як вказати 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.**&#x20;

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

&#x20;                                       &#x20;

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

І третій додатковий параметр — company\_name, назва вашої компанії, що відображається у самому верху сторінки (приклад нижче, company )&#x20;

Змінну paypal\_pay\_url можна вивести як посилання або розмістити на кнопці "Pay".&#x20;

Посилання має такий вигляд: [https://ww.paypal.com/checkoutnow?token=07N53571YM296381N ](<https://ww.paypal.com/checkoutnow?token=07N53571YM296381N >)

Приклад реалізації.&#x20;

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

&#x20;                                       ![](/files/aeab8bf5915242395204465c4ebba3d6d2f3345f)

{% hint style="info" %}
**Примітка:** змінна payment\_sum встановлюється останньою, після необов’язкової **payment\_title**, **company\_name**, тощо.
{% endhint %}

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

{% hint style="info" %}
Після успішної оплати в бот надійдуть колбеки, за якими можна зрозуміти, що оплата пройшла успішно. Ці колбеки в системі ви бачите як повідомлення від користувача, тому щоб їх не міг надіслати користувач, вони складаються з перших 10 секретних символів і домашньої сторінки зі статусом, наприклад: EHsWHYOoWV\_success.
{% endhint %}

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

{% hint style="success" %}
Ці колбеки НЕ ВИДНО користувачу, вони відображаються лише оператору.
{% endhint %}

{% hint style="danger" %}
Тип порівняння має бути "Full match"
{% endhint %}

{% hint style="warning" %}
Щоб здійснити повторну оплату, потрібно скинути payment\_sum, раніше згенероване посилання, а після скидання змінної payment\_sum отримати нове посилання. Ви можете вказати попереднє значення.
{% endhint %}

{% hint style="warning" %}
Колбеки надходять із затримкою, тому після посилання на оплату користувачеві ми рекомендуємо надсилати повідомлення на кшталт: "Після оплати зачекайте повідомлення про успішне завершення оплати"
{% endhint %}

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

![](/files/dc86fe1ced0571fc5809e4d15267ff736ad4a54b)

Тип порівняння має бути "Full match"&#x20;

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/uk/integrations/payment/paypal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
