Платіжний шлюз Portmone.com
Терміни та визначення
Термін | Визначення |
---|---|
Мерчант, Інтернет-магазин або Партнер | Організація, що уклала договір з Portmone.com про надання послуг з приймання платежів |
Покупець, Клієнт | Відвідувач Інтернет-магазину Мерчанта з метою ознайомлення з асортиментом товарів (послуг) та здійснення покупки |
Картка, Платіжна картка | Платіжні картки міжнародних платіжних систем Visa, Mastercard та Національної платіжної системи ПРОСТІР |
Авторизація | Процес надання прав доступу або інших повноважень Покупцеві, програмі або процесу |
Рекурентні платежі | Автоматичні платежі (не потребують участі клієнта та повторного введення реквізитів картки), що здійснюються за згодою клієнта |
Токен | Цифровий ідентифікатор картки, що генерується при першій операції і далі використовується для швидкої оплати. Токен може використовуватись виключно для повторення аналогічної транзакції, що й при першій оплаті |
SHOPBILLID | Ідентифікатор транзакції (платіжного документу) у системі Portmone.com |
CVV2/CVC2 | CVV2 (Card Verification Value 2) – тризначний код перевірки дійсності картки платіжної системи Visa. Платіжна система Mastercard має аналогічний код перевірки дійсності – CVC2 (Card Validation Code 2) |
Банк-еквайр | Банк, що організовує точки приймання банківських карток (термінали, банкомати) та здійснює весь комплекс фінансових операцій, пов'язаних з виконанням розрахунків і платежів за банківськими картками в цих точках |
Банк-емітент банківських карток | Банк, що є учасником платіжної системи та здійснює випуск (емісію) та обслуговування банківських карток |
3-D Secure | 3-D Secure – це протокол, який використовується для забезпечення додаткового рівня безпеки онлайн-платежів з використанням банківських карток |
IBAN | Міжнародний номер банківського рахунку (англ. International Bank Account Number) |
МПС | Міжнародна платіжна система |
1. Технологія приймання оплат
Опис механізму приймання оплат платіжними картками на Інтернет-сайті магазину:
- Покупець обирає товар на сайті (або у мобільному додатку) Магазину, формує замовлення та обирає форму оплати за платіжними картками.
- Магазин переадресує Покупця на авторизаційний сервер системи Portmone.com, з передачею ряду необхідних параметрів (ідентифікатор партнера у системі Portmone.com, номер замовлення, його сума тощо).
- Авторизаційний сервер Portmone.com встановлює з Покупцем з'єднання за захищеним протоколом (TLS 1.2), перевіряє дані, що отримані від Магазину.
- Сайт Portmone.com приймає від Покупця параметри його платіжної картки та забезпечує авторизацію картки.
- При використанні верифікації Картки за технологією 3-D Secure Portmone.com спрямовує Клієнта на сайт банку-емітенту Картки для підтвердження транзакції.
- Запит на авторизацію передається через закриті банківські мережі банку-емітенту Карти Покупця або процесинговому центру, що уповноважений банком-емітентом.
- Банк передає авторизаційному серверу Portmone.com позитивний результат авторизації.
- Авторизаційний сервер Portmone.com перевіряє криптографічну цілісність інформації, що отримана, та вносить інформацію до бази даних.
- Portmone.com переадресовує Клієнта на сторінку Інтернет-магазину для підтвердження успішної оплати.
- Магазин перевіряє статус транзакції у системі Portmone.com та відпускає товар (надає послугу).
- Portmone.com у зазначені в договорі терміни здійснює перерахування коштів на рахунок Магазину (за мінусом комісії за еквайринг) одним платежем, що покриває всі транзакції за вказаний день.
- При неуспішній авторизації картки (відмові у авторизації):
- Банк передає авторизаційному серверу Portmone.com відмову від проведення платежу.
- Авторизаційний сервер Portmone.com перевіряє криптографічну цілісність інформації, що отримана, та вносить інформацію до бази даних.
- Portmone.com переадресовує запит на сторінку Інтернет-магазину для неуспішної оплати.
- При успішній оплаті на сторінку Інтернет-магазину передається методом POST номер сплаченого замовлення та дані платежу.
- Інтернет-магазин повинен додатково проконтролювати статус та суму замовлення одним з методів, що наведені у розділі 8 "Отримання результатів авторизації".
2. Тестовий режим роботи
Тестовий режим роботи платіжного шлюзу означає, що система Portmone.com виконує усі перевірки коректності введених даних від Інтернет-магазину та його клієнта, формує замовлення, але авторизація платіжної картки не виконується. При цьому шлюз може видавати бажану відповідь (успішну або неуспішну), в залежності від того, що необхідно співробітникам Інтернет-магазину, які займаються підключенням.
Для того, щоб увімкнути чи вимкнути тестовий режим платіжного шлюзу, необхідно направити відповідного листа з зареєстрованої адреси електронної пошти менеджерам Portmone.com по співпраці з Інтернет-магазинами на адресу [email protected].
Система Portmone.com надає партнерам два варіанти тестування:
1. Тест успішної оплати
Для отримання успішної відповіді на стандартній сторінці оплати Portmone.com необхідно ввести такі реквізити платіжної картки:
Номер картки: 4444333322221111 Термін дії: Будь-яка дата не раніше поточного дня. CVV2-код: Будь-який
2. Тест неуспішної оплати
Для отримання помилки на стандартній сторінці оплати Portmone.com необхідно ввести такі реквізити платіжної картки:
Номер картки: 4111111111111111 Термін дії: Будь-яка дата не раніше поточного дня. CVV2-код: Будь-який
Важливо! Перед запуском в роботу системи приймання платежів переконайтеся, що тестовий режим відключений!
3. Оплата замовлення
3.1. POST запит
Опис:
Для приймання оплат за Платіжними картками необхідно передати запит методом POST на сторінку платіжного шлюзу – https://www.portmone.com.ua/gateway/.
Доступність і обмеження:
Немає обмежень.
Структура запиту:
Будь ласка, зверніться до "3.1 Запит оплати замовлення методом POST" для вивчення структури запиту.
Опис параметрів запиту:
Параметр | Опис | Обов’язковий | Значення |
---|---|---|---|
payee_id | Ідентифікатор Інтернет-магазину | Так | Надається кожному Партнерові індивідуально при підключенні до системи Portmone.com |
shop_order_number | Номер замовлення (рахунку), що сплачується, у Інтернет-магазині. До 120 символів. Номер рахунку повинен бути унікальним у межах одного замовлення. Якщо замовлення з цим номером рахунку вже було сплачене, система Portmone.com відхилить транзакцію | Ні | До 120 символів |
bill_amount | Сума замовлення. Валюта – гривні. Дробова частина відокремлюється символом крапки “.” | Так | Наприклад: 1.50 |
bill_currency | Валюта проведення платежу | Ні | Можливі значення: UAH, USD, EUR, GBP, PLN, KZT (значення без задання – UAH) |
description | Коментар до замовлення/ опис призначення оплати | Ні | До 250 символів |
success_url | Адреса Інтернет-магазину (внутрішній URL мобільного додатку), на яку буде спрямовано Клієнта після успішного завершення платежу. Після успішної оплати замовлення на цю адресу методом POST Portmone.com надішле номер замовлення shop_order_number та дані платежу. За фактом виклику цієї сторінки на сайті Інтернет-магазину можна виконати звірення статусу і суми транзакції в системі Portmone.com. Нижче описані ці процедури (див. розділ 8 «Отримання результатів авторизації») | Ні | Наприклад: http://example.com/success.html |
failure_url | Адреса Інтернет-магазину, на яку буде спрямовано Клієнта у разі скасування оплати | Ні | Наприклад: http://example.com/failure.html |
lang | Мова інтерфейсу платіжної системи | Ні | uk – українська мова, en – англійська, |
encoding | Кодування | Ні | Без за дання – UTF-8 |
preauth_flag | Встановлює режим преавторизації, коли кошти тільки блокуються на картці клієнта, але фінансового списання з рахунку Клієнта не відбувається | Ні | "Y" – вмикає режим преавторизації, "N" – вимикає режим (значення без задання — "N") |
attribute1-4 | Службове поле | Ні | Заповнюється на розсуд компанії |
attribute5 | Використовується для передачі параметрів розщеплення платежу (див. розділ 7 «Розщеплення платежу») | Ні | Заповнюється у форматі: Desc1:payeeID1;amount1; Desc2:payeeID2;amount2; де Desc1 – опис замовлення для першої компанії-одержувача, payeeID1 – ID першої компанії-одержувача, amount1 – сума, яка повинна піти на першу компанію, Desc2 – опис замовлення для другої компанії-одержувача, payeeID2 – ID другої компанії-одержувача, amount2 – сума, яка повинна піти на другу компанію. Кількість компаній для розщеплення обмежена тільки довжиною рядку (до 500 символів) |
exp_time | Встановлює інтервал, протягом якого замовлення може бути оплачене. Якщо значення параметру було передане, то з моменту виклику платіжної сторінки показується зворотний відлік, який видно Клієнту на сторінці оплати. По закінченню часу на оплату рахунок переходить в статус "REJECTED" і оплатити його неможливо | Ні | Заповнюється в секундах |
dt | Час створення запиту. Використовується при перевірці підпису (необхідний, якщо переданий параметр signature ) | Так | |
signature | Підпис запиту | Так |
Структура відповіді:
Будь ласка, зверніться до "3.1 Приклад відповіді шлюзу у разі успішного здійснення платежу для запиту методом POST" для вивчення структури відповіді.
Опис параметрів відповіді:
Параметр | Опис |
---|---|
SHOPBILLID | Ідентифікатор транзакції (платіжного документу) у системі Portmone.com |
SHOPORDERNUMBER | Номер замовлення (рахунку) у системі Інтернет-магазину. До 128 символів |
APPROVALCODE | Код авторизації |
BILL_AMOUNT | Передана у запиті сума транзакції |
TOKEN | Значення Токену для подальших оплат |
RESULT | Результат виконання операції (у разі успіху = 0) |
CARD_MASK | Маска Картки платника |
ATTRIBUTE1 | Службове поле, заповнюється на розсуд компанії |
ATTRIBUTE2 | Службове поле, заповнюється на розсуд компанії |
ATTRIBUTE3 | Службове поле, заповнюється на розсуд компанії |
ATTRIBUTE4 | Службове поле, заповнюється на розсуд компанії |
RECEIPT_URL | Посилання для отримання квитанції |
LANG | Мова інтерфейсу платіжної системи. Можливі значення: uk – українська мова, en – англійська |
DESCRIPTION | Коментар до замовлення/ опис призначення оплати. До 250 символів |
ERRORIPSCODE | Код помилки, якщо токен Visa не був створений |
ERRORIPSMESSAGE | Текст помилки, якщо токен Visa не був створений |
3.2. Запит у форматі JSON
Опис:
Для проведення оплати необхідно надіслати запит на URL: https://www.portmone.com.ua/gateway/.
Доступність і обмеження:
Немає обмежень.
Структура запиту:
Будь ласка, зверніться до "3.2 Запит оплати замовлення у форматі JSON" для вивчення структури запиту.
Параметри для формування JSON-структури запиту:
- payee – блок, що необхідний для ідентифікації партнера
Параметр | Опис | Обов’язковий |
---|---|---|
payeeId | Ідентифікатор Інтернет-магазину. Надається кожному Партнерові індивідуально при підключенні до системи Portmone.com | Так |
login | Логін компанії. Використовується при перевірці підпису (необхідний, якщо переданий параметр signature ) | Так |
dt | Час створення запиту. Використовується при перевірці підпису (необхідний, якщо переданий параметр signature ) | Так |
signature | Підпис запиту | Так |
shopSiteId | Цифровий ідентифікатор каналу продажу | Ні |
- order – блок, що містить опис платежу
Параметр | Опис |
---|