我正在做一個paypal支付現在按鈕爲我的網站添加可用的信用。貝寶支付現在和返回的變量
我明白現在整個購買和ipn的事情,但我想要做的是,當用戶完成他的工資時,應該有一種方法讓IPN獲取用戶名,以便我可以將信用添加到數據庫。
有沒有辦法將用戶名與事務一起發送,以便它也被返回?謝謝。
我正在做一個paypal支付現在按鈕爲我的網站添加可用的信用。貝寶支付現在和返回的變量
我明白現在整個購買和ipn的事情,但我想要做的是,當用戶完成他的工資時,應該有一種方法讓IPN獲取用戶名,以便我可以將信用添加到數據庫。
有沒有辦法將用戶名與事務一起發送,以便它也被返回?謝謝。
在按鈕參數中,將notify_url
變量設置爲最大255個字符的URL。
貝寶將HTTP POST發送到此IP與IPN詳細信息(payment_status
,payment_date
等)。
在創建按鈕時,將PARAMS添加到此URL,例如http://yourwebsite.com?username_for_credits=john%20doe 。 當PayPal將進行IPN HTTP POST時,您將收回您想要的用戶名。
如果這是你如何使用貝寶,請考慮閱讀我的答案,並使用「自定義」參數。 – 2012-04-26 21:45:54
對於我自己,我爲我在第一次創建按鈕時存儲的交易設置了一個id(以及其他與交易相關的東西)。我有太多的數據不適合那個自定義字段。 – 2012-04-27 00:08:27
請不要依賴通知網址。
您可以將字典對象中的'custom'參數發送到Paypal IPN Docs中列出的paypal。
paypal_dict = {
"business": "[email protected]",
"amount": "10000000.00",
"item_name": "name of the item",
"invoice": "unique-invoice-id",
"notify_url": "http://www.example.com/your-ipn-location/",
"return_url": "http://www.example.com/your-return-location/",
"cancel_return": "http://www.example.com/your-cancel-location/",
"custom": request.user.username, #or you can use request.user.pk
}
「自定義」值將被保存貝寶與交易,並在您的IPN對象服務器上。與沒有確定客戶的付款相比,這是一個更好的選擇。
我建議您使用加密的按鈕並將PayPal配置爲只接受加密的請求。這有點難,但值得。你的目標是確保人們不能使用較少的金額僞造付款。 – 2012-04-27 00:13:39
您還應該在IPN中執行ping命令以檢查PayPal是否識別您剛收到的參數。這裏的教程:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNImplementation – 2012-04-27 00:15:12