如何测试和沙箱调试泰国支付接口?

泰国支付接口测试与沙箱调试指南

作为支付平台专家,以下是测试和沙箱调试泰国支付接口的详细方法:

1. 获取沙箱环境访问权限

  • 注册开发者账户:在目标支付网关(如Omise、2C2P、TrueMoney等)官网申请开发者账号
  • 申请API密钥:获取用于沙箱环境的测试API密钥(通常分为public key和secret key)
  • 下载SDK/文档:获取官方提供的SDK和API文档

2. 常见泰国支付接口类型及测试要点

a. 银行卡支付

  • 测试卡号:使用提供商提供的测试卡号(如4111 1111 1111 1111)
  • CVV/CVC:任意3位数字
  • 有效期:未来日期
  • 3D Secure验证:模拟不同响应场景(成功/失败/超时)

b. QR码支付(PromptPay)

  • 生成测试QR码
  • 模拟扫码流程
  • 验证回调通知

c. TrueMoney钱包

3. TrueMoney钱包接口测试方法

TrueMoney是泰国流行的电子钱包,测试其支付接口需要以下步骤:

a. 获取沙箱环境凭证

  • 在TrueMoney开发者平台注册并申请Sandbox商户账户
  • 获取测试用的 API Key、Merchant ID、Secret Key
  • 下载官方SDK(如PHP/Java/Python)或REST API文档

b. TrueMoney沙箱模拟流程

  1. 用户授权登录模拟

    • 使用沙箱提供的测试手机号(如0812345678)和OTP验证码(如123456
    • SDK应返回临时Token用于支付请求
  2. 发起支付请求(API调用示例)

import requests

url = "https://sandbox.truemoney.com/api/v1/payments"
headers = {
"Authorization": "Bearer YOUR_SANDBOX_API_KEY",
"Content-Type": "application/json"
}
payload = {
"merchant_id": "SANDBOX_MERCHANT_ID",
"amount": 100, # THB (泰铢)
"reference_id": "TEST_ORDER_123",
"callback_url": "<你的回调URL>",
}

response = requests.post(url, headers=headers, json=payload)
print(response.json()) # {status: success, payment_url: "...", transaction_id: ...}

  1. 模拟用户确认付款

    • Sandbox会返回一个虚拟的 payment_url
    • 访问该URL,输入测试OTP (111111)完成扣款
  2. 验证回调通知

    POST /your-callback-endpoint HTTP/1.1
    {
    “transaction_id”: “SANDBOX_TXN_001”,
    “status”: “success”,
    “amount”: 100,
    “reference_id”: ”TEST_ORDER_123”
    }

c.PromptPay (泰国国家QR标准)

a.生成沙箱QR码

curl -X POST https://api.sandbox.bank.co.th/qr/generate \
-H 'Authorization: Bearer SANDBOX_API_KEY' \
-d '{
"amount":50,
"account":"0912345678@thaibank",
"note":"Test Payment"
}'

响应示例:

{"qr_data":"000201010212...","expiry_time":"2025-12-31T23:59"}

b.扫码支付结果模拟工具

部分银行提供Webhook调试器(如Kasikorn的K+ Developer Sandbox)可手动触发SUCCESS/FAIL状态。


d.信用卡(国际卡/VISA/Mastercard)特殊处理

泰国本地化要求:
|字段|测试值|说明|
|—|—|—|
|Card Number|4111111111111111|VISA测试卡|
|CVV |任意3位数字||
Expiry Date未来月份|||
3D Secure认证 必测场景:
1️⃣成功流程 → OTP输入sandbox提供值
2️⃣失败流程 → OTP错误三次
3️⃣超时 →不输入OTP等待300秒


#4.关键验证点总结

✅所有金额必须为THB且支持小数(0禁用!)
✅正确接收异步通知(callback/webhook)
✅日志记录完整的raw request/response
⚠️真实环境切换前确保关闭sandbox flag!

需要更详细的某家提供商案例吗?例如Omise或2C2P?