Skip to main content

PaymentExpress PxPay Gateway for Django

Project description

PaymentExpress PxPay Gateway for Django

Installation:

pip install django-pxpay or easy_install django-pxpay

Usage:

You’ll need to add a few items in your settings.py: PXPAY_USERID, PXPAY_KEY and, optionally, PXPAY_CURRENCY.

from django.shortcuts import redirect, render_to_response
from django.template.context import RequestContext
from django.http import Http404
from pxpay.gateway import Gateway


def payment(request, amount):
    # Create a transaction.
    txn = Gateway().transaction(
        TxnType='Purchase',
        AmountInput='%.2f' % amount,
        CurrencyInput='AUD',  # Alternatively, can be provided in settings.py
        MerchantReference='Some reference')

    # Send payment request.
    response = Gateway().process_transaction(
        txn,
        UrlFail=request.build_absolute_uri(reverse('process_payment')),
        UrlSuccess=request.build_absolute_uri(reverse('process_payment')))

    # Redirect to PaymentExpress hosted payment page.
    if response.is_valid:
        return redirect(response.get_data['URI'])

    # Show error.
    else:
        return payment_result(request, False, 'Invalid Transaction Request')


def process_payment(request):
    # Proper PaymentExpress request would always have these.
    if 'result' in request.GET and 'userid' in request.GET:

        # Process PaymentExpress response.
        process_response = Gateway().process_response(
            Response=request.GET['result'])

        # Show payment result.
        return payment_result(
            request,
            bool(int(process_response.get_data['Success'])),
            process_response.get_data['ResponseText'])

    # Rise 404 if no required arguments were passed.
    raise Http404


def payment_result(request, success, msg):
    return render_to_response(
        'payment.html',
        {'success': success, 'msg': msg},
        context_instance=RequestContext(request))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-pxpay-0.2.5.tar.gz (5.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page