2011-02-23 96 views
0

我沒有一個典型的商店,你知道你在賣什麼。我在旅途中創建自定義產品(需要填寫一對錶單),以便人們可以購買,所以在他們離開之前到PayPal付款網站(我使用貝寶標準與django-paypal沒有問題)我需要將產品存儲在DB,所以如果付款,它會使用發票號碼將其關聯到IPN。django-paypal:在離開之前處理流量到paypal付款

即使沒有按下「立即購買」按鈕,我也可以存儲用戶所做的每種組合,但隨後數據庫將變得太快。我知道我可以讓一個cron進程刪除那些沒有付款的產品。但真誠的,我對PayPal很陌生,IPN不時地失敗,所以我最終可能會收到一個支付的產品,我再也沒有DB了,所以退款是唯一的選擇,這意味着失去了生意。

任何人有任何想法如何解決這個問題?我唯一能想到的就是操縱django-paypal的表單來調用我自己的視圖,存儲產品,然後手動將表單發佈到paypal。

回答

0

我自己也有類似的問題。以下是我所遵循的路徑:

我創建了一個包含貝寶按鈕圖片的頁面,但該圖片僅提供了 最終產品信息到我的網站。此時,我在DB中保存了用戶詢問 的哪些內容,並使用包含PayPal表單的頁面進行回覆,並在加載時自動提交。 ie.sth像

<head> 
<script src="{{ STATIC_URL }}js/jquery.js"></script> 
    <script> 
    $(document).ready(function() { 
    $("#paypalform").submit() 
}); 
    </script> 
</head> 

<form id="paypalform" name="_xclick" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 
    <input type="hidden" name="cmd" value="_xclick"> 
    <input type="hidden" name="business" value="[email protected]"> 
    <input type="hidden" name="amount" value="0.20"> 
    <input type="hidden" name="custom" value="{{translation.id}}"> 
    <input type="hidden" id="quantity" name="quantity" value="{{translation.cnt_words}}"> 
    <input type="hidden" name="item_name" value="Some Name"> 
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

</script> 

看着django_paypal - 似乎form.render(),讓我來代替上述其輸出的所有貝寶形式的東西。唯一的問題可能是我寧願頁面中沒有任何可見的東西(除非「如果此表單不會將您重定向到PayPal,則單擊此處」),這意味着我可能需要修改渲染功能所以它 可選擇允許重寫按鈕顯示....或者可能刪除與文件加載一些js的按鈕..

對不起,缺乏細節,但我還沒有完成代碼/產品)。

讓我知道是否有幫助。

+0

我希望能找到沒有NE的解決方案eding javascript,即使在這些日子裏,我也有大量沒有激活javascript的用戶。 – maraujop 2011-03-17 17:01:38