支付宝沙箱环境
沙箱环境
蚂蚁沙箱环境 (Beta) 是协助开发者进行接口功能开发及主要功能联调的辅助环境。沙箱环境模拟了开放平台部分产品的主要功能和主要逻辑(当前沙箱支持产品请参考下文的 沙箱支持产品 列表)。 在开发者应用上线审核前,开发者可以根据自身需求,先在沙箱环境中了解、组合和调试各种开放接口,进行开发调通工作,从而帮助开发者在应用上线审核完成后,能更快速、更顺利的进行线上调试和验收工作。 如何使用和配置沙箱环境请参考下文 如何使用沙箱环境。
注意:
-
由于沙箱为模拟环境,在沙箱完成接口开发及主要功能调试后,请务必在蚂蚁正式环境进行完整的功能验收测试。所有返回码及业务逻辑以正式环境为准。
-
为保证沙箱稳定,沙箱环境测试数据会进行定期数据清理。Beta 测试阶段每周日中午12点至每周一中午12点为维护时间,在此时间内沙箱环境部分功能可能会不可用,敬请谅解。
-
请勿在沙箱进行压力测试,以免触发相应的限流措施,导致无法正常使用沙箱环境。
-
沙箱支持的各个开放产品,沙箱使用的特别说明请参考各产品的快速接入文档或技术接入文档章节。
如何使用沙箱环境
第一步:配置沙箱应用环境
进入 开放平台 > 开发者中心 在开发服务选项中点击 研发服务 即可进入 沙箱环境。
进入沙箱环境页面,系统已经自动为你创建一个应用,在 信息配置 中可以看到应用信息。
-
沙箱环境密钥设置支持上传 RSA2(SHA256) 的应用公钥和公钥证书两种形式,详见 生成RSA密钥。配置 RSA2(SHA256) 的应用公钥后,不需要配置 RSA(SHA1) 密钥,签名算法区别参见 RSA 和RSA2 签名算法区别。配置 crs 公钥证书时 组织/公司 需填写为 沙箱环境;
-
编写代码时,请将:
-
请求网关修改为:
https://openapi.alipaydev.com/gateway.do
-
appid 切换为沙箱的 appid
-
签名方式使用 RSA2
-
应用私钥(private_key)使用第 1 步生成的 RSA2 (SHA256) 的私钥(请根据开发语言进行选择原始或 pkcs8 格式)。
-
支付宝公钥(public_key)切换为第 1 步配置后应用公钥后,点击查看支付宝公钥看到的公钥。
TIPS:下列以 JAVA 语言示例展示,其他语言请参考各自 SDK。
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do","2016072200101XXXX","请复制第1步中生成的密钥中的商户应用私钥","json","utf-8","沙箱环境RSA2支付宝公钥","RSA2");
选看部分作为进阶使用,非必填项;
-
应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;
-
授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时需进行配置:
-
第三方应用授权:授权 url 中的 redirect_uri 必须与此值相同。
-
获取用户信息:授权 url 中的 redirect_uri 的域名必须与此值相同(例如:授权回调地址配置:https://auth.example.com/authCallBack 高亮部分需和授权url相同)。
-
AES 密钥:目前不再使用。
注意: 调试过程中需要钱包端支持的功能,请使用沙箱提供的 Android 支付宝钱包沙箱版,例如当面付的条码获取、芝麻信用的认证;获取方式在开发者中心左侧,点击 沙箱环境 > 沙箱工具。
在 功能信息 列表中,罗列有沙箱支持的功能,当前沙箱功能接口无需申请开通,开发者可以根据自身需求选择了解和调试。
第二步:了解并调用接口
为了方便开发者使用,蚂蚁沙箱环境设置了独立于线上环境的配置,并提供了辅助开发者体验开放接口的配套测试账号和工具:
-
蚂蚁沙箱网关地址为:
https://openapi.alipaydev.com/gateway.do
-
沙箱环境应用为上述沙箱环境为开发者自动创建的应用,对应的APPID可以在页面上找到
-
沙箱平台提供了商家和买家的测试账号;点击沙箱环境-测试账号;开发者可使用商家账号进行应用授权、使用买家账号进行付款等操作;
具体如何调用开放接口,请参考各开放产品的快速接入或技术接入文档章节,其中会说明沙箱使用的特别说明,开发者可以根据产品文档进行各接口的开发,按照接口文档说明和沙箱使用说明填入正确的参数,完成沙箱功能的调用。
第三步:线上验收
在沙箱环境完成功能调试后,必须将支付宝网关、appid、应用私钥、支付宝公钥修改成正式环境的配置,并在蚂蚁正式环境进行完整的功能验收测试。
沙箱调试常见错误
错误码 |
错误描述 |
排查方案 |
invalid-signature |
无效签名 |
签名校验失败。
详细可以使用 自助排查 |
ACQ.PAYMENT_AUTH_CODE_INVALID |
支付失败,获取顾客账户信息失败,请顾客刷新付款码后重新收款,如再次收款失败,请联系管理员处理。SOUNDWAVE_PARSER_FAIL |
|
missing-signature |
缺少签名参数 |
|
missing-signature-config |
验签出错 未配置对应签名算法的公钥或者证书 |
|