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.6.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file django-pxpay-0.2.6.tar.gz.

File metadata

  • Download URL: django-pxpay-0.2.6.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for django-pxpay-0.2.6.tar.gz
Algorithm Hash digest
SHA256 b0760bca5eda80c014751a7ea6904311e5dd9adc80b1fc876dc862a88c1d9d79
MD5 e677ed2ba12a469b10e2dcbe2f936e19
BLAKE2b-256 6c3b3979fc0eab90c9f71e7485855be542bf5b24ea59c658281a52a911748c7f

See more details on using hashes here.

Supported by

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