Payment reason codes
Codes and messages returned on every payment outcome
Every payment outcome carries a transactionResponseCode and a bilingual transactionResponseMessage object ({ en, ar }). Both appear on webhook payloads, in order reconciliation responses, and in transaction responses — a declined authorisation still returns HTTP 200 with the reason in the code.
Branch on both status and transactionResponseCode. Matching is exact and case-sensitive: compare against the codes exactly as written here, including lowercase k_*. Blank Arabic cells mean no Arabic message is published for that code.
ISO numeric codes
Each numeric code is stored and returned individually. There are no range values — you will receive 47, never 46-50.
| transactionResponseCode | transactionResponseMessage - en | transactionResponseMessage - ar |
|---|---|---|
0 | Success | |
00 | Approved | تمت الموافقة |
01 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
02 | Refer to card issuer's special conditions | يرجى الرجوع إلى جهة إصدار البطاقة |
03 | Invalid merchant | تاجر غير صالح |
04 | Pick-up lost card detected | إلتقط البطاقة ، تم الإبلاغ عن سرقتها أو ضياعها |
05 | Do not honor, please retry or contact your issuer bank. | غير مقبول، يرجى إعادة المحاولة أو الاتصال بالبنك المصدر بالبطاقة |
06 | Error | خطأ في الدفع |
07 | Pick-up card, special condition | إلتقط البطاقة ، تم الإبلاغ عن سرقتها أو ضياعها |
08 | Honour with identification | مقبول مع تحديد الهوية |
09 | Request in progress | طلب قيد التقدم |
10 | Approved for partial amount | تمت الموافقة على المبلغ الجزئي |
11 | Approved (VIP) | موافقة كبار الشخصيات |
12 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
13 | Invalid amount, please contact the merchant | مبلغ غير صحيح ، يرجى الاتصال بالتاجر |
14 | Invalid card information. | بيانات البطاقة غير صحيحة. |
15 | No such issuer | لا يوجد مثل هذا المصدر |
16 | Approved | عملية مقبولة |
17 | Customer cancellation | إلغاء العميل |
18 | Customer dispute | نزاع العميل |
19 | Re-enter transaction | أعد إدخال المعاملة |
20 | Invalid response | استجابة غير صالحة |
21 | No action taken | لم يتم اتخاذ أي إجراء |
22 | Suspected malfunction | عطل مشتبه به |
23 | Unacceptable transaction fee | رسوم المعاملات غير مقبولة |
24 | File update not supported by receiver | تم رفض الدفع |
25 | Unable to locate record on file | تم رفض الدفع |
26 | Duplicate file update record, old record replaced | تم رفض الدفع |
27 | File update field edit error | تم رفض الدفع |
28 | File update file locked out | تم رفض الدفع |
29 | File update not successful, contact acquirer | تم رفض الدفع |
30 | Format error | خطأ في التنسيق |
31 | Bank not supported by switch | البنك غير مدعوم |
32 | Completed partially | اكتمل جزئيا |
33 | Expired card | بطاقة منتهية الصلاحية |
34 | Suspected fraud | يشتبه في الاحتيال |
35 | Card acceptor contact acquirer | عملية مرفوضة |
36 | Restricted card, please contact your bank. | بطاقة محظورة ، يرجى الاتصال بالبنك المصدر للبطاقة. |
37 | Card acceptor call acquirer security | عملية مرفوضة |
38 | Allowable PIN tries exceeded | تم تجاوز عدد محاولات PIN المسموح بها |
39 | No credit account | لا يوجد حساب ائتمان |
40 | Requested function not supported | الوظيفة المطلوبة غير مدعومة |
41 | Lost card | البطاقة مفقودة |
42 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
43 | Stolen card, pick-up | بطاقة مسروقة |
44 | No investment account | لا يوجد حساب استثماري |
45 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
46 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
47 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
48 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
49 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
50 | Declined, Contact card issuer. | عملية مرفوضة ، يرجى الاتصال بجهة مصدر البطاقة. |
51 | Insufficient funds | رصيد البطاقة غير كاف |
52 | No checking account | لا يوجد حساب جاري |
53 | No savings account | لا يوجد حساب توفير |
54 | Expired card | بطاقة منتهية الصلاحية |
55 | Declined - Wrong PIN Entered by Card Holder | مرفوض - إدخال خاطئ لرقم التعريف الشخصي بواسطة حامل البطاقة |
56 | No card record | لا يوجد سجل للبطاقة |
57 | Online transactions are not permitted to this card, please contact the card issuer. | المعاملات عبر الإنترنت غير مسموح بها لهذه البطاقة ، يرجى الاتصال بالبنك مصدر البطاقة. |
58 | Online transactions are not permitted to this card, please contact the card issuer. | المعاملات عبر الإنترنت غير مسموح بها لهذه البطاقة ، يرجى الاتصال بالبنك مصدر البطاقة. |
59 | Suspected fraud | تم رفض الدفع بسبب إشتباه في إحتيال |
60 | Card acceptor contact acquirer | تم رفض الدفع |
61 | Exceeds withdrawal amount limit | تم رفض الدفع بسبب تجاوز حدود المبلغ المسموح للدفع |
62 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
63 | The three-digit CVV or CVC security code … was incorrect. | |
64 | Original amount incorrect | المبلغ الأصلي غير صحيح |
65 | Exceeds withdrawal frequency limit | تم إجتياز حد تردد السحب |
66 | Card acceptor call acquirer's security department | التقط البطاقة من الجهاز |
67 | Hard capture (requires that card be picked up at ATM) | الالتقاط الثابت (يتطلب استلام البطاقة من جهاز الصراف الآلي) |
68 | Response received too late | رد متأخر |
69 | Reserved for ISO use | عملية مرفوضة |
70 | Reserved for ISO use | عملية مرفوضة |
71 | Reserved for ISO use | عملية مرفوضة |
72 | Reserved for ISO use | عملية مرفوضة |
73 | Reserved for ISO use | عملية مرفوضة |
74 | Reserved for ISO use | عملية مرفوضة |
75 | Allowable number of PIN tries exceeded | تم تجاوز العدد المسموح به من محاولات PIN |
76 | Reserved for private use | عملية مرفوضة |
77 | Reserved for private use | عملية مرفوضة |
78 | Declined - No Account | مرفوض - لا يوجد حساب |
79 | The card issuer suspects this payment to be fraudulent. | |
80 | Reserved for private use | عملية مرفوضة |
81 | Reserved for private use | عملية مرفوضة |
82 | CVV Validation Error | |
83 | CVV Validation Error | |
84 | Reserved for private use | عملية مرفوضة |
85 | Reserved for private use | عملية مرفوضة |
86 | Reserved for private use | عملية مرفوضة |
87 | Reserved for private use | عملية مرفوضة |
88 | Reserved for private use | عملية مرفوضة |
89 | Reserved for private use | عملية مرفوضة |
90 | Cutoff is in process (switch ending a day's business and starting the next. Transaction can be sent again in a few minutes) | قطع قيد التنفيذ |
91 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
92 | Financial institution or intermediate network facility cannot be found for routing | لا يمكن العثور على مؤسسة مالية أو مرفق شبكة وسيطة للتوجيه |
93 | Transaction cannot be completed. Violation of law | لا يمكن إتمام العملية بسبب انتهاك للقانون |
94 | Duplicate transmission | انتقال مكرر |
95 | Reconcile error | خطأ في التصالح |
96 | Your bank was not able to process the transaction | البنك المصدر للبطاقة غير قادرًا على معالجة المعاملة |
97 | Declined - CVV MisMatch | عملية مرفوضة، رمز الأمان غير مطابق. |
98 | Declined | عملية مرفوضة |
99 | Declined | عملية مرفوضة |
Authentication and 3DS codes
Returned by the 3D Secure and authentication step.
| transactionResponseCode | transactionResponseMessage - en | transactionResponseMessage - ar |
|---|---|---|
AA | UNSPECIFIED FAILURE | فشل غير محدد |
BB | ACQUIRER SYSTEM ERROR | خطأ في نظام البنك |
CC | UNKNOWN | غير معلوم |
U | Authentication is not available | المصادقة غير متوفرة |
X | Authentication is not available | المصادقة غير متوفرة |
P | Authentication failed, please check your card info. | المصادقة فشلت، خطأ في بيانات الكارت. |
N | Authentication failed | المصادقة فشلت |
S | Invalid Signature on Authentication Response | توقيع غير صالح في استجابة المصادقة |
I | MPI Processing Error | MPI Processing Error |
M | Authentication Attempted (No CAVV) | Authentication Attempted (No CAVV) |
Card enrolment and ACS outcomes can also arrive as a transactionResponseCode: CARD_ENROLLED, CARD_NOT_ENROLLED, ACS_ERROR, ACS_SUCCESS, ACS_FAILED, AUTHENTICATION_SUCCESSFUL, AUTHENTICATION_ATTEMPTED, AUTHENTICATION_FAILED, CARD_ENROLLEMENT_UNSPECIFIED, INVALID_CARD_NUMBER, REJECTED_CARD.
Gateway codes
When a card is processed through the MPGS gateway, the gateway result word becomes the transactionResponseCode verbatim. APPROVED and AUTHENTICATION_IN_PROGRESS are returned on the intermediate 3DS step of a card order, so expect them in reconciliation responses.
| transactionResponseCode | transactionResponseMessage - en | transactionResponseMessage - ar |
|---|---|---|
gw_0 | Declined. | |
ABORTED | Transaction aborted by payer | |
ACQUIRER_SYSTEM_ERROR | Acquirer system error occurred processing the transaction | |
APPROVED | Approved | |
APPROVED_AUTO | The transaction was automatically approved by the gateway … | |
APPROVED_PENDING_SETTLEMENT | Transaction Approved - pending batch settlement | |
AUTHENTICATION_IN_PROGRESS | Authentication in progress | المصادقة قيد التقدم |
BALANCE_AVAILABLE | Balance / points-redemption hints | |
BALANCE_UNKNOWN | Balance / points-redemption hints | |
BLOCKED | Your card is blocked, Kindly contact your issuer bank | |
CANCELLED | Transaction cancelled by payer | |
DECLINED | Payment was declined by issuer or payer authentication … | |
DECLINED_AVS | Address / CSC verification declines | |
DECLINED_AVS_CSC | Address / CSC verification declines | |
DECLINED_CSC | Address / CSC verification declines | |
DECLINED_DO_NOT_CONTACT | Transaction declined - do not contact issuer | |
DECLINED_INVALID_PIN | PIN declines | |
DECLINED_PIN_REQUIRED | PIN declines | |
DECLINED_PAYMENT_PLAN | Transaction declined due to payment plan | |
DEFERRED_TRANSACTION_RECEIVED | Deferred transaction received and awaiting processing | |
DUPLICATE_BATCH | Transaction declined due to duplicate batch | |
EXCEEDED_RETRY_LIMIT | Transaction retry limit exceeded | |
EXPIRED_CARD | Transaction declined due to expired card | |
INSUFFICIENT_FUNDS | Transaction declined due to insufficient funds | |
INVALID_CSC | Invalid card security code | |
LOCK_FAILURE | Order locked - another transaction is in progress for this order | |
NO_BALANCE | No balance available on the card | |
NO_MATCH | CVV Validation Error | |
NOT_ENROLLED_3D_SECURE | Authentication not supported. | |
NOT_SUPPORTED | Transaction type not supported, please refer to your bank. | |
PARTIALLY_APPROVED | Partially Approved transaction | |
PENDING | Transaction is pending | |
REFERRED | Transaction declined - refer to issuer | |
SUBMITTED | Transaction submitted without a known response | |
SYSTEM_ERROR | System error | |
TIMED_OUT | Transaction timeout | |
UNKNOWN | Unkown Result | |
UNSPECIFIED_FAILURE | unspecified failure |
Kashier codes
Kashier-internal outcomes covering tokenization, refunds, wallets, QR, and payouts. These keys are lowercase — an uppercase K_4 will not match.
| transactionResponseCode | transactionResponseMessage - en | transactionResponseMessage - ar |
|---|---|---|
k_default | A General Error Occured, please contact support. | حدث خطأ عام ، يرجى الاتصال بالدعم. |
k_0 | Invalid detoken parameter. | رمز غير صالح |
k_1 | Token not found. | لم يتم العثور على الرمز |
k_2 | Token expired after 10 minutes of inactivity. | انتهت صلاحية الرمز بعد 10 دقائق من عدم النشاط. |
k_3 | card security code does not exist. | رمز أمان البطاقة غير موجود. |
k_4 | Request to pay message send successfully. | |
k_5 | The Mobile number is not registered on any provider. | |
k_6 | Approved | |
k_7 | Order not paid | |
k_8 | Transaction refunded successfully | |
k_9 | Invalid refund body, please check your inputs | |
k_10 | Transaction already refunded | |
k_11 | QR code generated successfully | |
k_12 | Payment not completed, OTP page did not displayed to the user | |
k_13 | Transaction not found on provider | |
k_14 | Expired | |
k_15 | Self-transfer is not allowed | |
k_16 | Internal account credit failed | |
k_17 | Recipient credit not found | |
k_101 | Transaction In Progress | |
REFUND_DISABLED | The bank has disabled refund operations for this merchant. Please contact your bank to enable refunds. |
k_default is also the fallback message for any code Kashier does not recognise, so it can accompany a code that is not in these tables.
Two further codes reach you without a dictionary entry of their own, and both carry the k_default message: k_timeout, returned when the gateway sends no response, and k_risk, a retry-guard decline. Treat k_timeout as an unknown outcome and reconcile it against the order — never read it as a success or a failure.
Installment and OTP codes
Returned by the buy-now-pay-later and OTP flows, such as valU and Souhoola.
| transactionResponseCode | Meaning |
|---|---|
ERR_00 | Technical Failure, Please restart the process. |
ERR_CST_01 | Not enrolled |
ERR_CST_02 | No limit or inactive |
ERR_CST_03 | Amount exceeds limit |
ERR_CST_04 | Not eligible |
ERR_DTA_01 | Invalid request |
ERR_DTA_02 | OTP not found |
ERR_DTA_03 | OTP expired |
ERR_DTA_04 | Invalid OTP |
ERR_DTA_05 | Already verified |
ERR_DTA_06 | Max OTP attempts |
ERR_DTA_07 | Invalid downpayment |
ERR_DTA_08 | Invalid financed amount |
ERR_DTA_09 | Wrong payment plan |
ERR_ORD_01 | Order not found |
ERR_ORD_02 | Duplicate order. |
ERR_PRD_01 | Product not found |
ERR_PRD_02 | Product Already refunded |
ERR_VDR_01 | Vendor not found |
ERR_VDR_02 | Store details not found |
ERR_VDR_03 | Vendor not allowed to redeem discount |