mVisa
Загальні відомості
mVisa є платіжним методом, що забезпечує ваших клієнтів можливістю проводити оплату з використанням мобільного телефону. Для оплати клієнт повинен відсканувати QR-код, розташований у вашій точці продажу, за допомогою мобільного застосунку mVisa. Зазначений код вже містить інформацію про мерчанта та номер його рахунку та може бути:
- Статичним - незмінний код, що потребує від клієнтів самостійного введення суми для сплати.
- Динамічним - код, що генерується під кожну окрему транзакцію та вже містить відомості про суму до сплати.
Інтеграція
Щоб згенерувати QR-код необхідно відправити POST-запит з такими query-параметром:
Parameter | Type | Required | Description |
---|---|---|---|
type | String | ✅ | mVisa QR code type |
Вказаний query-параметр може мати одне з таких значень:
raw
- alpha-numeric stringpng
- PNG 294х294 px
Параметри запиту:
Parameter | Type | Required | Description |
---|---|---|---|
pos_id | UUID | ✅ | Merchant's identifier (POS_ID ) |
amount | Number | Amount of the future transaction. If not passed, the QR code will be static (it requires customers to enter the amount). Must be a positive number. The number of decimal digits must be less than or equal to 2 (e.g., 100.00, 250, 50.50) | |
currency | CURRENCY | ✅ | Transaction currency (ISO_4217) |
mcc | MCC | ✅ | MCC of the future transaction |
merchant_pan | String | ✅ | PAN number |
merchant_name | String | ✅ | Merchant name |
merchant_city | String | ✅ | Merchant city |
country_code | String | ✅ | Country code (ISO 3166-1 (alpha-2)) |
Передача цих параметрів є обовʼязковою тільки якщо вони не були попередньо налаштовані через Tranzzo:
mcc
merchant_pan
merchant_name
merchant_city
country_code
Параметри, що передані у запиті мають вищий пріоритет, аніж ті, що попередньо налаштовані через Tranzzo.
Приклад запиту:
$ curl -i "https://cpay.tranzzo.com/api/v1/mvisa?type=${QR_TYPE}" \
-H "Content-Type: application/json" \
-H "X-API-AUTH: CPAY ${API_KEY}:${API_SECRET}" \
-H "X-API-KEY: ${ENDPOINTS_KEY}" \
-X POST -d '{
"pos_id": "'${POS_ID}'",
"amount": 100,
"currency": "UAH",
"merchant_pan": "4111111111111111",
"mcc": "1234",
"country_code": "UA",
"merchant_name": "TRANZZO",
"merchant_city": "Kyiv"
}'
Параметри відповіді для raw-формату:
Parameter | Type | Description |
---|---|---|
raw | String | Raw QR code as alpha-numeric string |
Приклад відповіді для raw-формату:
{
"raw": "000201021642424242424242425204123453039805406100.005802UA5907TRANZZO6004Kyiv63044A84"
}
Параметри відповіді для png-формату:
- QR код розміром 294 x 294 px
- Content-type:
application/octet-stream
Обробка платежів mVisa
Платіжні дані мають відправлятися до Tranzzo API з використанням параметрів запиту властивих для direct-платежів з використанням карткових даних.
У параметрі payway
повинно передаватися значення mvisa
.
Окрім того, додатково має передаватися параметр:
Parameter | Type | Required | Description |
---|---|---|---|
properties.mvisa_qr | String | ✅ | Raw QR code as alpha-numeric string |
Приклад запиту:
$ curl "https://cpay.tranzzo.com/api/v1/payment" \
-H "Content-Type: application/json" \
-H "X-API-AUTH: CPAY ${API_KEY}:${API_SECRET}" \
-H "X-API-KEY: ${ENDPOINTS_KEY}" \
-X POST -d '{
"pos_id": "${POS_ID}",
"mode": "direct",
"method": "purchase",
"amount": 1,
"currency": "UAH",
"description": "Order description",
“payway”: “mvisa_qr”
"order_id": "123",
"properties": { "mvisa_qr": "000201021642424242424242425204123453039805406100.005802UA5907TRANZZO6004Kyiv63044A84" }
"order_3ds_bypass": "always",
"cc_number": "4242424242424242",
"exp_month": 2,
"exp_year": 24,
"card_cvv": "111",
"server_url": "https://callback.blackhole.com/callback",
"result_url": "https://example.com/result",
"payload": "sale=true",
"customer_referrer": "https://example.com",
"browser_fingerprint": {
"browserColorDepth": "24",
"browserScreenHeight": "860",
"browserScreenWidth": "1600",
"browserJavaEnabled": "false",
"browserLanguage": "uk-UA",
"browserTimeZone": "Europe/Kiev",
"browserTimeZoneOffset": "-120",
"browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"browserIpAddress": "127.0.0.1",
"browserUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36"
}
}'
Сума та валюта в тілі запиту повинна відповідати тій, що встановлювалася при генерації QR-коду.