支付宝国际版支付 Sandbox 模式是否需要单独申请?
支付小周
结论
支付宝国际版支付和中国大陆支付宝开放平台的 Sandbox 分属不同环境,国内版沙箱通常不能直接用于国际版。
接入国际版支付时,需要先在对应的国际商户平台开通产品,再使用该平台提供的 Sandbox。沙箱账号、clientId、密钥、证书、测试钱包和 API 地址,均应以国际版控制台中的信息为准。
“支付宝国际版”可能指国际收单、Alipay+ 或 Antom 等不同产品,各产品的申请条件和接入入口可能不同。
申请入口
可以从以下官方入口开始:
- 支付宝国际业务门户:https://global.alipay.com/
- Antom 开发者文档:https://docs.antom.com/
进入平台后,选择实际要使用的支付产品,再到开发者控制台或产品文档中查找 Sandbox、Integration 或 Developer Center。
如果控制台中没有 Sandbox 入口,可能是以下原因:
- 国际商户账号尚未注册,或企业认证尚未完成;
- 尚未创建国际版应用;
- 目标支付产品尚未开通;
- 该产品需要商务经理或技术支持协助配置测试环境。
遇到这种情况,需要通过国际业务门户提交接入申请,或联系对应的技术支持。不要在国内支付宝开放平台创建沙箱应用后,将其直接用于国际版接口。
接入步骤
- 注册或登录支付宝国际业务对应的商户平台。
- 完成企业认证,申请需要接入的国际支付产品。
- 在国际版控制台中创建应用或集成项目。
- 开启 Sandbox,并取得沙箱专用配置,例如:
clientId或合作伙伴标识;- 商户私钥;
- 平台公钥或平台证书;
- Sandbox API 地址;
- 测试买家账号或测试钱包。
- 根据国际版文档完成签名、下单和异步通知验证。
- 上线前,将账号、密钥、证书和 API 地址全部换成生产环境配置。
配置示例
建议分别配置国内版、国际版和生产环境,避免混用凭证:
alipay:
environment: sandbox
domestic:
appId: ${ALIPAY_CN_APP_ID}
gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
merchantPrivateKey: ${ALIPAY_CN_PRIVATE_KEY}
alipayPublicKey: ${ALIPAY_CN_PUBLIC_KEY}
international:
clientId: ${ALIPAY_INTL_CLIENT_ID}
gatewayUrl: ${ALIPAY_INTL_SANDBOX_GATEWAY}
merchantPrivateKey: ${ALIPAY_INTL_PRIVATE_KEY}
platformPublicKey: ${ALIPAY_INTL_PLATFORM_PUBLIC_KEY}
不要根据国内版地址推测国际版的 gatewayUrl,直接使用对应产品文档或控制台提供的 Sandbox 地址。
以下是一个通用请求结构示例。具体路径、请求头和签名格式,必须以所申请国际产品的文档为准:
curl --request POST "${ALIPAY_INTL_SANDBOX_GATEWAY}/api/v1/payments/pay" \
--header "Content-Type: application/json; charset=UTF-8" \
--header "Client-Id: ${ALIPAY_INTL_CLIENT_ID}" \
--header "Signature: ${SIGNATURE}" \
--data '{
"paymentRequestId": "sandbox_order_202609090001",
"paymentAmount": {
"currency": "USD",
"value": "100"
}
}'
这段代码只用于说明如何隔离配置,并不表示所有国际版产品都使用 /api/v1/payments/pay、Client-Id 或相同的签名规则。
注意事项
- 国内版的
app_id、支付宝公钥、应用私钥和沙箱买家账号通常不能用于国际版。 - 不同的国际版产品可能采用不同的 API 协议和签名机制,不能只更换网关地址。
- Sandbox 和生产环境的凭证必须分开保存,不能将测试密钥直接用于生产环境。
- 金额单位、币种、通知验签、退款流程和测试钱包,都应按照具体产品的文档配置。
- 如果已有商务对接人员,建议先确认产品名称和接入区域,再申请对应的 Sandbox,以免注册到错误的平台。
备注:内容仅供参考。
