1

Paypalのドキュメントには次のように書かれています:

PayPal は、メッセージが PayPal から発信された場合は VERIFIED、最初に送信されたものと矛盾がある場合は INVALID という 1 つの単語を返信します。

ただし、Paypal から次の IPN 通知を受け取ります (注: テストにはサンドボックスを使用しています)。

HTTP/1.1 200 OK
.... [removed headers for brevity]
Content-Type: text/html; charset=UTF-8

8
VERIFIED
0

VERIFIED の前後の 8 と 0 は何ですか? 私の推測では 8 は VERIFIED 単語の長さですが、それは単なる推測です。

更新PayPal_Robert が正しく指摘したように、これは HTTP チャンク転送エンコーディングが原因です。ウィキペディアのページから:

各チャンクのサイズは、チャンク自体の直前に送信されるため、受信者はそのチャンクのデータの受信がいつ終了したかを知ることができます。データ転送は、長さゼロの最終チャンクで終了します。

4

1 に答える 1

2

これは、チャンクされた HTTP データと、これを応答に含む通常のfsockopen()統合によるものです。

trim()これをトリムして INVALID/VERIFIED を具体的に調べるか、cURL に切り替えることfsockopen()ができます (PHP を使用している場合)。

個人的には、fsockopen() ではなく cURL のような適切な HTTP ライブラリを使用することをお勧めします。これにより、現在および将来の柔軟性が向上します。

于 2013-08-15T12:32:01.037 に答える