Middle East Payment Sandbox Environment and Test Flow Analysis
Middle East Payment Sandbox Environment and Test Flow Analysis
I. Characteristics of the Middle East payments market
-
Regional characteristics::
- Credit card penetration is low and cash transactions still account for a large proportion of transactions
- Local payment methods such as Mada card (Saudi Arabia), Fawry (Egypt) dominate
- Islamic Finance Compliance Requirements (Sharia-compliant)
-
Major country differences::
- Saudi Arabia: Mada Card + Apple Pay/Samsung Pay
- UAE: Visa/Mastercard is relatively popular.
- Egypt: cash advance vouchers (Fawry) dominate
II. Overview of the mainstream sandbox environment
PayPal Middle East Sandbox
- Supported Currencies: AED, SAR, EGP and other regional currencies
- special function::
- Arab-specific error code emulation (e.g. "IBAN authentication failed")
Checkout.com Middle East Test Environment
- Featured Services::
// Mada card test number example
4406470000000097 (3DS v1)
5456030000006165 (3DS v2)
Telr sandbox system (UAE focus)
- Unique settings::
curl https://uat.telr.com/gateway/order.json \
-H "Content-Type: application/json" \
-d '{
"ivp_method": "create",
"ivp_store": YOUR_STORE_ID,
"ivp_authkey": YOUR_AUTH_KEY,
"ivp_cartid": UNIQUE_ORDER_ID,
"ivp_amount": AMOUNT_IN_AED_SAR_EGP,
}'
III. Core testing process framework
- Foundation Configuration Phase
[GATEWAY SELECTION] → [CURRENCY SETTINGS (AED/SAR/EGP)] → [LANGUAGE PACKET LOADING]
↓
[Compliance Check] ← [Callback URL Configuration]
- Key Test Scenario Matrix
Test Case | Saudi (MADA) | UAE (VISA) | Egypt (Fawry) |
---|---|---|---|
Successful transactions | SAMPLE_MADA_CARD | VISA_TEST_411111 | FAWRY_VOUCHER_CODE |
3DS Failure | BLOCKED_BIN_MADA | VISA_3DS_DECLINE_CODE6 | N/A |
Amount Limit Trigger | SAR_MIN=10 rule check AED_MAX=50000 rule check EGP_ROUNDING_ERROR |
- Special validation points
def test_middle_east_specific().
assert payment_page.has_hijri_date_option() # Islamic calendar display
assert receipt.contains_vat_number_field() # Gulf States VAT Requirements
if egypt_transaction.
assert has_fawry_reference_id()
- IV. Guidelines for troubleshooting common problems
🔴 Error Code: MIDEAST-004
👉 Possible cause: Arabic error message resource file not configured
🟡 Warning ME-TAX-002
✅ Solution: Confirm invoice contains 5% VAT field (GCC country requirement)
⚫️ Blackbox Issue
📌 Debugging step: check if Gregorian dates are mistakenly used instead of Hijri dates
Need a more detailed description of a particular aspect? For example, country-specific authentication processes or deep integration details for a particular payment gateway?
# In-depth analysis of payment sandbox testing in the Middle East (continued)
IV. Highlights of country/area-specific tests
Saudi Arabia (MADA system)
Core Test Toolkit:
"`xml
“`
List of mandatory test items:
1. Verification of cryptographic standards for SAMA authentication
2. Saudi localisation requirements:
- 🇸🇦 Arabic receipts must be displayed
- ⏰ Time zone forced to GMT+3 (Riyadh Time)
- 📄 VAT invoice number format checksum (15 digits)
UAE (Visa/MasterCard dominated)
Dubai FinTech Sandbox Special Rules:
"`javascript
// Example of Noon Pay emulator API call
const noonSandbox = require('noon-pay-sandbox');
noonSandbox.configure({
merchantCode: 'TESTAE', // AE for Emirates
currencyLock: 'AED',
mandatoryFields: ['TAX_INVOICE_NUMBER', 'PO_BOX'] // UAE-specific fields
});
“`
Critical Difference Point Test Matrix:
| Feature | UAE Specification Requirements | Standard International Programmes |
|———|————|————-|
| Address Field | PO Box Required | Street Address Priority |
|Refund Time Limit | ≤5 working days | ≤7 working days |
| Currency Accuracy | AED Fixed 2 decimal places | Dynamic Decimal Place Support |
Egypt (cash payment scenario)
“`
FAWRY sandbox response sample:
STATUS_CODES.
0000 - Successful payment (16-digit reference code to be verified)
1400 - Pending (waiting for users to complete cash payments)
9002 - Invalid voucher code (Tested with invalid code: 99999888877776666)
curl example:
curl "https://sandbox.fawrypay.com/payments/status?merchantCode=TEST&paymentRefNumber=SANDBOX_REF_001"
“`
V. Special Islamic finance compliance
Sharia-compliant transaction detection process
"`Mermaid
graph TD.
A[transaction initiation] -> B{amount analysis}.
B -> C [with Riba (interest) component?] ;
C ->|Yes| D [automatically intercepts and triggers the SHARIA_101 error].
C ->|No| E{Review of contract terms}.
E -> F [contains uncertainty (Gharar) ?] ;
F ->|Yes| G [labelled as NON_HALAL transaction];
F -> |No or certified H.Halal contract template} H[Normal processing];
classDef sharia fill:#f9f,stroke:#333;.
class D,G sharia.
“`
Halal Payment Interface Design Recommendations
"`java
public interface HalalPaymentGateway {
@HalalCertified(provider = "AAOIFI") //Islamic Accounting and Auditing Organisation certification mark
void processPayment(PaymentRequest request) throws NonHalalTransactionException.
@FieldValidation(rule = "noCompoundInterest")
boolean validateProfitRate(double rate).
default String getShariaComplianceCertificate() {
return "This gateway complies with Islamic Finance Standard APS-2023";}
}
“`
VI. Practical debugging skills
🔧 Cross-Gateway Problem Diagnosis Toolchain
“`
1. Postman Collection + Alipay Middle East Sandbox plugin
2. Wireshark filter settings: portrange(5000-5100) && http.contains("AED")
3. JMeter stress test template configuration Arabic character set encoding
4. Burp Suite Middle East-specific CA certificate package
“`
📌 Typical Failure Modes Library
“`
Case ME-2023-047.
Phenomenon: UAE deal succeeds but Saudi Arabia fails
Root cause: Unprocessed Mada card BIN numbers 588845-588848
Workaround: Update the cardbin database to v4.22+.
Case ME-2024-012.
Phenomenon: Egypt returns an ambiguous "Payment Processing" status.
Sequence of diagnostic tool use:
a) Fawry status API direct query → b) Check merchant callback log → c) Traceroute to Cairo data centre node Nile01
It was eventually found to be the result of rounding differences in EGP currency conversions
Do I need to start the certification application process for a specific country? Or provide a complete end-to-end sandbox deployment checklist?