2

他の誰かがこれを見たことがありますか、またはこの動作を見たことを確認できますか?

PayPal の新しい REST API を使用しています。クレジット カードの一部の CVV 番号が 0 (ゼロ) で始まるのは事実です。それでも、CVV 番号がゼロで始まる要求を PayPal REST API に送信すると失敗します。これは、「funding_instrument」オブジェクト内の「cvv2」値が数値であることが想定されており、ゼロから始まる数値は無効な JSON であるためです。とにかくリクエストを実行しようとすると、応答として「INTERNAL_SERVICE_ERROR」エラーが発生します。

これを修正するために、CVV 番号を引用符で囲んで文字列として扱い、リクエストを再送信しました。今回は、CVV 番号は数値でなければならないという「VALIDATION_ERROR」応答が返されました。そのため、JSON の数値の先頭のゼロをエスケープする方法がない限り、CVV の最初の桁がゼロである PayPal REST API 経由でカードを受け入れる方法はありません。

何か助けはありますか?

4

2 に答える 2

0

10 進数表現が「0」で始まる唯一の整数はゼロであり、JSON では完全に合法です。あなたが説明する問題は不可能です。JSON 仕様で要求されているため、CVV2 コードを任意の表現から正規の 10 進数に変換する必要があります。

実際にユーザーからCVV番号を取得したことはありません(またはソースが何であれ)。表現を直接 JSONに変換しようとしました。表現を直接変換すると問題が発生します。代わりに、数値を介して変換してください。

クレジットカードの「012」は12を表します。JSON で表される 12 という数字は「12」でした。数値をある表現から別の表現に変換しようとする場合、ほとんどの場合、最初に数値に変換するのが最善です。

「012」は、JSON 仕様によると、任意の数値の正当な表現ではありません。それを送信しようとすると、その仕様に違反し、実際に CVV番号を取得したことがなく、代わりにその表現を、表された番号であるかのように使用しようとしたことを示します。これはレシピを食べるようなものであり、あなたと PayPal API を消化不良にする可能性があります。

更新: どうやら、バグは PayPal API にあるようです。CVV コードは数字ではありません。「CVV番号」というものはありません。PayPal API では、存在しないものを指定する必要があり、CVV コードに対応する番号がない場合は失敗します。

于 2013-04-10T00:15:15.727 に答える