我正在使用django-paypal的DCramer fork: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:
还有很多其他字段,如果你需要那些数据让我知道,我会把它们粘贴在这里。
答案 0 :(得分:0)
听起来你首先没有得到地址信息。您可以要求paypal从他们的PayPal帐户发送客户的地址,或者您可以从您的网站上的客户获取地址并将数据包含在paypal按钮HTML中 - paypal然后在IPN数据中将此信息发回给您。有关详细信息,请参阅Forms Basics guide。
由于您正在使用django-paypal(对吗?),您可以将这些数据包含在paypal按钮中,只需将字段添加到传递给PayPalPaymentsForm
的初始值的字典中,如django-paypal { {3}}