Протокол 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 на любом этапе. Возможные последовательности жизненного цикла, для успешной операции перевода средств:
Каждый запрос, который отправляется на Платежную Платформу, должен включать в себя подпись (параметр Signature). Подпись должна включать в себя все поля, которые отправляются в данном запросе. Для формирования подписи нужно сконкатенировать все значения массива передаваемых параметров, в той последовательности, в которой они будут присутствовать в запросе. После этого, полученную строку необходимо перевести в нижний регистр и сформировать подпись по формуле: