paypal rest api 更新存储的信用卡

Posted

技术标签:

【中文标题】paypal rest api 更新存储的信用卡【英文标题】:paypal rest api update a stored credit card 【发布时间】:2014-01-18 11:34:09 【问题描述】:

使用 PayPal Rest API,有没有办法更新存储的信用卡? PayPal 对此的文档“Vault: Store customer credit cards securely.”仅指定:

存储一张信用卡 删除存储的信用卡 查找存储的信用卡

但是,它没有提及任何关于更新存储卡的内容。

目前,要更新一张卡,我让用户重新输入他们所有的信用卡数据,我从贝宝删除旧卡并存储新卡,返回一个新的 creditcard_id。但如果用户只需要更新他们的卡到期日期或账单地址,我不希望他们再次输入他们的卡号,只需输入安全码和新的到期日期或地址。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

Vault API 支持 PATCH 方法(它由 HATEOAS 链接从 GET 请求返回),但没有关于发送哪种请求对象以使其正常工作的文档。我也在寻找这个,但我们可能必须联系 Paypal 开发人员支持以获取信息,除非有人能找出正确的请求格式。 (我一直在尝试,但一切都拒绝了 401 格式错误的请求。)

【讨论】:

【参考方案2】:

PATCH 请求在 REST API 中不再可用。这意味着更新存储的信用卡不再可用。现在的选项是删除存储的信用卡并重新添加。

【讨论】:

【参考方案3】:

这是我从 PayPal 得到的答案:


感谢您联系商家技术服务。

PATCH 请求在 REST API 中不再可用。这意味着更新存储的信用卡不再可用。现在的选项是删除存储的信用卡并重新添加。

我了解,团队正在努力修改网站上的文档,以便对其进行更新。给您带来的不便,我深表歉意。

【讨论】:

特别是最小可能的请求,这也会失败并出现 MALFORMED_REQUEST 错误: curl --request PATCH -v "api.sandbox.paypal.com/v1/vault/credit-cards/$cardid" -H 'Content-Type: application/json' \ -H "授权: Bearer $ticket" \ -d ' "op":"replace","path":"/first_name","value":"Bandit" ' 我已向 PayPal 提交支持请求。 这是我从 PayPal 得到的答复:感谢您联系商家技术服务部。 PATCH 请求在 REST API 中不再可用。这意味着更新存储的信用卡不再可用。现在的选项是删除存储的信用卡并重新添加。我了解,该团队正在努力修改网站上的文档,以便对其进行更新。对此造成的不便,我深表歉意。所以看来pp_louis是对的,PATCH方法不再支持,唯一的方法就是删除重新创建卡。

以上是关于paypal rest api 更新存储的信用卡的主要内容,如果未能解决你的问题,请参考以下文章

PayPal REST API 付款收款人

Paypal Payment REST API 和信用卡支付

paypal rest api 测试信用卡号码

使用 Paypal Rest API 的直接卡支付时如何安全地获取客户的信用卡

Paypal REST API - 无需收费的信用卡验证

PayPal 401 未经授权在实时制作中使用 .NET REST API for Express checkout API 进行信用卡支付