我实现了一个名为 mercadopago 的支付模块(如 paypal),当有人在这种类型的 url 中使用信息进行支付(IPN)时,我需要处理发送到我的网站的 http 请求:
POST /notifications?topic=payment&id=identificador-de-notificacion-de-pago
(mercadopago 每次付款影响时都会向我的网站发送一个 POST 请求)
但我无法使其与 django url 系统匹配。我尝试了以下网址:
url(r'^notifications$', 'views.notifications', name='notifications'),
我尝试了不同的组合并查阅了 apache 日志文件并抛出了错误 500
处理 url 的视图如下:
@csrf_exempt
def IpnProxy(request, **kwargs):
mp = mercadopago.MP("*********", "*********")
paymentInfo = mp.get_payment_info(kwargs["id"])
if paymentInfo["status"] == 200:
return paymentInfo["response"]
else:
return None
我不知道是否必须配置信号或其他东西。
也许我弄错了,但 mercadopago 向我的服务器发出了发布请求,我无法改变它。这是他们的文档 http://developers.mercadopago.com/documentation/instant-payment-notifications?lang=en_US 这是他们在 python 中的示例项目: https ://github.com/mercadopago/sdk-python/blob/ master/examples/instant-payment-notifications/receive-ipn.py