无法从PayP接收ipn信号

2024-05-02 03:19:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" id="checkout_form_id">
    <input type="hidden" name="business" value="mygmail@gmail.com" id="id_business"/>
    <input type="hidden" name="amount" value="" id="id_amount"/>
    <input type="hidden" name="item_name" value="Payment for victorywow.com" id="id_item_name"/>
    <input type="hidden" name="notify_url" value="{{ paypal_url }}/paypal/" id="id_notify_url"/>
    <input type="hidden" name="cancel_return" value={{ paypal_url }}?cancel_return= id="id_cancel_return"/>
    <input id="id_return_url" name="return" type="hidden" value="{{ paypal_url }}?success_return="/>
    <input type="hidden" name="invoice" value="" id="id_invoice"/>
    <input type="hidden" name="cmd" value="_xclick" id="id_cmd"/>
    <input type="hidden" name="charset" value="utf-8" id="id_charset"/>
    <input type="hidden" name="currency_code" value="USD" id="id_currency_code"/>
    <input type="hidden" name="no_shipping" value="1" id="id_no_shipping" />
    <input type="button" class="form_button pay_pal_but" value="PAY NOW">
</form>

一些变量,如invoice_idamount等等,我用js加上。
我在views.pyrequest.build_absolute_uri(reverse('index'))index是这样的url '^$'
urls.py

url(r'^paypal/', include('paypal.standard.ipn.urls'))

signals.py

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)

但成功后贝宝交易ipn_geter不执行。我该怎么做才能修好它。为什么我得不到ipn信号?你知道吗

编辑:

我读到我不能将ipn信号发送到localhosturl,所以我将其更改为使用ngrox进行测试。在运行ngrox之后,我发送ipn信号end get 200状态码为paypalurl,但是数据没有改变,在控制台中我没有看到*,所以函数没有执行。我怎样才能解决这个问题?你知道吗


Tags: nameformcomidobjurlinputreturn