Example #1
0
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()
Example #2
0
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()
Example #3
0
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()
Example #4
0
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()