在执行期间以0(零)开始的CVV编号失败?

时间:2013-04-10 00:12:21

标签: json paypal

是否有其他人看过这个或者你能否验证看到这种行为?

我正在使用PayPal的新REST API。事实上,信用卡上的一些CVV号码以0(零)开头。然而,向具有零开始的CVV号的PayPal REST API发送请求失败。这是因为“funding_instrument”对象中的“cvv2”值应该是一个数字,以零开头的数字是无效的JSON。当我尝试执行我的请求时,我的回复出现“INTERNAL_SERVICE_ERROR”错误。

为了纠正这个问题,我将CVV号码包装在引号中,将其作为字符串处理,然后重新提交我的请求。这次我收到一个“VALIDATION_ERROR”回复,告诉我CVV号必须是数字。因此,除非有某种方法可以逃避JSON中数字的前导零,否则无法通过PayPal REST API接受卡片,其中CVV包含零作为其第一个数字。

任何帮助?

2 个答案:

答案 0 :(得分:1)

这是我们的新REST API中的一个错误 - 其中cvv2字段被定义为整数而不是字符串,以容纳以零开头的值(例如,011,001)。我们正在修复 - 一旦修复完成,将更新此线程。

答案 1 :(得分:0)

十进制表示以“0”开头的唯一整数为零,这在JSON中是完全合法的。你描述的问题是不可能的。您必须将CVV2代码从您拥有的任何表示转换为规范的十进制数,因为这是JSON规范所要求的。

您实际上从未从用户(或任何来源)获得CVV 。您尝试将表示直接转换为JSON。直接转换表示会让您陷入麻烦 - 而不是通过数字转换。

信用卡上的“012”代表十二号。数字12以JSON表示为“12”。在尝试将数字从一个表示转换为另一个表示时,最好先将其转换为数字。

“012”不是根据JSON规范的任何数字的合法表示。尝试发送它违反了该规范,并表示您从未真正获得CVV ,而是尝试使用其表示,就好像它是代表的数字一样。这就像吃食谱一样,可能会给你和PayPal API消化不良。

更新:显然,该错误发生在PayPal API中。 CVV代码不是数字。没有“CVV号码”这样的东西。 PayPal API要求您提供不存在的内容,并且当没有与CVV代码对应的数字时失败。

相关问题