PayPal-Mock-响应不起作用(nodejs,贝宝阴性测试)

lmvvr0a8  于 2023-01-01  发布在  Node.js
关注(0)|答案(1)|浏览(143)

我正在编写代码,以涵盖卡被拒绝等负面场景。根据文档,对订单执行此操作的唯一方法是使用标头PayPal-Mock-Response https://developer.paypal.com/tools/sandbox/negative-testing/request-headers/
然而,它对我不起作用,我得到了403错误与空响应每次我试图添加“PayPal-Mock-Response”头与任何错误,不能让它在所有的工作
示例,请求:

POST https://api-m.sandbox.paypal.com/v2/checkout/orders
params:
{
    "method": "post",
    "headers": {
        "Content-Type": "application/json",
        "Authorization": "Bearer A21[reducted]",
        "PayPal-Mock-Response": "{\"mock_application_codes\":\"DUPLICATE_INVOICE_ID\"}"
    },
    "body": "{\"intent\":\"CAPTURE\",\"purchase_units\":[{\"custom_id\":89534,\"description\":\"my item name\",\"reference_id\":648,\"amount\":{\"currency_code\":\"USD\",\"value\":\"5.01\"}}]}"
}

回复:

{
  "statusCode": 403,
  "responseText": ""
}

我正在使用nodejs,node-fetch包,auth令牌是正确的,因为我有积极的场景工作,403错误是只有当我添加“PayPal-Mock-Response”头抛出.
我做错了什么,或者有没有其他方法在沙盒上进行失败的付款?

xu3bshqb

xu3bshqb1#

DUPLICATE_INVOICE_ID不是模拟/v2/checkout/orders创建API调用的有效错误...
开机自检至https://api-m.sandbox.paypal.com/v2/checkout/orders
但是,对于v2 orderscaptureAPI调用,这是一个有效错误:
开机自检到https://api.sandbox.paypal.com/v2/checkout/orders/:id/capture
这个例子实际上是在你参考的文档中给出的。
--概念上:我知道在捕获时将检查发票ID。您可以创建任意数量的订单(用于尝试结帐),如您所需,对于给定的发票ID,在为同一ID重试审批时不存在重复问题。重复发票错误是在尝试捕获(创建交易)ID,该ID已经导致为该帐户创建成功交易。要点是防止重复支付,不阻止尚未导致创建付款的重复结帐尝试。

相关问题