Xato kodlari
Har qanday xato javobi bir xil ko'rinishga ega:
{
"result": null,
"error": {
"code": "insufficient_funds",
"message": "There are insufficient funds on the card."
}
}error.code— barqaror, kichik harfli mashina o'qiydigan identifikator. Kodingizda aynan shuni tekshiring.error.message— inson o'qiydigan tavsif (inglizcha). Faqat ko'rsatish uchun, uni parse qilmang.- Ba'zi xatolarда qo'shimcha kontekstli
error.dataobyekti bo'ladi (masalan, maydon nomi yokiblocked_untilvaqti).
Muhim o'zgarish
Gateway endi protsessing markazining xom kodlari yoki matnini (UzCard/Humo/Paynet raqamli kodlari yoki provayder xabarlari) qaytarmaydi. Turli provayderdagi bir xil holat endi bitta unified error.code va aniq inglizcha xabarga keltiriladi. Agar ilgari integratsiyangiz processing_error bilan birga message/data dagi xom kod/matnni tekshirgan bo'lsa — quyidagi aniq error.code ga o'ting.
Karta xatolari
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
card_not_found | The card was not found. | Karta (id/token) mavjud emas yoki merchantga tegishli emas. |
card_expired | The card has expired. | Karta amal muddati tugagan (provayder rad etishi). |
card_is_blocked | The card is blocked. | Karta emitent tomonidan bloklangan. |
card_is_blocked_in_processing_center | The card is temporarily blocked. Please try again later. | Protsessing markazi kartani vaqtincha bloklagan. |
card_temporarily_blocked | The card is temporarily blocked. Please try again later. | Anti-frod tomonidan bloklandi. data.blocked_until, data.reason. |
card_not_active | The card is not active. | Karta protsessingda faol emas yoki SMS o'chiq. data: is_active, status_message, sms_info. |
card_is_not_supported | This card is not supported. | Karta turi/vendori qo'llab-quvvatlanmaydi. |
card_is_already_activated | The card is already active. | Allaqachon faol kartani qayta faollashtirish urinishi. |
card_exists | The card is already added. | Karta bu foydalanuvchi uchun allaqachon qo'shilgan. |
invalid_card | The card is invalid. | Karta ma'lumotlari noto'g'ri. |
invalid_card_token | The card token is invalid. | Karta tokeni noto'g'ri. |
pan_not_valid | The card number is invalid. | PAN validatsiyadan o'tmadi. |
lost_card | The card has been reported lost. | Provayder rad etishi: karta yo'qolgan deb e'lon qilingan. |
stolen_card | The card has been reported stolen. | Provayder rad etishi: karta o'g'irlangan deb e'lon qilingan. |
card_captured | The card cannot be used. Please contact your bank. | Provayder rad etishi: kartani olib qo'yish. |
restricted_card | Operations on this card are restricted. | Provayder rad etishi: karta cheklangan. |
Mablag', limit va summa
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
insufficient_funds | There are insufficient funds on the card. | Kartada mablag' yetarli emas. |
insufficient_deposit | There is not enough deposit to complete the operation. | Merchant/terminal depoziti yetarli emas (A2C, service payment). |
invalid_amount | The amount is invalid. | Summa ruxsat etilgan oraliqdan tashqarida yoki noto'g'ri. |
limit_exceeded | The card limit has been exceeded. | Karta/terminal limiti oshib ketdi (provayder rad etishi). |
daily_limit_used_for_this_card | The daily limit for this card has been reached. | Kartaning kunlik limiti tugadi. |
Tranzaksiya rad etilishi / ishlov
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
do_not_honor | The transaction was declined by the card issuer. | Emitentning umumiy rad etishi (do not honor). |
call_issuer | The transaction was declined. Please contact your bank. | Emitent bank bilan bog'lanishni so'raydi. |
transaction_not_permitted | This transaction is not permitted for the card. | Bu karta uchun amaliyot ruxsat etilmagan. |
duplicate_transaction | A duplicate transaction was detected. | Provayder dublikat aniqladi. |
issuer_unavailable | The card issuer is temporarily unavailable. Please try again later. | Emitent/host vaqtincha ishlamayapti. |
invalid_merchant | The merchant configuration is invalid. | Merchant/terminal konfiguratsiya muammosi. |
processing_error | The payment could not be processed. Please try again. | Aniq kodga tushmaydigan umumiy ishlov xatosi. |
transaction_not_found | The transaction was not found. | Berilgan id/externalId bilan tranzaksiya yo'q. |
transaction_not_available_for_payment | transaction_not_available_for_payment | Tranzaksiya to'lash holatida emas. |
transaction_not_available_for_cancel | transaction_not_available_for_cancel | Tranzaksiyani bekor qilib bo'lmaydi. |
error_at_pay | error_at_pay | To'lovni tasdiqlash muvaffaqiyatsiz (umumiy o'ram). |
Tasdiqlash kodi (OTP) va PIN
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
invalid_otp | The confirmation code is incorrect. | Noto'g'ri OTP kodi. |
otp_expired | The confirmation code has expired. | OTP muddati tugadi. |
try_new_otp | Please request a new confirmation code. | OTP tekshiruvi muvaffaqiyatsiz; yangisini so'rang. |
otp_code_already_sent | A confirmation code has already been sent. Please wait before requesting a new one. | OTP yaqinda allaqachon yuborilgan. |
incorrect_pin | The PIN is incorrect. | Noto'g'ri PIN (provayder rad etishi). |
pin_attempts_exceeded | The number of PIN attempts has been exceeded. | PIN uchun juda ko'p noto'g'ri urinish. |
too_many_attempts | Too many attempts. Please try again later. | Urinishlar soni himoyasi ishga tushdi. |
Karta telefoni / SMS
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
sms_not_active | SMS notification is not active for this card. | Kartada faol SMS/OTP imkoniyati yo'q. |
phone_not_match | The phone number does not match the card. | Yuborilgan telefon karta telefoniga mos emas. |
card_phone_not_linked | No phone number is linked to this card. | Kartaga telefon bog'lanmagan. |
card_has_no_phone | No phone number is registered for this card. | Kartada ro'yxatga olingan telefon yo'q. |
MyID / PINFL (shaxsni tekshirish)
Merchantда is_myid_required va/yoki is_pinfl_required yoqilganda qo'llanadi (masalan, A2C).
| Kod | HTTP | Qachon yuzaga keladi |
|---|---|---|
official_profile_required | 403 | MyID talab qilinadi, lekin foydalanuvchida rasmiy profil yo'q. /userCard/createOfficialProfile/ orqali yarating. |
merchant_user_myid_not_verified | 400 | Merchant foydalanuvchisi mavjud emas / MyID tekshirilmagan. |
pinfl_check_required | 403 | PINFL talab qilinadi, lekin bu karta uchun tekshirilmagan. |
pinfl_not_match | 403 | Tekshirilgan PINFL rasmiy profil / kartaga mos emas. |
Servisga to'lov (Paynet / HGT / uzsuv / Hamkorbank / …)
Provayderning raqamli kodlari va matni qaytarilmaydi — ular quyida unifikatsiya qilingan.
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
service_payment_error | The payment could not be completed. Please try again. | Servisga to'lovning umumiy xatosi. |
account_not_found | The account was not found. | Abonent / hisob provayderда topilmadi. |
provider_unavailable | The service provider is temporarily unavailable. Please try again later. | Provayder ishlamayapti / ortiqcha yuklangan / rad etdi. |
service_under_maintenance | The service is under maintenance. Please try again later. | Provayderda profilaktika. |
payment_cancel_not_allowed | This payment cannot be cancelled. | Bekor qilish mumkin emas / muddati o'tgan. |
service_not_found | The service was not found. | Xizmat/tovar topilmadi. |
service_not_available | The service is temporarily unavailable. Please try again later. | Xizmat vaqtincha ishlamayapti. |
service_temporarily_not_accepting_payments | service_temporarily_not_accepting_payments | Xizmat hozir to'lov qabul qilmayapti. |
pinfl_check_required | yuqoriga qarang | Ba'zi xizmatlar to'lovdan oldin tekshirilgan PINFL talab qiladi. |
OFD / fiskalizatsiya
| Kod | Xabar | Qachon yuzaga keladi |
|---|---|---|
ofd_commitent_or_subcommission_not_active | ofd_commitent_or_subcommission_not_active | Chek pozitsiyasining komitenti (TIN) yoki subkomissiyasi (PINFL) OFD katalogida faol shartnomaga ega emas. data: itemIndex, tin, pinfl. |
ofd_check_already_generated | ofd_check_already_generated | Bu tranzaksiya uchun fiskal chek allaqachon yaratilgan. |
ofd_too_many_requests_for_this_receipt | ofd_too_many_requests_for_this_receipt | Bu tranzaksiya uchun chek so'rovlari juda ko'p. |
ofd_check_not_found | ofd_check_not_found | Fiskal chek topilmadi. |
Avtorizatsiya, validatsiya va umumiy
| Kod | HTTP | Qachon yuzaga keladi |
|---|---|---|
permission_denied | 401 / 400 | Kredensial yo'q/noto'g'ri, yoki merchantда bu API'ga ruxsat yo'q (A2C, A2C-by-PAN, split, fiskalizatsiya). |
ip_not_allowed | 403 | Chaqiruvchi IP merchant/kalit oq ro'yxatida yo'q. |
validation_error | 400 | So'rov tanasi/parametrlari noto'g'ri. data maydon tafsilotlarini o'z ichiga olishi mumkin. |
field_required | 400 | Majburiy maydon yo'q. data.field. |
field_not_valid | 400 | Maydon qiymati noto'g'ri. data.field. |
not_found | 404 | So'ralgan resurs topilmadi. |
bank_not_found | 400 | Bank topilmadi. |
terminal_does_not_exist | 400 | Amaliyot uchun terminal mavjud emas. |
hold_not_found | 400 | Hold topilmadi. |
gateway_not_working | 400 | Merchant faol emas / bu gateway uchun sozlanmagan. |
rate_limit_exceeded | 429 | So'rovlar juda ko'p. |
payload_too_large | 413 | So'rov tanasi hajm cheklovidan oshib ketdi (64 KB). |
server_error | 500 | Kutilmagan server xatosi. |
unknown_error | 400 | Kutilmagan xato yuz berdi. Qayta urinib ko'ring. |
INFO
Bu ro'yxat eng ko'p uchraydigan kodlarni qamraydi. Vaqt o'tishi bilan yangi kodlar qo'shilishi mumkin, shuning uchun noma'lum error.code ni har doim to'g'ri (umumiy xato sifatida) qayta ishlang.