You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从旧PayPal静态按钮迁移至JS SDK按钮后的IPN字段匹配问题

字段映射结论

你在PayPal JS SDK createOrder 方法的 purchase_units 中配置的 description 字段,会直接映射到IPN上报的原有item_name字段,不会作为新增字段上报,你原有校验item_name的逻辑无需调整即可正常运行。

如果你需要兼容原有item_number字段的校验逻辑,有两种实现方案:

  • 方案1:在purchase_units配置中补充custom_id参数,该参数会映射到IPN上报的custom字段,修改原有IPN校验规则,将item_number的校验逻辑改为校验custom字段即可
  • 方案2:通过声明商品明细的方式严格对应原有字段,参考代码如下:
createOrder: function(data, actions) {
  return actions.order.create({
    purchase_units: [{
      "description": "Site Donation", // 对应IPN item_name
      "amount":{
        "currency_code":"USD",
        "value":1.99,
        "breakdown": {
          "item_total": {
            "currency_code": "USD",
            "value": 1.99
          }
        }
      },
      "items": [
        {
          "name": "Site Donation",
          "sku": "Donation", // 对应IPN item_number字段,和原有静态表单的item_number完全一致
          "unit_amount": {
            "currency_code": "USD",
            "value": 1.99
          },
          "quantity": "1"
        }
      ]
    }]
  });
}

补充说明

如果你的场景只有单类捐赠商品,不需要拆分明细,仅用description字段就可以满足item_name的校验需求,无需额外修改IPN逻辑。IPN的字段映射规则不会因为使用静态表单还是智能按钮发生变化,只要参数传对,原有校验逻辑都可以正常复用。

内容的提问来源于stack exchange,提问作者Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:48:03