Database paypal立即支付并返回变量

Database paypal立即支付并返回变量,database,paypal-ipn,Database,Paypal Ipn,我正在为我的网站制作一个paypal“立即付款”按钮,以添加可以使用的积分 我理解buy now和ipn的全部内容,但我想做的是,当用户完成支付时,ipn应该有一种方法获取用户名,以便我可以将积分添加到数据库中 有没有一种方法可以将用户名与事务一起发送,以便将其返回?谢谢。在按钮参数中,将通知url变量设置为最多255个字符的url PayPal将通过HTTP向该URL发布IPN详细信息(payment\u status,payment\u date,等等) 创建按钮时,将参数添加到此URL,例

我正在为我的网站制作一个paypal“立即付款”按钮,以添加可以使用的积分

我理解buy now和ipn的全部内容,但我想做的是,当用户完成支付时,ipn应该有一种方法获取用户名,以便我可以将积分添加到数据库中


有没有一种方法可以将用户名与事务一起发送,以便将其返回?谢谢。

在按钮参数中,将
通知url
变量设置为最多255个字符的url

PayPal将通过HTTP向该URL发布IPN详细信息(
payment\u status
payment\u date
,等等)

创建按钮时,将参数添加到此URL,例如 .
当PayPal发布IPN HTTP帖子时,您将获得所需的用户名。

请不要依赖通知url。

您可以向paypal发送字典对象中的“自定义”参数,如中所列


该“自定义”值将与交易一起保存在paypal的服务器上,并保存在您的IPN对象中。这比没有客户的付款更为有效。< / P>如果你是使用贝宝,请考虑阅读我的答案,并使用“定制”参数。我自己,我设置的事务ID,当我第一次创建按钮(与其他交易相关的东西)时,我存储的ID。我的数据太多,无法放入该自定义字段。我建议您使用加密按钮,并将PayPal配置为仅接受加密请求。这有点难做,但值得。你的目标是确保人们不能用较少的金额伪造付款。你还应该在IPN中实现ping-back,以检查PayPal是否识别你刚刚收到的参数。此处有教程:
paypal_dict = {
    "business": "yourpaypalemail@example.com",
    "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
}