Coinbase 支付 iframe 切换 api 个版本

Coinbase payment iframe switching api versions

我正在设置我的网站以使用 Coinbase iframe 接受付款。

我正在使用沙箱进行测试。

有时,当我付款时,对我服务器的回调采用以下形式:

{
  "order": {
    "id": "YDWALXJW",
    "uuid": "2a6de442-be7b-5517-9b49-f00908460115",
    "resource_path": "/v2/orders/2a6de442-be7b-5517-9b49-f00908460115",
    "metadata": null,
    "created_at": "2015-12-06T16:58:02-08:00",
    "status": "completed",
    ...

其他时候看起来像这样:

{
  "id": "f08d1f11-27f9-5be2-87fd-e086d1b67cab",
  "type": "wallet:orders:paid",
  "data": {
    "resource": {
      "id": "309a20df-a8e6-532d-9a2b-3ce5ea754d6d",
      "code": "52N6TG58",
      "type": "order",
      ...

我意识到这可能只是 api v1 vs v2,但我不明白为什么它似乎随机来回切换。关于如何让它只使用 v2 的任何想法?

谢谢。

很可能您输入了与通知 (v2) 和回调 (v1) URL 相同的 URL。

这很容易做到,因为 UI 中有 3 个不同的位置,您可以在其中提供 callback/notifications URL 中的一个或两个。

  1. Merchant Settings Page
  2. Your API Key's Edit form
  3. The Merchant Tools Generator

对于您输入此 URL 的每个位置,您都会收到一条 POST 消息。 (我在测试中获得了 5 个独特的 POST!)

包含 URL 的正确位置取决于您的情况:

  • 如果您只想merchant notifications(已付款订单、误付订单和付款),请将其放入商户设置页面。
  • 如果您要构建的应用程序的功能超出了商家工具的范围,并且想要更广泛的 wallet notifications 集,请将其放入您的 API Key 的编辑表单中。

对于商户,我通常不建议为通过选项 3 生成的按钮输入 URL。根据您的问题标题,我猜这就是您的情况。

您以后将无法查看或编辑此设置。如果您是 re-using 之前生成的静态按钮,并且认为您已经在其中包含了一个您想删除的 URL,则需要通过生成一个新的。

希望对您有所帮助!