PayPal沙箱与生产环境参数是否一致?ASP.NET集成报错求助
PayPal沙箱测试问题排查方案
沙箱与生产环境的参数差异
- 核心业务参数(比如
amount、return、cancel_return、item_name这类)完全一致,不需要修改 - 唯一必须调整的是请求的PayPal网关地址:
- 生产环境:
https://www.paypal.com/cgi-bin/webscr - 沙箱环境:
https://www.sandbox.paypal.com/cgi-bin/webscr
- 生产环境:
- 另外必须使用沙箱专属测试账号(商家Business类型、买家Personal类型),不能用生产环境的PayPal账号登录沙箱
西班牙语“我们遇到问题”错误排查步骤
- 确认网关地址切换正确
检查代码里的表单提交地址是否是沙箱专用的https://www.sandbox.paypal.com/cgi-bin/webscr,很多错误都是因为还指向生产地址导致的 - 验证测试账号有效性
- 登录PayPal开发者后台,确认沙箱商家和买家账号都处于激活状态
- 确保输入的是沙箱买家账号的密码,不是生产账号的
- 检查参数格式与编码
- 确认
return和cancel_return的URL可正常访问,含特殊字符的话要做URL编码 - 金额参数
amount必须是带小数点的数字格式(比如10.00,不能是10或10,00)
- 确认
- 查看沙箱错误日志
登录PayPal开发者后台的沙箱仪表盘,找到对应交易记录,查看具体错误代码和详情,这是定位问题最直接的方式 - 简化测试代码
先写一个极简测试表单,只保留必要参数(cmd=_xclick、business、amount、return、cancel_return),排除自定义参数干扰,确认基础功能正常后再逐步恢复原有参数
极简测试示例(ASP.NET WebForms)
<form id="paypalForm" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick" /> <input type="hidden" name="business" value="你的沙箱商家邮箱@xxx.com" /> <input type="hidden" name="amount" value="10.00" /> <input type="hidden" name="return" value="https://你的测试域名/Return.aspx" /> <input type="hidden" name="cancel_return" value="https://你的测试域名/Cancel.aspx" /> <input type="hidden" name="currency_code" value="USD" /> <input type="submit" value="测试沙箱支付" /> </form>
内容的提问来源于stack exchange,提问作者volar.2016
相关产品推荐
相关产品推荐

