Skip to content

Проведение транзакции токеном

Токен — это цифровой эквивалент данных банковской карты, который используется для обеспечения безопасности платежей и операций. Вместо того чтобы передавать и хранить реальные данные карты (номер, срок действия, 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_tokenstringДаТокен банковской карты клиента, который используется для проведения транзакции
methodstringДаМетод оплаты. Допустимые значения: bank_card, uzcard, humo.
emailstringДаЭлектронная почта пользователя. (Обязательно, если передаётся весь блок 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
    }
}

Параметры успешного ответа

ПараметрТипОбязательностьОписание
errorintДаКод ошибки: 0 означает отсутствие ошибок.
errMessagestringНетСообщение об ошибке, пустое если ошибки нет.
dataobjectДаОбъект с деталями транзакции.
data.idintДаУникальный идентификатор транзакции.
data.uuidstringДаУникальный UUID для идентификации транзакции.
data.processorKeystringНетИдентификатор процессинга, если применимо.
data.merchantIdintДаИдентификатор торговца, связанный с транзакцией.
data.merchantobjectНетИнформация о торговце.
data.merchantTransIdstringДаУникальный ID транзакции от торговца.
data.initialSumdecimalДаИзначальная сумма транзакции.
data.totalSumdecimalДаОбщая сумма транзакции, включая комиссии.
data.splittedSumdecimalДаСумма, разделенная на несколько получателей (если применимо).
data.currencystringДаВалюта транзакции.
data.convertSumdecimalНетСумма в конвертированной валюте (если применимо).
data.convertRatedecimalНетКурс конвертации (если применимо).
data.convertCurrencystringНетКонвертируемая валюта (если применимо).
data.selectedMethodstringНетВыбранный метод оплаты.
data.createTimeintДаВремя создания транзакции (UNIX timestamp).
data.expireTimeintДаВремя истечения транзакции (UNIX timestamp).
data.peyedTimeintНетВремя оплаты транзакции, если оплачена.
data.expiredHoldTimeintНетВремя истечения удержания средств.
data.merCreateTimeintДаВремя создания транзакции на стороне торговца.
data.descriptionstringДаОписание транзакции.
data.autoCaptureboolДаУказывает, будет ли оплата автоматически захвачена.
data.withoutSiteboolДаУказывает, происходит ли операция без веб-сайта.
data.isTestboolДаУказывает, является ли транзакция тестовой.
data.refundLockedboolДаУказывает, заблокирован ли возврат средств.
data.returnUrlstringДаURL возврата после оплаты.
data.redirectUrlstringДаURL для перенаправления на страницу оплаты.
data.detailsobjectНетДополнительные детали о транзакции (например, cardInfo).
data.details.cardInfoobjectНетИнформация о карте, используемой для оплаты.
data.details.transTypestringДаТип транзакции (например, SMS).
data.holdobjectНетДанные об удержании средств (если применимо).
data.payMethodsarrayДаСписок доступных методов оплаты.
data.statusstringДаСтатус транзакции.
data.userobjectНетИнформация о пользователе.
data.user.emailstringНетEmail пользователя.
data.user.phonestringНетТелефон пользователя.
data.user.user_idstringДаУникальный идентификатор пользователя (переданный в prepare_payment).
data.languagestringДаЯзык интерфейса. Допустимые значения: uz, ru, en.
data.tariffIdintДаИдентификатор тарифа.
data.riskLevelintДаУровень риска транзакции.
data.bankCodestringДаКод банка.
data.cardInputTypestringДаТип ввода данных карты (merchant_site / octo_page).
data.tagstringНетТег, связанный с транзакцией (например, ticket).

Пример неуспешного ответа

json
{
    "error": 2,
    "errMessage": "Wrong secret",
    "data": null
}

Параметры неуспешного ответа

ПараметрТипОбязательностьОписание
errorintДаКод ошибки.
errMessagestringДаСообщение об ошибке.
dataobjectНетОсновные данные транзакции (может быть null).