0
我收到PayPal的IPN的陣列形式是這樣的:PHP和PayPal IPN陣列
$ipn = array(
'mc_gross' => '15.50',
'protection_eligibility' => 'Eligible',
'address_status' => 'confirmed',
'item_number1' => '1',
'tax' => '0.00',
'item_number2' => '2',
'payer_id' => 'XXXXXXXXXXXXX',
'address_street' => '1 Main St',
'payment_date' => '02:41:18 Nov 23, 2011 PST',
'payment_status' => 'Completed',
'charset' => 'windows-1252',
'address_zip' => '95131',
'mc_shipping' => '0.00',
'mc_handling' => '0.00',
'first_name' => 'Test',
'mc_fee' => '0.75',
'address_country_code' => 'US',
'address_name' => 'Test User',
'custom' => '',
'payer_status' => 'verified',
'business' => '[email protected]',
'address_country' => 'United States',
'num_cart_items' => '2',
'mc_handling1' => '0.00',
'mc_handling2' => '0.00',
'address_city' => 'San Jose',
'payer_email' => '[email protected]',
'mc_shipping1' => '0.00',
'mc_shipping2' => '0.00',
'txn_id' => '8RE82733S8684874F',
'payment_type' => 'instant',
'last_name' => 'User',
'address_state' => 'CA',
'item_name1' => 'trilogy2',
'receiver_email' => '[email protected]',
'item_name2' => 'trilogy1',
'payment_fee' => '0.75',
'quantity1' => '1',
'quantity2' => '1',
'receiver_id' => 'XXXXXXXXXXXXX',
'txn_type' => 'cart',
'mc_gross_1' => '5.55',
'mc_currency' => 'USD',
'mc_gross_2' => '9.95',
'residence_country' => 'US',
'transaction_subject' => 'Shopping Carttrilogy2trilogy1',
'payment_gross' => '15.50',
'' => ''
);
在這種情況下,客戶已訂購僅2項:和'item_name2'
顯然,客戶可以訂購X產品數量和PayPal將在通知數據中包含'item_nameX'
。有沒有辦法去通過陣列,並提取所有的名字,並將它們分配給變量,所以我會碰到這樣的:
$ordered_item1 = $ipn['item_name1'];
$ordered_item2 = $ipn['item_name2'];
...
$ordered_itemXYZ = $ipn['item_nameXYZ'];
感謝您的幫助。
是否有您可以創建在你身邊一個籃子的方式,通過在對貝寶的引用,涉及到這個用戶籃(SESSION_ID也許),做你的額外的邏輯(也許將其標記爲有效訂單,發送電子郵件等)一旦貝寶已確認或拒絕? – PHPology
不,因爲我爲shopcart使用了不同的服務器,而不同的服務器用於結帳(解釋起來很複雜,並且與此問題無關) – Peter