Проведение транзакции токеном
Токен — это цифровой эквивалент данных банковской карты, который используется для обеспечения безопасности платежей и операций. Вместо того чтобы передавать и хранить реальные данные карты (номер, срок действия, CVV), используется уникальный токен, который представляет собой случайный набор символов.
Метод pay
при помощи токена
- URL:
https://secure.octo.uz/pay/{octo_payment_UUID}
- Method:
POST
- Content-type:
application/json
Пример запроса
json
{
"card_token": "TOKEN", // Токен карты клиента
"method": "uzcard", // Метод оплаты. Допустимые значения: bank_card, uzcard, humo
"email": "client@mail.com" // Электронная почта пользователя. Обязательно в случае передачи всего блока user_data
}
Параметры запроса
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
card_token | string | Да | Токен банковской карты клиента, который используется для проведения транзакции |
method | string | Да | Метод оплаты. Допустимые значения: bank_card , uzcard , humo . |
string | Да | Электронная почта пользователя. (Обязательно, если передаётся весь блок user_data в prepare_payment ) |
Пример успешного ответа
json
{
"error": 0,
"errMessage": "",
"data": {
"id": 5520,
"uuid": "04b7f6dd-4693-4afa-96e9-f42790413de7",
"processorKey": null,
"merchantId": 242,
"merchant": null,
"merchantTransId": "638421f6-dbc0-4875-8ff9-c6ffe3766087",
"initialSum": 1000.00,
"totalSum": 1000.00,
"splittedSum": 1000.00,
"currency": "UZS",
"convertSum": null,
"convertRate": null,
"convertCurrency": null,
"selectedMethod": null,
"createTime": 1732700367802,
"expireTime": 1732701267781,
"peyedTime": null,
"expiredHoldTime": null,
"merCreateTime": 15420000,
"description": "TEST_PAYMENT",
"autoCapture": true,
"withoutSite": false,
"isTest": false,
"refundLocked": false,
"returnUrl": "octo.uz",
"redirectUrl": "https://pay2.octo.uz/uzcard/sms/04b7f6dd-4693-4afa-96e9-f42790413de7",
"details": {
"cardInfo": {
"first6": "860031",
"last4": "1293",
"issuerCountryCode": "UZ",
"cardHolder": "CardHolder Name",
"saveToken": null
},
"transType": "SMS"
},
"hold": null,
"payMethods": [
{
"only": null,
"method": "bank_card"
},
{
"only": null,
"method": "uzcard"
},
{
"only": null,
"method": "humo"
}
],
"status": "created",
"basket": null,
"user": {
"email": "client@mail.com",
"phone": "998901234567",
"user_id": "Elbek"
},
"airline": null,
"language": "uz",
"tariffId": 2,
"fee": null,
"transferSum": null,
"refundedSum": 0.00,
"provCode": null,
"optionalData": null,
"forConsideration": false,
"riskLevel": -1,
"auditedAt": null,
"auditorId": null,
"bankCode": "RB",
"merchantCardId": null,
"processingReference": null,
"requestProcessingStatus": null,
"requestProcessingTryCount": 0,
"currentStep": null,
"tag": "ticket",
"tspId": null,
"cardInputType": "merchant_site",
"redirectTimeout": null,
"merchantStatus": null,
"fiscalDetails": null,
"showButtonSaveCard": null,
"test": false
}
}
Параметры успешного ответа
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
error | int | Да | Код ошибки: 0 означает отсутствие ошибок. |
errMessage | string | Нет | Сообщение об ошибке, пустое если ошибки нет. |
data | object | Да | Объект с деталями транзакции. |
data.id | int | Да | Уникальный идентификатор транзакции. |
data.uuid | string | Да | Уникальный UUID для идентификации транзакции. |
data.processorKey | string | Нет | Идентификатор процессинга, если применимо. |
data.merchantId | int | Да | Идентификатор торговца, связанный с транзакцией. |
data.merchant | object | Нет | Информация о торговце. |
data.merchantTransId | string | Да | Уникальный ID транзакции от торговца. |
data.initialSum | decimal | Да | Изначальная сумма транзакции. |
data.totalSum | decimal | Да | Общая сумма транзакции, включая комиссии. |
data.splittedSum | decimal | Да | Сумма, разделенная на несколько получателей (если применимо). |
data.currency | string | Да | Валюта транзакции. |
data.convertSum | decimal | Нет | Сумма в конвертированной валюте (если применимо). |
data.convertRate | decimal | Нет | Курс конвертации (если применимо). |
data.convertCurrency | string | Нет | Конвертируемая валюта (если применимо). |
data.selectedMethod | string | Нет | Выбранный метод оплаты. |
data.createTime | int | Да | Время создания транзакции (UNIX timestamp). |
data.expireTime | int | Да | Время истечения транзакции (UNIX timestamp). |
data.peyedTime | int | Нет | Время оплаты транзакции, если оплачена. |
data.expiredHoldTime | int | Нет | Время истечения удержания средств. |
data.merCreateTime | int | Да | Время создания транзакции на стороне торговца. |
data.description | string | Да | Описание транзакции. |
data.autoCapture | bool | Да | Указывает, будет ли оплата автоматически захвачена. |
data.withoutSite | bool | Да | Указывает, происходит ли операция без веб-сайта. |
data.isTest | bool | Да | Указывает, является ли транзакция тестовой. |
data.refundLocked | bool | Да | Указывает, заблокирован ли возврат средств. |
data.returnUrl | string | Да | URL возврата после оплаты. |
data.redirectUrl | string | Да | URL для перенаправления на страницу оплаты. |
data.details | object | Нет | Дополнительные детали о транзакции (например, cardInfo ). |
data.details.cardInfo | object | Нет | Информация о карте, используемой для оплаты. |
data.details.transType | string | Да | Тип транзакции (например, SMS ). |
data.hold | object | Нет | Данные об удержании средств (если применимо). |
data.payMethods | array | Да | Список доступных методов оплаты. |
data.status | string | Да | Статус транзакции. |
data.user | object | Нет | Информация о пользователе. |
data.user.email | string | Нет | Email пользователя. |
data.user.phone | string | Нет | Телефон пользователя. |
data.user.user_id | string | Да | Уникальный идентификатор пользователя (переданный в prepare_payment ). |
data.language | string | Да | Язык интерфейса. Допустимые значения: uz , ru , en . |
data.tariffId | int | Да | Идентификатор тарифа. |
data.riskLevel | int | Да | Уровень риска транзакции. |
data.bankCode | string | Да | Код банка. |
data.cardInputType | string | Да | Тип ввода данных карты (merchant_site / octo_page ). |
data.tag | string | Нет | Тег, связанный с транзакцией (например, ticket ). |
Пример неуспешного ответа
json
{
"error": 2,
"errMessage": "Wrong secret",
"data": null
}
Параметры неуспешного ответа
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
error | int | Да | Код ошибки. |
errMessage | string | Да | Сообщение об ошибке. |
data | object | Нет | Основные данные транзакции (может быть null ). |