Skip to content

Payment Confirmation

After initiating a payment through the Partner's website using the prepare_payment method, the transaction must be confirmed using the pay method.


Payment Confirmation available to be processed by token!

Method pay

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

Request example

json
{
    "pan": "8600313260861293",
    "exp": "2602",
    "method": "uzcard",
    "cvc2": "",
    "cardHolderName": "CardHolder Name",
    "email": "client@mail.com"
}

Request parameters

ParameterTypeRequiredDescription
panstringYesThe customer's card number used for the transaction.
expstringYesCard validity period in YYYY format (year/month).
methodstringYesPayment method. Acceptable values: bank_card, uzcard, humo.
cvc2stringYesCard's CVC2 code.
cardHolderNamestringYesCardholder's name (as indicated on the card).
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.