2013-10-07 45 views
1

我想在PHP中使用json格式的數組發送項目信息到PayPal,但我一直未能找到任何資源來弄清楚如何做到這一點。如何將商品信息發送到paypal?

這是我目前的JSON數組傳遞PHP中的捲曲到PayPal:

$dataArray = array(
    "intent" => "sale", 
    "redirect_urls" => array(
      "return_url" => $url_success, 
      "cancel_url" => $url_cancel 
     ), 
    "payer" => array(
      "payment_method" => "paypal" 
     ) 
); 

$dataArray['transactions'][0] = array(
    'amount' => array(
     'total' => round($sale->GetTotal(), 2, PHP_ROUND_HALF_UP), 
     'currency' => $sale->GetCurrency(), 
     'details' => array(
      'subtotal' => round($sale->GetSubTotal(), 2, PHP_ROUND_HALF_UP), 
      'tax' => round($sale->GetTax(), 2, PHP_ROUND_HALF_UP) 
     ) 
    ), 
    'description' => "Test Payment" 
); 

以上是目前工作,但訂單彙總是在PayPal空白。我發現下面的代碼添加個別項目的信息。

// prepare individual items 
$dataArray['transactions'][0]['item_list']['items'][] = array(
    'quantity' => '1', 
    'name' => 'Womens Large', 
    'price' => '0.01', 
    'currency' => 'USD', 
    'sku' => '31Wf' 
); 

$dataArray['transactions'][0]['item_list']['items'][] = array(
    'quantity' => '1', 
    'name' => 'Womens Medium', 
    'price' => '0.01', 
    'currency' => 'USD', 
    'sku' => '31WfW' 
); 

此代碼無效。這應該是爲發佈它的人工作。我不知道爲什麼這兩個項目似乎是將相同的項目添加到數組中的相同位置,但這基本上是從該網站複製和粘貼,只更改了數組名稱,所以我確信這就是他們了。我一直在試圖找到我找到的網站,但我不記得我是如何到達那裏的。我發現這個網站沒有指定數組的哪些部分是必需的。我確信$ dataArray ['transactions']是必需的,但我不知道其餘的標識符:([0] ['item_list'] ['items'] [])。有人能給我一個如何發送這個信息多個項目的例子嗎?謝謝!

+0

你有沒有考慮過通過HTML表單使用$ _POST?這是一個非常簡單的過程,並且存在大量資源 – Fahad

+0

我已經看到其他人使用該方法,但是我已經使用此方法完成了其他任何操作,並且希望保持一切。雖然謝謝! :) – Jason247

回答

0

好吧,顯然我有這個正確的畢竟。事實證明,我的問題是,每個項目的價格字段沒有加起來到整個交易的小計。我在那裏有隨機值來測試它。顯然它需要匹配的值。

相關問題