2010-04-05 46 views
2

我正在嘗試將Django-Paypal集成到一個網站上,一旦客戶付款,我需要發送一個動態網址,用戶可以從該網址下載一些特定信息。integration django-paypal

我正在向所有用戶註冊一個允許他們購買文檔的URL。只有具有經過驗證的電子郵件ID的註冊用戶才能訪問的URL使用django註冊,允許用戶連接到貝寶並進行支付。

如何捕捉到信號,並驗證其用戶已作出哪些產品,他/她所購買的支付,在此基礎上的信息

1)我需要知道兩個信息,該用戶做出的付款,並且他或她做了哪些產品付款?

2)只有當我有這些信息時,纔可以通過電子郵件發送正確的UR:L。

任何幫助表示讚賞。我不太確定django信號如何工作。 payment_was_successful信號返回什麼細節?

我使用IPN

+0

ramdaz,請注意,您可以*選中標記*的答案,以表明它是正確的。這也會提高你的接受率。 – 2011-10-05 16:32:27

回答

3

要捕獲的信號,你定義你的功能,並將其連接到這樣的信號:

from paypal.standard.ipn.signals import payment_was_successful 
def my_payment_was_successful_handler(sender, **kwargs): 
    pass 

payment_was_successful.connect(my_payment_was_successful_handler) 

爲了能夠識別IPN消息爲用戶,我通常會修改PayPal按鈕來傳遞一個名爲custom的字段,並將其設置爲django user.id或您可以查找的某個其他標識符來標識您的用戶。 custom變量將在sender參數中發回,您可以找到該用戶。

要找到該產品,product_name也發送到sender到上面列出的處理程序。您可能會爲您的產品建立一個模型,並且您需要通過此product_name查找它們以便在電子郵件中發送適當的內容。

+0

恩,謝謝。這正是我想要做的。 – ramdaz 2010-04-05 18:42:53