2012-09-21 53 views
0

我正在開發一個零售網站,該網站擁有使用鏈接付款的嵌入式PayPal系統(以便每次銷售的佣金都發給第三方)。具有自適應付款的PayPal IPN - 如何發送item_number值?

我想在訂購時更新我的​​數據庫。我想要一個用戶購買一個物品,並減少數據庫中列出的股票。爲此,我需要項目編號(我使用的自定義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]"; 

在此先感謝您的幫助!

回答

0

您可以在IPN網址的查詢字符串處設置這些值。

當你定義你的IPN URL像一個形式:

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));