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

Создание пакета выплат

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

Что означает «в формате CSV»?

CSV (Comma Separated Values — значения, разделённые запятыми) — текстовый формат для представления табличных данных. Строка таблицы соответствует строке текста, которая содержит одну или несколько частей (ячеек), разделенных запятыми или другими разделителями (точкой с запятой, табуляцией и т.п.).

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

Выбор разделителя

В качестве разделителя полей при создании пакетных выплат Paytone используется запятая — ,, а в качестве разделителя свойств внутри объектов 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_usd,100,account:587964,BI10,test,reference_id:example_ref1;email:[email protected];phone:+12345678945;name:John Snow,""
swift_usd,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_usd,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, их также можно будет просмотреть в записи данных о соответствующем клиенте.

Выплаты в базе данных о клиенте