Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t接收来自PayPal的ipn信号_Python_Django_Python 3.x_Paypal - Fatal编程技术网

Python Can';t接收来自PayPal的ipn信号

Python Can';t接收来自PayPal的ipn信号,python,django,python-3.x,paypal,Python,Django,Python 3.x,Paypal,我试图在交易后从贝宝接收ipn信号,但由于某些原因,我无法得到它。这是我的表单(我使用简单表单html发送给paypal): signals.py: url(r'^paypal/', include('paypal.standard.ipn.urls')) from paypal.standard.models import ST_PP_COMPLETED from paypal.standard.ipn.signals import valid_ipn_received from .mode

我试图在交易后从贝宝接收ipn信号,但由于某些原因,我无法得到它。这是我的表单(我使用简单表单html发送给paypal):

signals.py

url(r'^paypal/', include('paypal.standard.ipn.urls'))
from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received
from .models import Order

def ipn_geter(sender, **kwargs):
    print(1000 * '*')
    ipn_obj = sender
    print(ipn_obj.receiver_email)
    order = Order.objects.get(id=28)
    order.email = ipn_obj.receiver_email
    order.save()
    if ipn_obj.payment_status == ST_PP_COMPLETED:
        pass

valid_ipn_received.connect(ipn_geter)
但成功后,paypal事务
ipn\u geter
不会执行。我该怎么做才能修好它。为什么我得不到ipn信号

编辑:

我读到我无法将ipn信号发送到
localhost
url,所以我将其更改为使用进行测试。运行ngrox后,我发送ipn信号,为
paypal
url获取200个状态代码,但数据没有更改,在控制台中我没有看到
*
,因此函数没有执行。我怎样才能解决这个问题

from paypal.standard.models import ST_PP_COMPLETED
from paypal.standard.ipn.signals import valid_ipn_received
from .models import Order

def ipn_geter(sender, **kwargs):
    print(1000 * '*')
    ipn_obj = sender
    print(ipn_obj.receiver_email)
    order = Order.objects.get(id=28)
    order.email = ipn_obj.receiver_email
    order.save()
    if ipn_obj.payment_status == ST_PP_COMPLETED:
        pass

valid_ipn_received.connect(ipn_geter)