2014-06-12 54 views
0

我正在開發一個具有貝寶交易的應用程序。我正在使用'paypal-sdk-rest'創建與PayPal API的連接,但我遇到了將多個項目傳遞到購物車的問題。Paypal API不良要求通過多個項目

我們來看看這個例子來說明我在說什麼。

這工作:

payment = { 
     :intent => "sale", 
     :payer => {:payment_method => "paypal"}, 
     :transactions => 
     [{ 
      :amount => { 
      :total => '500', 
      :currency => "USD" }, 
      :item_list => { 
      :items => { :name => "pizza", :sku => "pizza", :price => '500', :currency => "USD", :quantity => 1 }, 
      }, 
      :description => "Some description" 
     }], 
     :redirect_urls => { 
     :return_url => "http://localhost:3000/somepath", 
     :cancel_url => "http://localhost:3000/otherpath" 
     } 
    } 

    @payment = Payment.new(payment) 
    @payment.create 

但這並不(加入一個項目的項目列表):

payment = { 
     :intent => "sale", 
     :payer => {:payment_method => "paypal"}, 
     :transactions => 
     [{ 
      :amount => { 
      :total => '500', 
      :currency => "USD" }, 
      :item_list => { 
      :items => [{ :name => "pizza", :sku => "pizza", :price => '500', :currency => "USD", :quantity => 1 },{ :name => "pizza2", :sku => "pizza2", :price => '1000', :currency => "USD", :quantity => 1 }], 
      }, 
      :description => "Some description" 
     }], 
     :redirect_urls => { 
     :return_url => "http://localhost:3000/somepath", 
     :cancel_url => "http://localhost:3000/otherpath" 
     } 
    } 

    @payment = Payment.new(payment) 
    @payment.create 

的事情是我想類似於第二個東西,我想要添加許多項目到交易中,實際上,我的購物車中的每個項目。我的問題清楚了嗎?

任何幫助將非常感激,因爲我一直試圖解決這個像一整天,並嘗試了一切,但沒有運氣。

+0

您是否收到特定錯誤? 「不起作用」不會幫助我們排除故障。 –

+0

正如我在問題標題中所說的,在發佈到PayPal付款時,我收到了一個「不良請求(狀態400)」,只是將其他項目添加到購買。我想因爲json不是格式良好的。我在做什麼錯了?如果我在做什麼是錯誤的,如何使用paypal api購買兩件商品可能是一個類似的問題? – FabKremer

回答

0

我終於找到了解決方案!事情是,總額從總額必須與所添加項目的總價格一致。所以在那個例子中,錯誤是:total必須是'1500'而不是'500',因爲兩個項目價格的總數是1500