我正在用Django 2.0编写一个应用程序
它是一个多成员应用程序。我必须执行PayPal支付方法,并根据收到的付款激活会员资格。
为此,我在PayPal中创建了一个按钮,生成代码如下
upgrade.html
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="<button-id>">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>views.py是
class Pricing(TemplateView):
template_name = 'membership/pricing.html'
class Upgrade(TemplateView):
template_name = 'membership/upgrade.html'
class PaymentSuccess(TemplateView):
template_name = 'membership/payment-success.html'
class PaymentFailed(TemplateView):
template_name = 'membership/payment-failed.html'
def paypal_ipn(request):
# IPN response goes here和urls.py
urlpatterns = [
path('pricing/', Pricing.as_view(), name='pricing'),
path('upgrade/', Upgrade.as_view(), name='upgrade'),
path('payment-success/', PaymentSuccess.as_view(), name='payment-success'),
path('payment-failed/', PaymentFailed.as_view(), name='payment-failed'),
path('paypal-ipn/', paypal_ipn, name='paypal-ipn'),
]一切都很好,因为付款和用户被重定向到payment-success页面。
但是,如何接收付款确认,以便处理成员资格并在数据库中记录交易数据?
我已经从url instant payment notification上的paypal sandbox accoun中的设置中启用了https://example.com/paypal-ipn/
由于一些限制,我不想使用django-paypal插件。
发布于 2018-01-03 03:45:43
您可以创建自己的IPN处理页面以接收PayPal IPN消息。下面是IPN示例代码。
https://stackoverflow.com/questions/48066824
复制相似问题