土耳其支付-优质原生网关

中东支付网关沙箱测试指南

中东支付网关沙箱测试指南

主要支付网关概述

中东地区主要的支付网关包括:

  1. PayFort – 隶属于亚马逊,在中东广泛使用
  2. Telr – 覆盖阿联酋、沙特等国家
  3. Checkout.com – 国际支付提供商,支持中东地区
  4. Moyasar – 沙特本土支付解决方案
  5. PayTabs – 专注于阿拉伯市场的支付服务商

PayFort沙箱测试流程

1. Sandbox账户注册

API端点:

测试环境URL: https://sbpaymentservices.payfort.com/FortAPI/

HTTP头信息示例:

Content-Type: application/json;charset=UTF-8 
Authorization: Bearer {your_sandbox_token}

Telr沙箱设置指南

Sandbox激活步骤:

  1. 注册Telr商户账户
  2. "Development"选项中选择"Enable Test Mode"

API参数示例:

{
"ivp_method": "create",
"ivp_store": "{store_id}",
"ivp_authkey": "{sandbox_auth_key}",
"ivp_cart": "[{name:'Test', price:'100', qty:'1'}]"
}

Checkout.com中东测试环境配置

API Base URL: https://api.sandbox.checkout.com/

需要特别注意的字段:

  • currency: SAR(沙特里亚尔)或AED(阿联酋迪拉姆)
  • payment_type: ‘mada'(适用于沙特本地卡)

Moyasar沙箱使用说明

Moyasar专门为沙特市场设计,支持SAR货币和mada卡网络。

测试信用卡号:

4111111111111111 (Visa模拟卡)

授权码始终使用:

sk_test_XXXXXXXXXXXXXXXX 

PayTabs开发模式配置要点

在请求头中设置:

Authorization: S6JN9NWBW9-JBD9GRNRH2-DHDKMRDGBT 
x-api-key: {your_sandbox_api_key}

建议在首次集成时先使用他们的Postman集合进行快速验证。


如需更详细的特定平台技术文档或遇到任何集成问题,请告知具体需求。

中东支付网关沙箱测试指南(续)

高级测试场景与常见问题解决方案

1. 本地化支付方式模拟测试

沙特特有支付方式:

  • Mada卡测试
    • 使用测试卡号:4464040000000003
    • CVV:任意3位数字
    • Expiry:未来日期

阿联酋特有支付方式:

  • KNET网关模拟
    在PayFort/Telr沙箱中使用特殊商户参数触发KNET流程:

    "payment_option": "knet",
    "sadad_merchant_id": "TEST_MERCHANT"

API响应代码特别处理(中东地区)

HTTP状态码 PayFort含义 Telr处理建议
40014 VAT计算错误
50058 SADAD服务不可用
60033 mada卡BIN验证失败

Webhook配置要点

所有主要网关都需要双重验证:

# PayFort签名验证示例
echo -n "{notification_params}&{your_sandbox_signature}" \
| sha256sum

推荐测试工具:

  • Webhook.site -实时捕获回调
  • Ngrok隧道 -用于本地环境测试

PCI DSS合规性沙箱特例

即使在使用Sandbox时仍需注意:

  1. 信用卡数据替代方案

    // PayTabs token化示例(沙箱)
    const token = await paytabs.createToken({
    card_number: '4111111111111111',
    expiry_month: '12',
    expiry_year: '2025'
    });
  2. 日志记录限制
    各平台对沙箱环境的日志保留期通常为7天(生产环境为30天)

Apple Pay/Google Pay特殊配置

中东地区需要额外参数:

<!-- AndroidManifest.xml for Telr -->
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true" />

沙特区Apple Pay需设置:

{
"merchantCapabilities": ["supports3DS"],
"countryCode": "SA"
}

SIM卡运营商扣款模拟

适用于埃及、沙特等市场的直接运营商计费:

// Moyasar STC Pay测试流程
curl https://api.moyasar.com/v1/payments \
-H "Authorization: Basic $(echo sk_test_KEY: | base64)" \
-d amount=1000 \
-d source[type]=stcpay \
-d source[mobile]=966555555555

会返回模拟OTP码:"123456"


如需了解特定国家的监管要求差异或需要具体语言的SDK集成示例,请说明您关注的细节。

中东支付网关沙箱测试深度指南(三)

跨境交易与货币处理

多币种沙箱测试技巧

  1. PayFort多币种模拟

    • 使用特定测试金额触发不同响应:
      100.00 AED → 成功
      200.00 SAR → 人工审核状态
      555.00 USD → 失败(货币不支持)
  2. 汇率模拟参数

    // Checkout.com动态汇率示例
    {
    "amount": {"value":1000,"currency":"USD"},
    "processing_currency":"SAR",
    "fx_rate":3.75
    }

GCC国家特殊规则沙箱标记

在请求头中添加:

X-Regional-Settings: country=SA, lang=ar #沙特阿拉伯示例

各平台支持的GCC国家代码:

Gateway SA AE QA KW OM
PayFort ✓* (需特别激活)
Telr ✓* (仅限AED/SAR)

(*需要联系客户经理开通)

VISA/MASTERCARD地区限制解决方案

BIN号控制列表(沙箱专用)

# Python识别沙特本地卡BIN范围(沙箱)
def is_saudi_card(card_number):
saudi_bins = [
'446404', #mada测试卡段
'457448' #PayFort虚拟卡段
]
return any(card_number.startswith(bin) for bin in saudi_bins)

AML/KYC验证的特殊场景

PayTabs身份验证模拟:

  1. 沙特ID验证
    输入10位数字以1开头的任意号码:
    如:1999999999 → KYC通过
    如:2888888888 → KYC拒绝模式触发

  2. 阿联酋IBAN校验规则
    有效格式:AE070331234567890123456  
    ↑↑
    固定前两位字母+23位数字

Recurring Payment订阅测试

Moyasar周期支付配置示例:

// Node.js创建订阅计划(沙箱)
const subscription = await moyasar.subscriptions.create({
amount: '5000',
currency: 'SAR',
interval: 'monthly',
trial_period_days:7, //仅用于sandbox的试用期设置

callback_url:'https://your-sandbox-webhook'
});

会返回带test_前缀的subscription ID


如需继续深入以下方向,请告知具体需求:

  • Apple/Google Pay在中东设备上的特殊调试方法
  • VAT计算错误的详细排查流程
  • SWIFT跨境转账的Sandbox仿真方案