根据其他api文档,建议在将卡保存到Vault时分配payer_id。
我的问题是,首先没有为creditCard对象填充payer_id属性。
creditCard.number = "4417119669820331";
creditCard.expire_month = "11";
creditCard.expire_year = "2018";
creditCard.first_name = "Joe";
creditCard.last_name = "Shopper";
creditCard.type = "visa";
**creditCard.payer_id = "123456789";**
据我所知,我使用的是VS2012中Nuget更新的最新API。
答案 0 :(得分:0)
以下是PayPal Vault API团队的回复:
payer_id
字段从未删除过。我们打算弃用/不鼓励使用它,因为我们确定这个字段在命名方式上有误导性 - 它被误认为是PayPal的内部标识符,实际上,对于PayPal,它只是一个任意字符串,打算识别外部管理的客户ID。此后,Vault团队添加了一个名为external_customer_id
的字段,可以更好地捕获意图。
external_customer_id
属性(在当前版本的SDK中找到here)是应该使用的。但是,由于Vault REST服务的v1版本将继续支持payer_id
属性,因此.NET SDK将继续为此提供支持(即将推出的v1.1 .NET SDK版本将再次包含它) )。
PayPal文档小组正致力于更新credit card object的公开文档,以包含此信息。
为了将来可能会发现此帖子的其他开发人员参考,我想补充一点,如果您确实发现PayPal .NET SDK中缺少某个属性,那么报告此属性的更好位置是open an issue on SDK代码所在的PayPal .NET SDK GitHub repository。