我的settings.py
是:
INSTALLED_APPS = (
.......,
'paypal.standard.ipn',
)
PAYPAL_RECEIVER_EMAIL = "coolakashsaikia-facilitator@gmail.com"
PAYPAL_TEST = True
我的views.py
是:
@csrf_exempt
def pricing(request):
paypal_dict_flexible = {
"business": "coolakashsaikia-facilitator@gmail.com",
"amount": "100.00",
"item_name": "Flexible Subscription",
"invoice": "10",
"notify_url": "https://example.com/notify",
"return_url": "http://example.com/signup",
"cancel_return": "",
}
form = PayPalPaymentsForm(initial=paypal_dict_flexible)
context = {"form": form, 'current_page': 'pricing'}
return render_to_response("leavebuddyapp/pricing.html", context)
@csrf_exempt
def notify(request):
return HttpResponse("Notify called")
我的urls.py
是:
urlpatterns = patterns('',
#Paypal
(r'^notify', include('paypal.standard.ipn.urls')),
)
我的模板是:
<div class="test">
{{ form.render }}
<a href="/signup/flexible" class="btn">Buy now</a>
</div>
我的问题是notify
中的函数“views.py
”未被调用。你们能指导我走向正确的方向吗?我没有得到我做错的事。
提前谢谢。
答案 0 :(得分:1)
根据文档,您已在urls.py
中正确添加了以下行(r'^notify', include('paypal.standard.ipn.urls')),
上面的代码片段意味着https://example.com/notify
url直接调用paypal pacakge views ipn funcation,它实际上是为处理ipn响应而设计的。
所以@Shivratna你不需要在你的视图中实现任何其他notify
功能。
在进行paypal交易之前,您能否确保完成以下事项:
like paypal_dict_flexible
python manage.py syncdb
为django-paypal软件包创建表我希望我的建议会告诉你正确的方向;)
答案 1 :(得分:0)
我不知道为什么您认为/notify
网址应该调用您的观点。您的网址配置通过包含paypal网址配置将您的/notify
网址指向paypal.standard.ipn.views.ipn
视图。
如果您想要调用notify
视图,则应将其添加到您的网址配置中:
urlpatterns = patterns('',
...
(r'^notify/$', myapp.views.notify),
)
但是,我非常怀疑您是否想要为paypal ipn回调编写自己的视图。 Django-paypal的默认ipn视图包含信号挂钩,您可以轻松添加自己的自定义逻辑。