求助:开启PayPal沙箱(NVP/SOAP API)Negative Testing功能
PayPal沙箱开启Negative Testing功能指南
嘿,我来帮你搞定这个问题!你之前找错地方啦,Negative Testing的开关不在收款方账户的Profile标签页里,咱们换个路子来设置:
方法一:通过API请求直接触发失败场景
如果你是用API发起支付,可以在请求里加特定参数模拟各种失败情况:
- 用REST API的话,创建订单时在
payment_source的paypal对象里配置experience_context,同时可以通过设置极端金额(比如把amount的value设成10000.00)来触发余额不足的错误; - 用经典Express Checkout API的话,直接在请求里添加
PAYMENTREQUEST_0_ERRORCODE参数,指定对应错误码就行(比如10500模拟无效金额,10001模拟系统错误)。
方法二:手动调整测试账户状态模拟负面场景
- 登录PayPal开发者平台,进入Sandbox > Accounts页面;
- 找到你的收款方测试账户,点击账户名称进入详情页;
- 左侧菜单选择Balance,可以点击Withdraw Funds把余额改成负数,或者去Profile > Account Settings > Account Restrictions里把账户设为Restricted状态;
- 要是想模拟借记卡扣款失败,就去账户的Wallet标签页,找到关联的借记卡点击Edit,把卡片状态改成Expired(过期)或者Insufficient Funds(余额不足)。
为啥余额为零还能成功支付?
这是因为沙箱里的测试借记卡默认带虚拟信用额度(一般是1万美元),相当于有虚拟透支额度,所以账户余额空了也能从借记卡扣款。要触发支付失败,就得主动给账户或卡片设置负面状态,或者在API请求里指定错误参数才行。
要是你用的是网页版沙箱手动测试,还可以去账户的Payment Methods里调整支付优先级,取消借记卡的默认支付方式,再把账户余额设成负数,这样就能模拟余额不足的失败场景啦。
内容的提问来源于stack exchange,提问作者Saqib Shahzad




