🇺🇿 UZ: Bank Cards
This page describes how to integrate payment for Uzbekistan bank Cards
"paymentMethodName": "BankCardUZ"
Payment Method Features
| Payment Method | HUMO | UZCARD |
|---|---|---|
| Country | Uzbekistan | Uzbekistan |
| Processing Currencies | UZS | UZS |
| Payments | Yes | Yes |
| -- Min per transaction amount | 500 UZS | 500 UZS |
| -- Max per transaction amount | 999,999,999 UZS | 999,999,999 UZS |
| -- Authentication | SMS | SMS |
| Disbursements | No | No |
| Refunds | Full & Partial | Full & Partial |
| Chargebacks | No | No |
Overview of the Possible Payment Scenarios:
Our API will provide you with all the necessary information to execute on of the following scenarios:
Name | Steps |
|---|---|
CHALLENGE FLOW (CF) |
|
FRICTIONLESS FLOW (FF) |
|
Two-Step Payment (with 3DS) & Refund Workflow
You can read more about how to integrate 3Dsv1 workflow here
High-resolution image is available on the link: (Two_Step_Payment_with_3Ds__Refund_Workflow.jpg
[Step 1.3] You need to create a new intent
- Use the following API method to create an intent:Â
*POST /processing/api/v1/intents*_. - When creating the intent, complete the
Paymentobject. - Most fields are common across all payment methods and are thoroughly described in the API Reference section.
- The
incomingDetails- object with method-specific parameters ( please make sure you provided them correctly):-
successUrl -
failureUrl -
viewType -
number -
holderName -
cvv -
expiryMonth -
expiryYear
-
- Ensure these all the required fields are completed accurately so that we can process your request correctly.
Request Example
{
"clientReferenceId": "123456789",
"payments": [
{
"paymentInstrument": {
"paymentMethodName": "BankCardUZ",
"incomingDetails": {
"viewType": "web_view",
"number": "4111111111111111",
"cvv": "123",
"holderName": "Will Rush",
"expiryMonth": 12,
"expiryYear": 2035,
"successUrl": "successUrl",
"failureUrl": "failureUrl"
}
},
"submittedAmount": {
"value": 100,
"currency": "UZS"
},
"authCurrencyCode": "UZS"
}
]
}Request fields description
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| clientReferenceId | Required | String | The client/merchant intent reference. Aka, Transaction Reference | 1234 |
| payments | Required | Array of objects | -- |
Object "payment" fields description:
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| paymentInstrument | Required | Object | The receiver payment instrument | n/a |
| submittedAmount | Required | Object | n/a | |
| authCurrencyCode | Required | String | The currency the transaction will be processed. Always UZS for this method | UZS |
Object "payments[].paymentInstrument" fields description:
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| paymentMethodName | Required | String | Payment method name | BankCardUZ |
| incomingDetails | Required | Object | Additional data related to payment method | n/a |
Object "payments[].paymentInstrument.incomingDetails" fields description:
Field | Required | Type | Description | Example |
|---|---|---|---|---|
viewType | Required | String | The method of displaying the payment page during the online payment process. Possible values: WEB_VIEW, IFRAME, REDIRECT | WEB_VIEW |
number | Required | String | Primary Account Number (PAN), typically 16 digits (allow 12-19) | 4111111111111111 |
cvv | Optional | String | Card verification code – 3 digits | 123 |
holderName | Required | String | Cardholder name in Latin | Will Rush |
expiryMonth | Required | String | Two-digit month 01–12 | 12 |
expiryYear | Required | String | Format: YYYY | 2035 |
successUrl | Conditional | String | The URL for redirecting after a successful payment. Required if viewType = REDIRECT | |
failureUrl | Conditional | String | The URL for redirecting in case of a payment error. Required if viewType = REDIRECT |
Object "payments[].submittedAmount" fields description:
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| value | Required | Number | Transaction amount | 100.40 |
| currency | Required | String | The original currency of the transaction. Can vary, will be converted into auth currency during the processing | USD |
[Step FF 2.3] Challenge is not required: You will receive the latest Payment Authorisation Status
- The issuing bank analysing the card details decides whether to verify the payer’s identity. Based on this decision or not:
- Frictionless flow - The issuer considers the risk low and processes the transaction without further user interaction.
- If the Frictionless flow is used, the transaction will be authorised or declined immediately.
- You will receive this information through a webhook. Example are provided below:
{
"status": "AUTHORIZED",
"errorCode": "CODE_PT0000",
"errorMessage": "string"
}[Step CF 2.3] Challenge is required: You will receive 3DSv1 details
- You will receive this information through a webhook.
- In the webhook, you will receive an additional object
additionalData. It contains the following fields:acsUrl- AcsUrl for 3DS authentication; if present, the 3DS form should be displayed.termUrl- Terminal URLmdOrder- Order identifier used to open the 3DS form
Callback Example
{
"cReq": "eyJ0cmFuc1R5cGUiOiJD...",
"acsUrl": "https://acs.visa.com/",
"termUrl": "https://termurl.com/",
"mdOrder": "mdOrder",
"errorDescription": null,
"threeDSSessionData": "session-xyz-987654321",
"paymentStatus": "AUTHORIZATION_REQUESTED"
}[Step 2.5] Render an iframe and auto-POST "termUrl", "mdOrder" to "acsUrl".
- You need to render an iframe and auto-POSTÂ
"termUrl","mdOrder"toÂ"acsUrl". 
Load the issuer’s challenge UI for the cardholder
[Step 2.9] Challenge complete: You will receive the the latest Payment Authorisation Status
- In the response, you will receive an additional object payments.additionalData.
Response Example
{
"status": "AUTHORIZED",
"errorCode": "CODE_PT0000",
"errorMessage": "string"
}One-Step Payment (with 3DS) & Refund Workflow
Our platform supports auto-capturing, which means you do not need to send a separate capture or cancellation request.
Please note that while auto-capturing reduces the number of actions required on your side, it does not allow you to cancel a transaction once it has been captured. In such cases, you would need to initiate a refund, which may incur additional charges.
Kindly let us know if you would like auto-capturing to be enabled for your account.
High-resolution image is available on the link
PAYMENTS TESTING
Bank Card UZ has many cases to test. The detailed description is available on the dedicated page
Updated 18 days ago
