Skip to content

Payment Confirmation by Token

A token is a digital equivalent of bank card data that is used to ensure the security of payments and transactions. Instead of transmitting and storing real card data (number, expiration date, CVV), a unique token is used, which is a random set of characters.


Логотип

Method pay

  • URL: https://secure.octo.uz/pay/{octo_payment_UUID}
  • Method: POST
  • Content-type: application/json

Request example

json
{
  "card_token": "TOKEN",
  "method": "uzcard",
  "email": "client@mail.com"
}

Request parameters

ParameterTypeRequiredDescription
card_tokenstringYesThe customer's card token used for the transaction.
methodstringYesPayment method. Acceptable values: bank_card, uzcard, humo.
emailstringYesUser's email address. Required if the user_data block was provided earlier.

Successful response example

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"
        },
        "language": "uz",
        "tariffId": 2,
        "fee": null,
        "refundedSum": 0.00,
        "bankCode": "RB",
        "cardInputType": "merchant_site",
        "tag": "ticket",
        "test": false
    }
}

Successful response parameters

ParameterTypeRequiredDescription
errorintYesError code: 0 means no errors.
errMessagestringNoError message, empty if there is no error.
dataobjectYesAn object containing transaction details.
data.idintYesUnique transaction ID.
data.uuidstringYesUnique UUID for transaction identification.
data.processorKeystringNoProcessing ID, if applicable.
data.merchantIdintYesMerchant ID associated with the transaction.
data.merchantobjectNoMerchant information.
data.merchantTransIdstringYesUnique transaction ID from the merchant.
data.initialSumdecimalYesInitial transaction amount.
data.totalSumdecimalYesTotal transaction amount, including fees.
data.splittedSumdecimalYesAmount split among multiple recipients (if applicable).
data.currencystringYesTransaction currency.
data.convertSumdecimalNoConverted amount (if applicable).
data.convertRatedecimalNoConversion rate (if applicable).
data.convertCurrencystringNoConverted currency (if applicable).
data.selectedMethodstringNoSelected payment method.
data.createTimeintYesTransaction creation time (UNIX timestamp).
data.expireTimeintYesTransaction expiration time (UNIX timestamp).
data.peyedTimeintNoPayment time of the transaction, if paid.
data.expiredHoldTimeintNoExpiration time of funds retention.
data.merCreateTimeintYesTransaction creation time on the merchant’s side.
data.descriptionstringYesDescription of the transaction.
data.autoCaptureboolYesIndicates whether the payment will be automatically captured.
data.withoutSiteboolYesIndicates whether the operation is performed without a website.
data.isTestboolYesIndicates whether the transaction is a test transaction.
data.refundLockedboolYesIndicates whether refunds are locked.
data.returnUrlstringYesURL for redirection after payment.
data.redirectUrlstringYesURL for redirecting to the payment page.
data.detailsobjectNoAdditional transaction details (e.g., cardInfo).
data.details.cardInfoobjectNoInformation about the card used for payment.
data.details.transTypestringYesType of transaction (e.g., SMS).
data.holdobjectNoData regarding funds retention (if applicable).
data.payMethodsarrayYesList of available payment methods.
data.statusstringYesTransaction status.
data.userobjectNoUser information.
data.user.emailstringNoUser’s email address.
data.user.phonestringNoUser’s phone number.
data.user.user_idstringYesUnique user ID (provided in prepare_payment).
data.languagestringYesInterface language. Acceptable values: uz, ru, en.
data.tariffIdintYesTariff ID.
data.riskLevelintYesTransaction risk level.
data.bankCodestringYesBank code.
data.cardInputTypestringYesCard data entry type (merchant_site / octo_page).
data.tagstringNoTag associated with the transaction (e.g., ticket).

Unsuccessful response example

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

Unsuccessful response parameters

ParameterTypeRequiredDescription
errorintYesError code.
errMessagestringYesError message.
dataobjectNoMain transaction data, can be null if no additional data.