Django paypal ipn标准付款人地址

Django paypal ipn标准付款人地址,django,django-paypal,Django,Django Paypal,我正在使用django paypal的DCramer fork: 我使用的是IPN标准 我想做的是从IPN获取付款人(客户)地址。我可以从paypal文档中看到,此信息是通过IPN发送的,通过django paypal查看,数据库中有一些字段存储此数据。但是,这些数据没有存储在django paypal提供的paypal_ipn模型中。我还检查了信号中的ipn_obj,该数据的所有字段也为空 有人能告诉我怎样才能得到付款人的地址吗 如果有帮助,我将使用示例中的信号: #Paypal si

我正在使用django paypal的DCramer fork:

我使用的是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:
address\u city\t()\t:
地址\u国家/地区\t()\t:
地址\国家\代码\t()\t:
地址\u名称\t()\t:
地址\u状态\t()\t:
地址\u状态\t()\t:
地址\u street\t()\t:
地址\u zip\t()\t:

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

听起来您一开始就没有得到地址信息。您可以要求paypal从其paypal帐户发送客户地址,也可以从您网站上的客户处获取地址,并将数据包含在paypal按钮HTML中-paypal然后将此信息发送回IPN数据中。有关更多详细信息,请参阅


由于您使用的是django paypal(对吗?),只需在传递给
PayPalmPaymentsForm
的初始值目录中添加字段,就可以在paypal按钮中包含此数据,如django paypal中所述。

在ipn\u obj-
中转储已排序(ipn\u obj.\u dict\u.iterkeys()):打印“%s\t(%s)\t:%s\n”(key,type(ipn_obj.\u dict__[key]),ipn_obj.\u dict___[key])
@scytale我已经编辑了这个问题,以包括您提供的代码生成的地址字段的转储,谢谢。好吧,看起来完全错了-首先,从print语句中删除所有出现的“\t”和“\n”(在我从中复制的代码中,我使用
file.write()
而不是
print
so'\t'输出一个选项卡。然后重试。到目前为止,似乎所有的地址字段都是空字符串。我遇到了同样的问题。我无法在数据库中保存任何数据。如果请帮助我,您解决了问题吗?因此我认为我无法检索用户在paypal.com上存储的地址并输入在那里创建他们的帐户时,我查看了paypal/standard/forms.py中的PayPalPaymentsForm,但它似乎不接受付款人地址等的值。我尝试将变量传递给表单,但表单没有抱怨,但我可以在生成的HTML中看到它们未包含在按钮中。是的,您可以使用addPress已经存储了贝宝,但是它不能保证有这个信息,并且有很多用例需要考虑。如果您已经将相关数据传递给表单,但它没有出现在按钮HTML中,那么请显示您用于传递这些值的代码。