Ejemplo n.º 1
0
def paypal_record(request):
    transaction = Transaction.objects.get(processor_payment_id=request.REQUEST['paymentId'])
    try:
        payment = get_payment(request.REQUEST['paymentId'])
    except PaymentNotFoundError:
        mark_transaction_expired(transaction)
        return redirect(reverse('event:detail'))

    update_transaction(transaction,
                       request.REQUEST['token'],
                       payment)

    context = get_event_context(transaction.event)
    context['transaction'] = transaction.to_json()

    return render(request, "event/detail.html", context)
Ejemplo n.º 2
0
def paypal_execute(request):
    logger = logging.getLogger(__name__)
    transaction = Transaction.objects.get(processor_payment_id=request.REQUEST['paymentId'])
    payment = get_payment(request.REQUEST['paymentId'])

    if payment.execute({'payer_id': payment.to_dict()['payer']['payer_info']['payer_id']}):
        mark_transaction_successful(transaction)
        logger.critical("Payment execute successfully")

    if transaction.status == 'completed':
        return redirect("{}?paymentId={}".format(reverse('payment:receipt'), request.REQUEST['paymentId']))

    mark_transaction_error(transaction)
    logger.critical(payment.error)  # Error Hash

    context = get_event_context(transaction.event)
    context['transaction'] = transaction.to_json()

    return render(request, "event/detail.html", context)
Ejemplo n.º 3
0
def receipt(request):
    transaction = Transaction.objects.get(processor_payment_id=request.REQUEST['paymentId'])
    context = get_event_context(transaction.event)
    context['transaction'] = transaction.to_json()
    return render(request, "payment/receipt.html", context)