3.30. /api/v4/process-recurring-payments

Введение

Если запрос принят без ошибок, платежный шлюз находит профили повторяющегося платежа для каждого предоставленного recurring-payment-id и инициирует новые повторяющуеся транзакции, используя данные платежа, сохраненные в каждом профиле.
Процесс множественного повторяющегося платежа инициируется через запрос HTTPSPOST с использованием URLs и parameters, указанных ниже. Используйте OAuth RSA-SHA256 для аутентификации.

API URL

Примечание

Путь API URL не должен быть жёстко задан, т.к. он может быть изменён позднее.

Интеграционная среда

Производственная среда

https://sandbox.payneteasy.com/paynet/api/v4/process-recurring-payments/ENDPOINTID

https://gate.payneteasy.com/paynet/api/v4/process-recurring-payments/ENDPOINTID

Параметры запроса

Примечание

Запрос должен иметь content-type=application/x-www-form-urlencoded и Заголовки авторизации.
Ниже приведено описание каждого параметра, который можно включить в CSV и добавить к параметру payload, который будет использоваться в запросе.

Название параметра CSV

Описание

Значение

client-orderid

Идентификатор заказа Присоединяющейся стороны.

Необходимость: Обязательно
Тип: String
Длина: 128

recurring-payment-id

Повторяющийся идентификатор, присвоенный заказу отделом QA.

Необходимость: Обязательно
Тип: String
Длина: 10

amount

Сумма валюты должна совпадать с валютой назначенного проекта. По достижении даты окончания регулярный платеж перейдет в статус остановки. Поддерживается для типов SRC и DST. Требуется, если не используются amount-from и amount-to или amount-sequence.

Необходимость: Условно
Тип: Numeric
Длина: 10

Параметры ответа

Примечание

Ответ имеет заголовок Content-Type: text/html;charset=utf-8. Все поля кодируются как x-www-form-urlencoded, с символом (0xA) в конце значения каждого параметра.

Параметры ответа

Описание

type

Тип ответа. Пример: process-recurring-payment-response, validation-error, error. Если тип равен validation-error или error, параметры error-message и error-code содержат сведения об ошибке. Может быть получено несколько кодов ошибок: 200, 403 и 500. Для кода ошибки 500 будет возвращен дополнительный идентификатор ошибки.

status

Подробности смотрите в Список статусов.

serial-number

Уникальный номер, присваиваемый сервером Payneteasy конкретному запросу от Торговца

Пример запроса

Шаг 1. Создайте CSV-файл с предоставленной структурой:
"client-orderid";"recurring-payment-id";"amount"
Шаг 2. Кодируйте CSV в base64 с помощью следующей команды:
base64 process-recurring-payments-example.csv
Шаг 3. Присвойте закодированное значение base64 параметру payload и отправьте запрос:
POST /paynet/api/v4/process-recurring-payments/ HTTP/1.1
Host: sandbox.payneteasy.com
User-Agent: curl/8.4.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth oauth_consumer_key="ErwinTestMerchant",oauth_signature_method="RSA-SHA256",oauth_timestamp="1727177782",oauth_nonce="Js4dwXkF8eI",oauth_version="1.0",oauth_signature="EGLiLoJJsZzZ4LgTdexkExuNCeyJEkSYuQwsrLMTvucJiIoG2rXL%2FaIkwnXwY6ncXS%2BopSYszmvAE1KnR316YxfyPzvgwO7LkrCE9r80yEfYuGOjwdB7fqvCyYtPqylS7MJ0%2BJM1EIowuWkiwURLqU3mG4J00t1Kl7CRrsjT9nwKoj8mRrljb1St3rAh8bJ7SsdKKQwir1Va6t0cuVMxjsUHJqCtztoCXAPj%2BRz4UKrjbQnwNvJ1MfOnTyeRXTAJgGg7XwctumcG5W2vfuKICwEUQ9S95jxXIci%2FmHuA8gkV7DmfolT1CnxDYzhJwvspvg9BP%2FFVxOGjUTEKDwNhCX5BB3B6EUkyEFI79V8tAtUdUy%2FzRmChPA%2FYvyBky8egkVXoKgwoUHiTQ5ITEhbzCTLjuVm9J%2FEwqVHQkwPbn6T5aTcvQBoMkDtZ70qm7J73wPKuN%2B7S%2Fi0SBc6gwGyu6G%2FfXYu%2BvDY8Ihtd6HRUC59sUYQ6D3tVbh8CE4W9tF1UiXCAoPehdBga%2BR6WUq%2FnD%2FRFrBDZ2Y%2Bz%2FMGhjQHBNZu%2B5z4JjNn7QusHpO1ZwvrI1kSlK79toVOiwVX%2FcP4H5M20s5EPjvSrcc2tnqQSUUOLFGyRFObQgs7kmBxUjEMXbVh9QXlIBdSvy4S8PkFnqYjVLh2aNgTpw%2BgB8RrZ1MY%3D"
Content-Length: 888
Connection: keep-alive

payload=cmVjdXJyaW5nLXBheW1lbnQtaWQ7Y2xpZW50LW9yZGVyaWQ7cGF5bWVudC1kZXNjcmlwdGlvbjtmaXJzdC1uYW1lO2xhc3QtbmFtZTthZGRyZXNzMTtjaXR5O3ppcC1jb2RlO2NvdW50cnk7c3RhdGU7cGhvbmU7ZW1haWw7Y3VzdG9tZXItaXA7YW1vdW50O2N1cnJlbmN5O3B1cnBvc2U7bm90aWZ5LXVybDtzc247YmlydGhkYXkNCjE0OTIyODY7MTIzNDU2Nzg5MDtPdXIgZ29vZHM7Sm9objtTbWl0aDsxMjM0IFBlYWNlIHN0cmVldDtDaGljYWdvOzEyMzQ1NjtVUztJTDsxMjM0NTY3ODtqb2huLnNtaXRoQGV4YW1wbGUuY29tOzEuMi4zLjc7MTA7VVNEO05vIHB1cnBvc2UgYXQgYWxsO2h0dHA6Ly9leGFtcGxlLmNvbS9wcm9jZXNzLW1lOzEyMzQ7MDIuMDEuMTk4MA0K

Пример успешного ответа

Примечание

Успешный ответ имеет пустое тело и HTTP-код 200.
HTTP/1.1 200
Server: server
Date: Tue, 24 Sep 2024 09:47:01 GMT
Content-Length: 0
Connection: keep-alive
Keep-Alive: timeout=60
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Strict-Transport-Security: max-age=31536000

Пример неуспешного ответа

Примечание

Неудачный ответ имеет пустое тело и HTTP-код 403.
HTTP/1.1 403
Server: server
Date: Wed, 25 Sep 2024 08:46:12 GMT
Content-Length: 0
Connection: keep-alive
Keep-Alive: timeout=60
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000

Request Builder

Debug form
URL
Endpoint
Merchant login
payload

Normalized parameters string to sign, according to OAuth 1.0a rules
POST body parameters to submit
OAuth 1.0a headers to submit.
HEX Encoded Signature
* HEX encoded string is for debug purposes only. You shouldn't send this string to the server neither in HEX nor in Encoded HEX representation.
Base64 Encoded Signature
* Binary RSA-SHA256 signature directly encoded in base64 should be sent to the server.