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 Payment REST API 和信用卡支付
使用 Paypal Rest API 的直接卡支付时如何安全地获取客户的信用卡
PayPal 401 未经授权在实时制作中使用 .NET REST API for Express checkout API 进行信用卡支付