3.1.4. Відшкодування замовлень#
Ця сторінка містить всю документацію до відеоуроку, що пояснює процес відшкодування замовлень і різні терміни, пов’язані з відшкодуванням.
3.1.4.1. Відео#
3.1.4.2. Інформація#
Якщо ви не знайомі з процесом створення замовлень, ви можете переглянути Створення замовлень продавцем навчальний посібник.
3.1.4.3. Вимоги#
Необхідно для цієї серії уроків:
- Бекенд торговця ТалеромЯкщо вам потрібна допомога з використанням бекенду продавця вперше, ви можете переглянути навчальний посібник Вступ до роботи продавця.
- Примірник гаманця TalerІнструкції з налаштування доступні на сайті https://wallet.taler.net.
- Програмне забезпечення для управління REST API або відповідні навички програмуванняУ цій серії відео ми будемо використовувати безкоштовне програмне забезпечення Insomnia, яке можна завантажити за посиланням https://insomnia.rest.
3.1.4.4. Повідомлення про демонстраційний бекенд#
Для цього підручника ви можете використовувати власний бекенд-сервіс продавця або онлайн-демонстраційний сервіс на https://backend.demo.taler.net/instances/sandbox/.
3.1.4.5. Більше інформації про відшкодування за замовлення продавця#
Повернення коштів у GNU Taler - це спосіб «скасувати» платіж. Це має бути дозволено продавцем. Відшкодування може становити будь-яку частину від початкової суми, але воно не може перевищувати початковий платіж. Повернення коштів обмежене в часі і може відбуватися тільки до тих пір, поки біржа утримує кошти для конкретного платежу на ескроу. Час, протягом якого можливе відшкодування, можна контролювати, встановивши термін_відшкодування
в ордері. Значення за замовчуванням для цього терміну відшкодування вказується в конфігурації бекенду продавця.
Фронт-енд може доручити бекенду продавця авторизувати відшкодування за допомогою POST
на кінцеву точку /private/orders/$ORDER_ID/refund
.
JSON-об’єкт запиту на повернення коштів має лише два поля:
«Відшкодування»: Сума, що підлягає поверненню. Якщо для цього замовлення вже було дозволено попереднє відшкодування, нова сума повинна бути більшою, інакше операція не матиме ефекту. Значення вказує на загальну суму до відшкодування, а не на збільшення суми відшкодування.
«Причина»: Обґрунтування повернення коштів, зрозуміле для людини. Причина використовується тільки бек-офісом і не показується клієнту.
Якщо запит виконано успішно (про що свідчить код статусу HTTP 200), відповідь містить taler_refund_uri
. Фронтенд повинен перенаправити браузер клієнта на цю URL-адресу, щоб дозволити гаманцю обробити відшкодування.
Цей фрагмент коду ілюструє повернення коштів:
>>> import requests
>>> refund_req = dict(refund="KUDOS:10",
... reason="Customer did not like the product")
>>> requests.post("https://backend.demo.taler.net/instances/sandbox/private/orders/"
... + order_id + "/refund", json=refund_req,
... headers={"Authorization": "Bearer secret-token:sandbox"})
<Response [200]>
Примітка
Після надання відшкодування публічна кінцева точка https://example.com/orders/$ORDER_ID
змінить взаємодію з гаманцем з запиту на оплату на пропозицію відшкодування. Таким чином, фронтенди можуть знову перенаправляти браузери на цю кінцеву точку. Однак для цього необхідно додати поле h_contract
(?h_contract=$H_CONTRACT
), оскільки публічна кінцева точка вимагає його для аутентифікації клієнта. Необхідне значення $H_CONTRACT
повертається у відповіді на повернення коштів у полі h_contract
.
3.1.4.6. Більше навчальних посібників#
Щоб переглянути додаткові навчальні матеріали, ви можете переглянути цей сайт або перейти на https://docs.taler.net, щоб отримати найновішу документацію про сервіси Taler.