1

我正在使用 django-paypal 的 DCramer 分支:https ://github.com/dcramer/django-paypal

我正在使用 IPN 标准

我想做的是从 IPN 获取付款人(客户)地址。我可以从 paypal 文档中看到此信息是通过 IPN 发送的,并且通过查看 django-paypal,数据库中有用于存储此数据的字段。但是,此数据并未存储在 django-paypal 提供的 paypal_ipn 模型中。我还检查了信号中的 ipn_obj 并且该数据的所有字段也都是空白的。

任何人都可以阐明我如何能够获得付款人地址吗?

如果有帮助,我将使用示例中的信号:

    #Paypal signals
    from paypal.standard.ipn.signals import payment_was_successful
    import datetime

    #Signal for paypal confirmation
    def show_me_the_money(sender, **kwargs):
        ipn_obj = sender

        # Undertake some action depending upon `ipn_obj`.

    payment_was_successful.connect(show_me_the_money)

编辑:

下面 scytale 建议的 ipn_obj 转储会为相关字段生成:

    address_city\t(<type 'unicode'>)\t: 
    address_country\t(<type 'unicode'>)\t: 
    address_country_code\t(<type 'unicode'>)\t: 
    address_name\t(<type 'unicode'>)\t: 
    address_state\t(<type 'unicode'>)\t: 
    address_status\t(<type 'unicode'>)\t: 
    address_street\t(<type 'unicode'>)\t: 
    address_zip\t(<type 'unicode'>)\t:

还有很多其他字段,如果您需要这些字段的数据,请告诉我,我将它们粘贴在这里。

4

1 回答 1

0

听起来您一开始就没有获得地址信息。您可以要求贝宝从他们的贝宝帐户发送客户的地址,或者您可以在您的网站上从客户那里获取地址并将数据包含在贝宝按钮 HTML 中 - 贝宝然后在 IPN 数据中将此信息发送回您。有关更多详细信息,请参阅表单基础指南

由于您使用的是 django-paypal(对吗?),您可以将这些数据包含在 paypal 按钮中,只需将字段添加到您传递给的初始值的字典中,PayPalPaymentsForm如 django-paypal文档中所述。

于 2012-10-23T11:38:47.980 回答