Описание процесса перевода с карты на карту

Протокол POST-P2P позволяет выполнять операции перевода средств с карты на карту с использованием API-запросов.

Для подключения необходимо получить параметры:
Параметр Описание
CLIENT_KEY Уникальный ключ, который идентифицирует аккаунт в Платежной Платформе
CLIENT_PASSWORD Пароль клиента, для аутентификации запросов в Платежную Платформу
PAYMENT_URL URL Платежной Платформы, на который необходимо отправлять запросы
Краткое описание взаимодействия с процессингом

Команды нужно отправлять в виде server-to-sever HTTPS POST-запросов (например с помощью curl), на определенный адрес Платежной Платформы (PAYMENT_URL). В ответ Платежная Платформа вернет JSON-строку (http://json.org).

Протокол работает только в синхронном режиме, и после отправки запроса сразу же будет получен ответ.

В протоколе реализована поддержка двух схем проверки отправителя перевода:
1) 3DS — проверка, что платеж совершает именно держатель карты, выполняется на основе технологии 3-D Secure.
2) LOOK-UP — проверка выполняется путем блокировки на карте отправителя небольшой суммы. Отправитель, для подтверждения того, что он является владельцем карты, должен ввести код из транзакции блокировки (полученный по SMS или звонком в банк).
В зависимости от настроек Вашего аккаунта и особенностей используемых карт, может потребоваться одна, две или ни одной проверки.

Жизненный цикл перевода

Финансовая операция перевода средств (Transfer) может находиться в Платежной Платформе в следующих статусах:

1. INIT — перевод зарегистрирован в Платежной Платформе, но еще не выполнен;
2. 3DS — перевод находится в процессе прохождения 3DS;
3. VERIFICATION_BCODE — перевод находится в процессе прохождения LOOK-UP авторизации;
4. SETTLED — перевод выполнен успешно;
5. DECLINED — перевод отклонен.

Выполнение каждой команды протокола (кроме запроса статуса) создает новую транзакцию, которая переводит финансовую операцию перевода средств (Transfer) в очередной статус. Перевод может перейти в статус DECLINED на любом этапе. Возможные последовательности жизненного цикла, для успешной операции перевода средств:

INIT -> 3DS -> SETTLED
INIT -> VERIFICATION_BCODE -> SETTLED
INIT -> 3DS -> VERIFICATION_BCODE -> SETTLED
Формирование подписи

Каждый запрос, который отправляется на Платежную Платформу, должен включать в себя подпись (параметр Signature). Подпись должна включать в себя все поля, которые отправляются в данном запросе. Для формирования подписи нужно сконкатенировать все значения массива передаваемых параметров, в той последовательности, в которой они будут присутствовать в запросе. После этого, полученную строку необходимо перевести в нижний регистр и сформировать подпись по формуле:

sha1 ( CLIENT_PASSWORD . $str )
Пример на PHP:
sha1(CLIENT_PASSWORD . strtolower(implode(’’, $params)));