0

我在 Django 中使用贝宝。这就是场景。用户已登录,他还没有为服务付费。付款后,我必须将他的用户资料更新为“已付款 = True”。然后他将可以访问整个站点。

我正在努力理解这必须如何与贝宝集成。我使付款成功。但是,当贝宝向用户收费时,我的服务器如何知道它将是哪个用户呢?

我认为必须有一个字段供我发送到贝宝,例如用户 ID,然后贝宝在付款时必须将其发送给我,这样我才能看到它是哪个用户?

你如何用贝宝实现这个?

创建按钮

paypal_dict = {
    "cmd": "_xclick-subscriptions",
    "business": settings.PAYPAL_RECEIVER_EMAIL,
    "a3": "5.00",                      # monthly price
    "p3": 1,                           # duration of each unit (depends on unit)
    "t3": "M",                         # duration unit ("M for Month")
    "src": "1",                        # make payments recur
    "sra": "1",                        # reattempt payment on payment error
    "no_note": "1",                    # remove extra notes (optional)
    "item_name": "Test monthly subscription",
    "notify_url": "http://localhost:8000/payment/",
    "return_url": "http://localhost:8000/",
    "cancel_return": "http://localhost:8000/",
    "custom":request.user.get_profile().pk
}

# Create the instance.
ppform = PayPalPaymentsForm(initial=paypal_dict, button_type="subscribe")
4

2 回答 2

2

我认为payer id 应该适合您的需求。

付款人对象

该对象包括有关付款人的信息,包括付款方式、资金工具和有关付款人的详细信息。

您可以保存 id,并将其连接到您的用户,然后您将知道应该向哪个用户收费,并使用此 id 向 PayPal 发出请求

这是更多信息的链接

于 2015-09-13T15:19:32.857 回答
1

您可以"invoice"为每个用户设置一个唯一值。确保该值以某种方式保存并连接到用户。该特定订阅的每个 PayPal IPN 都将包含您通过 paypal 按钮发送的发票 ID。

请参阅定期付款按钮的 HTML 变量

于 2015-09-13T15:20:34.770 回答