def ipn(request): """Instant Payment Notification handler.""" log.debug("IPN Received: \n%s" % pprint.pformat(dict(request.POST), indent=10)) handler = AmazonIPN() cart = _find_cart(request.POST) if not handler.verify_signature(request.POST.urlencode(), "POST", handler.settings["IPN_URL"], cart): log.error("Validation of Amazon request failed!") return HttpResponse("Validation of Amazon request failed!") cart = _find_cart(request.POST) if not cart: log.error("Unable to find HiiCart.") return HttpResponse() if request.POST["notificationType"] == "TransactionStatus": handler.accept_payment(cart, request.POST) elif request.POST["notificationType"] == "TokenCancellation": handler.end_recurring(cart, request.POST.get("tokenId", None)) return HttpResponse()
def ipn(request): """Instant Payment Notification handler.""" log.debug("IPN Received: \n%s" % pprint.pformat(dict(request.POST), indent=10)) cart = _find_cart(request.POST) if not cart: raise GatewayError('amazon gateway: Unknown transaction') handler = AmazonIPN(cart) handler._update_with_cart_settings(cart_settings_kwargs={'request': request}) if not handler.verify_signature(request.POST.urlencode(), "POST", handler.settings["IPN_URL"]): log.error("Validation of Amazon request failed!") return HttpResponseBadRequest("Validation of Amazon request failed!") if not cart: log.error("Unable to find cart.") return HttpResponseBadRequest() if request.POST["notificationType"] == "TransactionStatus": handler.accept_payment(request.POST) elif request.POST["notificationType"] == "TokenCancellation": handler.end_recurring(request.POST.get("tokenId", None)) return HttpResponse()
def ipn(request): """Instant Payment Notification handler.""" log.debug("IPN Received: \n%s" % pprint.pformat(dict(request.POST), indent=10)) cart = _find_cart(request.POST) if not cart: log.error('amazon gateway: Unknown transaction') return HttpResponse() handler = AmazonIPN(cart) handler._update_with_cart_settings( cart_settings_kwargs={'request': request}) if not handler.verify_signature(request.POST.urlencode(), "POST", handler.settings["IPN_URL"]): log.error("Validation of Amazon request failed!") return HttpResponseBadRequest("Validation of Amazon request failed!") if not cart: log.error("Unable to find cart.") return HttpResponseBadRequest() if request.POST["notificationType"] == "TransactionStatus": handler.accept_payment(request.POST) elif request.POST["notificationType"] == "TokenCancellation": handler.end_recurring(request.POST.get("tokenId", None)) return HttpResponse()
def ipn(request): """Instant Payment Notification handler.""" if request.method != "POST": logger.error("IPN Request not POSTed") return HttpResponseBadRequest("Requests must be POSTed") logger.debug("IPN Received:\n%s" % format_data(request.POST)) cart = _find_cart(request.POST) if not cart: logger.error("amazon gateway: Unknown transaction") return HttpResponse() handler = AmazonIPN(cart) handler._update_with_cart_settings(cart_settings_kwargs={"request": request}) if not handler.verify_signature(request.POST.urlencode(), "POST", handler.settings["IPN_URL"]): logger.error("Validation of Amazon request failed!") return HttpResponseBadRequest("Validation of Amazon request failed!") if not cart: logger.error("Unable to find cart.") return HttpResponseBadRequest() if request.POST["notificationType"] == "TransactionStatus": handler.accept_payment(request.POST) elif request.POST["notificationType"] == "TokenCancellation": handler.end_recurring(request.POST.get("tokenId", None)) return HttpResponse()