0

連鎖支払いを使用する組み込みの PayPal システムを備えた小売サイトを開発しています (すべての販売の手数料が第三者に支払われるようにするため)。

注文時にデータベースを更新したい。ユーザーにアイテムを購入してもらい、データベースにリストされている在庫を減らしたい。このためには、アイテム番号 (私が使用しているカスタムの 6 桁の番号) が必要です。

IPN メッセージが届くと、次の変数が呼び出されます。

item_number1 item_number2 item_number3 など、すべてのアイテムについて。

ただし、すべての値は空です。商品番号を PayPal に送信して、IPN メッセージで返送するにはどうすればよいですか?

SetPaymentOptions を介して PayPal にアイテムを送信するための私のリクエストは、次のように機能します。

$nvpstr .= "&receiverOptions[0].invoiceData.item[$key].name=$product[Name]";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].price=$productTotalPrice";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].itemCount=$quantity";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].itemPrice=$product[Price]";
            $nvpstr .= "&receiverOptions[0].invoiceData.item[$key].identifier=$product[ID]";

助けてくれてありがとう!

4

1 に答える 1

0

これらの値は、IPNURLのクエリ文字列で設定できます。

ipnURLを次のような形式で定義する場合。

http://mydomain.com/notify.php

変数を添付します

http://mydomain.com/notify.php?customvar1=customval1&customvar2=customval2... 

これらの変数を配列に追加してシリアル化し、代わりにbase64_encodeを使用することもできます。

例えば

$items = array('customvar1' => 'customval1');
$ipnUrl = "http://mydomain.com/notify.php?params=" . base64_encode(serialize($items ));
于 2012-10-05T07:48:57.037 に答える