Рекуррентный платеж

Периодические платежи, обычно используются для создания новых транзакций на основе уже сохраненной информации о держателе карты из предыдущих операций.

Запрос RECURRING_SALE имеет ту же логику, что и запрос SALE, разница в том, что Вам необходимо предоставить «первичный идентификатор транзакции», и этот запрос создаст вторичный транзакцию с ранее использованными данными держателя карты из первичной транзакции.

Этот запрос отправляется методом POST в фоновом режиме (например, через <PHP CURL).

Параметры запроса
Параметр Описание Значение параметра Обязательно
action RECURRING_SALE
async Синхронный или Асинхронный режим «Y» или «N» (по умолчанию «N»)
client_key Ключ идентификации мерчанта
order_id ID транзакции в системе мерчанта Строка до 255 символов
order_amount Сумма операции Формат «Number» – Х.ХХ (разделитель «.», два знака после разделителя, без ведущих нулей)
order_description Описание операции Строка до 1024 символов
recurring_first_trans_id ID первичной транзакции с платежной системе
recurring_token Токен присвоеный во время проведения первичной транзакции
auth Показатель того, что транзакция должна быть только авторизирована, но не подтверждена «Y» или «N» (по умолчанию «N»)
hash *

*md5(strtoupper(strrev(email).CLIENT_PASS.strrev(substr(card_number,0,6).substr(card_number,-4))))

Для того, что бы получить на Callback url параметры recurring_first_trans_id и recurring_token для возможности осуществления запросов RECURRING_SALE необходимо:

1) в первичной операции типа SALE выполнить запрос с добавлением в data парметра recurring. Таким образом, простой первичный запрос по операции будет выглядеть следующим образом:

Пример формирования запроса на РНР:
Запрос

Ответ по запросу будет аналогичен операции SALE:

Параметр Описание
id Уникальный номер ID платежа в платежной системе
order Номер ID транзакции в системе мерчанта. Если параметр не передавался платежная система присвоит его самостоятельно
status SALE, REFUND, CHARGEBACK
rrn Значение RRN из эквайринговой системы
approval_code Значение approval_code из эквайринговой системы
card Системе пересылает маску карты в виде – ХХХХХХ****ХХХХ
decription Описание товара/услуги
amount Стоимость оплаченых товаров/услуг
currency Валюта оплаты
name Полное имя плательщика с передаваемых параметров first_name, last_name
email E-mail плательщика
country Код страны плательщика (2-а знака)
state Код штата плательщика (2-х или 3-х значный код)
city Город плательщика
address Адрес плательщика
date Дата проведения платеща плательщиком в формате UTC (YYYY-MM-DD HH-MM-SS)
ip IP адрес плательщика
ext1 Клиентский параметр 1
ext2 Клиентский параметр 2
ext3 Клиентский параметр 3
ext4 Клиентский параметр 4
rc_id Номер регулярного платежа (если в свойствах продукта указано «регулярные платежи»)
rc_token Дополнительный параметр для последующих регулярных платежей (если в свойствах продукта указано «регулярные платежи»)
sign *

*md5(strtoupper(strrev(email).PASSWORD.order.strrev(substr(card,0,6).substr(card,-4))))

Пример ответа отправляемого на Callback url:
Параметры POST
array (
  'id' => '19872-85318-09697',
  'order' => 'zUlA2LHGk4_1',
  'status' => 'SALE',
  'card' => '411111****1111',
  'description' => 'Оплата замовленя: zUlA2LHGk4',
  'amount' => '969.57',
  'currency' => 'UAH',
  'email' => '[email protected]',
  'date' => '2017-06-29 09:28:51',
  'ip' => 'ХХХ.ХХХ.ХХХ.ХХХ',
  'rc_id' => '19872-85318-09697',
  'rc_token' => 'c83589db5fa65cb738b5fd4819f8a743',
  'sign' => 'f247dcd020e0e6a16375e335bc783400'
)