Перейти к содержанию

Створення пакета виплат

Підготовка файлу

Що означає «у форматі CSV»?

CSV (Comma Separated Values — значення, розділені комами) — текстовий формат для подання табличних даних. Рядок таблиці відповідає рядку тексту, який містить одну або кілька частин (осередків), розділених комами або іншими роздільниками (точкою з комою, табуляцією тощо).

Формат файлу CSV підтримується практично всіма електронними таблицями та системами управління базами даних, зокрема LibreOffice Calc, Microsoft Excel, Numbers, KCells, Google Spreadsheets та іншими. Вибір роздільника визначається під час створення чи імпорту файла.

Вибір роздільника

Як роздільник полів під час створення пакетних виплат CASCAD використовується кома — ,, а як роздільник властивостей всередині об'єктів fields_data, customer, customer_metadata — крапка з комою ;.

Верхній рядок файлу повинен містити заголовки колонок:

  • service — сервіс відправки виплат (назва методу + код валюти);
  • service_amount — сума виплати;
  • fields_data — об'єкт з реквізитами переказу (номер акаунту, кредитної картки тощо) — його властивості мають збігатися з полями реквізитів, необхідних для надсилання одиничної виплати відповідним методом.
  • reference_id — ID запиту.

Усі наступні рядки – значення відповідних полів.

Також до файлу можна додати колонки об'єктів із даними клієнта — customer і customer_metadata. Якщо в рядку є ці об'єкти, всередині комірки customer обов'язково вказується значення reference_id клієнта: тоді рядок пройде валідацію та дані про клієнта та відповідну виплату будуть додані до загальної бази даних.

Всі рядки перевіряються за кількістю символів, який приймає обраний метод оплати (якщо подібне обмеження задано на стороні провайдера), та додатково перевіряється сумарна кількість символів у файлі, яка не повинна перевищувати 100 000 символів Base64. Так, в залежності від кількості символів у середньому в рядку, одним файлом можна підготувати до відправки до 1000 транзакцій.

Приклад організації таблиці для виплат
service,service_amount,fields_data,reference_id,description,customer,customer_metadata
test_uah,100,account:587964,BI10,test,reference_id:example_ref1;email:test@example.com;phone:+12345678945;name:John Snow,""
swift_uah,1,swift_code:TESTUAUKXXX;account_number:GB94BARC193459;recipient_name:John;country_code:UA;address:Kyiv;purpose:test,BI20,test swift,reference_id:example_ref1,meta:value;key:another_value
payment_card_uah,50,card_number:5519283812030000,BI30,test cards,"",""

Цей приклад у вигляді готового csv-файлу →

Завантаження

Підготовлений файл завантажується в панель управління, у розділі «Виплати» → «Пакетні виплати» натисканням на кнопку «Створити (+ New)» .

Пакетні виплати

Завантажити файл

Обов'язкові для заповнення поля:

  • вибір рахунку, з якого буде здійснено списання коштів,
  • назва пакету.

Ідентифікатор одиничної виплати буде створено з'єднанням двох елементів: ідентифікатора пакета та ідентифікатора виплати, заданого у відповідному осередку csv-таблиці. Водночас фінальний ID має бути унікальним - це необхідно враховувати: якщо ви використовуєте один файл кілька разів, не змінюючи значень reference_id для виплат, вкажіть різні ID для пакетів. Або залиште поле порожнім: якщо ідентифікатор пакета не вказано, він буде заданий автоматично за датою створення (в форматі yyyy-mm-ddThh-mm-ss).

Валідація та процесинг

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

Пакет, підготовлений з помилками

Перед процесингом елементи пакета можна відредагувати рядково. Для цього виберіть пункт "Редагувати (Edit)" у випадному меню, за кнопкою (...) в кінці рядка:

Редагувати Вікно редагування: детальніше

Процесування пакета виплат запускається кнопкою «Обробити (Process)». Якщо частина транзакцій ще перебуває у статусі ready (підготовлені, але не відправлені), їхнє відправлення можна зупинити за допомогою кнопки «Перервати (Terminate)».

Процесинг

Перегляд результату

Дані щодо кожної з виплат відображаються як у розділі «Пакетні виплати» у складі пакета, так і окремо у розділі «Виплати»:

Виплата

Якщо для виплати було додано об'єкт customer із властивістю reference_id, їх також можна буде переглянути у записі даних про відповідного клієнта.

Виплати у базі даних про клієнта