Як працювати з оплатами в API

Розповідаємо, як додавати оплати до замовлень, змінювати в них статус та прив'язувати зовнішні транзакції автоматично
Написано Юлія Бакум
Оновлено 2 місяці тому

Створюючи замовлення чи картку у воронці через API ви можете відразу передати деталі платежу: метод оплати, суму, статус і т.д.  Іноді оплата надходить пізніше чи скасовується з часом і потрібно змінити статус, або додати новий платіж — рішення для подібних випадків ми розглянемо в даній статті.

Як додати нову оплату в замовлення

Щоб додати платіж у створене раніше замовлення потрібно:

  1. Отримати {orderId} замовлення (№ замовлення в CRM) до якого плануєте додати платіж.  Ви отримуєте його в параметрі «id» у відповіді після створення замовлення або можете отримати список замовлень використовуючи фільтри, щоб знайти потрібне і зберегти його «id»;
  2. Відправити запит для додавання нової оплати до існуючого замовлення вказавши деталі платежу у форматі JSON. Приклад URL для замовлення №8:
    POST https://openapi.keycrm.app/v1/order/8/payment.

Платіж буде відразу додано до цього замовлення, а у відповіді ви отримаєте «id» саме цього платежу.

Як додати нову оплату в картку у воронці

Щоб додати платіж у створену раніше картку потрібно:

  1. Отримати {cardId} картки у воронці (pipeline_id в CRM) до якої плануєте додати платіж.  Ви отримуєте його в параметрі «id» у відповіді після створення картки або можете отримати список карток використовуючи фільтри, щоб знайти потрібну і зберегти її «id»;
  2. Відправити запит для додавання нової оплати до існуючого картки вказавши деталі платежу у форматі JSON. Приклад URL для картки id 8:  
    POST https://openapi.keycrm.app/v1/pipelines/cards/8/payment.

Платіж буде відразу додано до картки, а у відповіді ви отримаєте «id» саме цього платежу.

Як змінити статус оплати у замовленні

В замовленні може бути декілька оплат від покупця і тому кожен платіж має свій унікальний ідентифікатор - {paymentId}.

Щоб внести зміни в додану раніше оплату у замовленні вам потрібно: 

  1. Отримати {paymentId} оплати яку потрібно змінити. Ви отримуєте його в параметрі «id» у відповіді після створення замовлення з оплатою, додавання оплати або можете отримати замовлення з include=payments у запиті, щоб знайти потрібний платіж і зберегти його «id»;
  2. Відправити запит на оновлення оплати в замовленні вказавши потрібний статус:  paid, not_paid, canceled та коментар за потреби. Приклад URL для замовлення №8 та платежу в ньому з id=2211:
    PUT https://openapi.keycrm.app/v1/order/5/payment/2211.
Зверніть увагу! Ідентифікатор оплати в замовленні не дорівнює ідентифікатору метода платежу (тип оплати в системі)

Як змінити статус оплати у картці воронки

В картці може бути декілька оплат від клієнта і тому кожен платіж має свій унікальний ідентифікатор - {paymentId}.

Щоб внести зміни в додану раніше оплату вам потрібно: 

  1. Отримати {paymentId} оплати яку потрібно змінити. Ви отримуєте його в параметрі «id» у відповіді після створення картки з оплатою, додавання оплати або можете отримати картку з include=payments у запиті, щоб знайти потрібний платіж і зберегти його «id»;
  2. Відправити запит на оновлення оплати в картці вказавши потрібний статус:  paid, not_paid, canceled та коментар за потреби. Приклад URL для картки id 8 та платежу в ній з id=2211:
    PUT https://openapi.keycrm.app/v1/pipelines/cards/8/payment/2211.
Зверніть увагу! Ідентифікатор оплати в картці не дорівнює ідентифікатору метода платежу (тип оплати в системі)

Як автоматично прив'язувати зовнішні транзакції до платежів

Під'єднавши платіжні сервіси для завантаження транзакцій ви отримуєте в системі список усіх надходжень кошт на ваші рахунки. А з допомогою API можете автоматизувати прив'язку платежів до замовлень чи карток у воронці до яких вони відносяться. 

Для цього вам потрібно:

  • Спочатку дізнатись id оплати (paymentId) в CRM до якої потрібно прив'язати зовнішню транзакцію, перегляньте статтю вище. Оплата має бути у статусі «Не сплачено»;
  • Переконатись, що потрібна вам транзакція вже завантажилась у кабінет і не прив'язана до іншого замовлення чи картки у воронці;
  • Якщо ви маєте ідентифікатор транзакції від платіжного сервісу, ви можете відразу додати зовнішню транзакцію до оплати передавши його у параметрі «transaction_uuid»;
  • Якщо в деталях транзакцій зберігається номер замовлення/рахунку/ПІБ платника і т.д, ви можете отримати список завантажених транзакцій з цими даними в параметрі «description». По яким знайдіть потрібну і додайте зовнішню транзакцію до оплати передавши її «id» у параметрі «transaction_id».

Після прив'язки транзакції до оплати, статус оплати зміниться на «Сплачено». Сума, дата та час, а також коментар оплати будуть змінені відповідно до інформації, вказаної в транзакції.

Теги: оплати апі, оплати API, сплачено автоматично, оплата з сайту, платіж по апі, прив'язати транзакцію, прив'язати платіж, API зовнішні транзакції, транзакції по апі

Чи була наша стаття корисною?