2012-06-07 53 views
1

我正在與Django的PayPal的ipn.standard,並試圖讓它與貝寶的「_cart」選項工作。但是,我無法讓它工作。貝寶「_cart」實現與Django的PayPal

我使用這本字典來初始化形式:

cart { 
    'amount_1': '0.99', 
    'amount_2': '0.99', 
    'business': '[email protected]', 
    'cancel_return': 'http://www.foo.com/ccled/', 
    'cmd': '_cart', 
    'invoice': '1', 
    'item_name_1': 'Item 1', 
    'item_name_2': 'Item 2', 
    'notify_url': 'http://www.foo.com/ntfy/', 
    'return_url': 'http://www.doo.com/done/' 
} 

form = PayPalPaymentForm(initial=cart) 

我也試圖加入「CMD_CHOICES」:「_車」上述字典,但沒有有所作爲

然而,在使用{{form.render}}我得到立即購買按鈕與下面的html:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="business" value="[email protected]" id="id_business" /> 
    <input type="hidden" name="notify_url" value="'http://www.foo.com/ntfy//" id="id_notify_url" /> 
    <input type="hidden" name="cancel_return" value="http://www.foo.com/ccled/" id="id_cancel_return" /> 
    <input type="hidden" name="return" value="http://www.foo.com/done/" id="id_return_url" /> 
    <input type="hidden" name="invoice" value="1" id="id_invoice" /> 
    <input type="hidden" name="cmd" value="_cart" id="id_cmd" /> 
    <input type="hidden" name="charset" value="utf-8" id="id_charset" /> 
    <input type="hidden" name="currency_code" value="USD" id="id_currency_code" /> 
    <input type="hidden" name="no_shipping" value="1" id="id_no_shipping" /> 
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="Buy it Now" /> 
</form> 

沒有任何購物車項目顯示。

我在看幾條其他線程,如Multiple Items in django-paypal。爲了試用它,我從該示例中剪切了「item」字典,並將其傳遞到我的PayPalPaymentForm。然而,再次,在形式上,我沒有看到出售的物品。

我錯過了什麼?

回答

1

我想我失蹤了。該表格應該用「購物車」選項創建:

form = PayPalPaymentForm(initial=cart, button_type="cart") 
+0

當我添加「button_type ='cart'」我得到一個KeyError說(真,'購物車')。你做了一些額外的東西,或只是添加按鈕類型和CMD值? – SuburbanFilth

+1

@SuburbanFilth錯誤似乎只是爲按鈕生成圖像。我無法在pypi中使用當前版本。你可以在github上下載最新版本,比如「pip install git + https://github.com/spookylukey/django-paypal/#egg=django-paypal --upgrade」。或者,如果您願意,可以手動應用此修補程序:https://github.com/spookylukey/django-paypal/commit/b22611b9d84030c73e11a4571012174846b05812 然後,您不需要設置button_type。 –