PayPal Rest API - 更新计费计划返回URL

24
我一直在使用PayPal Rest API,成功创建并激活了一个“BillingPlan”,但我在更新该计划的“return_url”方面遇到了麻烦。我认为问题出在我使用的JSON路径上,但不确定原因。
无论如何,我正在调用更新计划方法:https://developer.paypal.com/docs/api/#update-a-plan “BillingPlan”的格式如下:
{
  "id": "P-94458432VR012762KRWBZEUA",
  "state": "ACTIVE",
  "name": "T-Shirt of the Month Club Plan",
  "description": "Template creation.",
  "type": "FIXED",
  ...
  "merchant_preferences": {
    "setup_fee": {
      "currency": "USD",
      "value": "1"
    },
    "max_fail_attempts": "0",
    "return_url": "http://example.com",
    "cancel_url": "http://example.com",
    "auto_bill_amount": "YES",
    "initial_fail_amount_action": "CONTINUE"
  },
  ...
}

我正在使用C# SDK,但我的请求JSON应该看起来非常像:

{
    "path": "merchant_preferences",
    "value": {
        "return_url": "http://example.com/payment/return"
    },
    "op": "replace"
}

我一直收到以下类似的回复:

{"name":"BUSINESS_VALIDATION_ERROR","details":[{"field":"validation_error","issue":"提供了无效路径。"}],"message":"验证错误。","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#BUSINESS_VALIDATION_ERROR","debug_id":"2ae68f9f0aa72"}

总之,我想将计费计划的return_urlhttp://example.com更改为http://example.com/payment/return

我已经尝试将path更改为各种内容,但都没有成功。有人可以帮忙吗??


我不是完全确定你的问题是什么,你能具体一些吗? - Pseudonym
尝试在“path”前加上“/”,即“path”:“/merchant_preferences”。 - dbc
1
另外,显然一旦计划激活就无法进行更新,详情请见 https://github.com/paypal/PayPal-Python-SDK/issues/73 - dbc
4
@dbc尝试了在字符"/"前加上字符,但没有成功。但你提到的计划仍然处于激活状态可能是一个很好的观点。我会在接下来的几天内进行调查。也许我可以停用、更新并重新激活。 - scgough
1个回答

12

一旦计划被设置为“激活”,就无法更新计划。该限制的原因是,因为可能基于该计划达成协议,修改它将影响已经同意的计费协议。

然而,我同意您的问题陈述,更改Return URL不应该是一个问题,因为这不是协议的一部分,而是配置更改。能够在计划启用后更新类似设置将非常好。我会让API团队知道这个建议。

但是,在此期间,您将无法进行更新。另外,您可以创建一个新的计划,并使用该计划代替原来的计划。这可能不是您寻找的答案,但是是一个可行的解决方案。


谢谢Jay。我明白了,感谢您将此传递给API团队。如果可能的话,能够获得更多的灵活性将是很好的。干杯。 - scgough
我同意。API团队必须在交付时间/功能集之间取得平衡,并且必须做出一些不完美/理想的技术决策。像这样的反馈有助于他们评估应该如何相应地设置优先级。谢谢。 - Jay Patel - PayPal
希望在短期内能够实现的是,在这种情况下提供更多描述性错误信息。例如,“验证错误-无法更改活动计费计划”;-)非常感谢您抽出时间确认我们对此的怀疑,Jay。再次感谢。 - scgough
我完全同意。我们正在通过直接传递错误信息或在异常消息中提供指向提供特定信息的页面的链接来添加更多含义。 - Jay Patel - PayPal
@JayPatel-PayPal,请帮忙看一下,需要您的帮助兄弟。 https://stackoverflow.com/questions/34262762/using-api-calling-account-as-receiver-account - Bibek Sharma
看起来仍然无法更新 :( - Dallas Clark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接