Опис процесу переказу з картки на картку

Протокол 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)));

Related pages