Introducción a Django Merchant con Authorizet.net

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo Romero

Software Engineer
2 min read.

Django Merchant es una aplicación que permite realizar transacciones electrónicas utilizando las diferentes pasarelas de pagos online mas sobresalientes del mercado, como lo son Authorize.net y Paypal. Lo mas interesante de esta aplicación es que se puede acceder a las funcionalidades de las diversas pasarelas de pagos online desde una sola API, esto es así gracias a la arquitectura de la aplicación (basada en Gateways), permitiendo que cualquier otro desarrollador Python extienda las funcionales de esta excelente herramienta de manera cómoda y estructurada.




[caption id="attachment_2761" align="aligncenter" width="300"]

Django + Authorize.net[/caption]


En esta entrada de Blog el objetivo es aprender a:




  1. Instalar y configurar Django Merchant.

  2. Cargar el Gateway de Authorize.net y validar una tarjeta de crédito (modo Test).

  3. Aprobar una compra usando el método Auth Only (modo Test).


1. Instalar y configurar Django Merchant.

Recomiendo instalar la versión de desarrollo de esta aplicación (con el objetivo de acceder a las ultimas actualizaciones y funcionalidades), esta aplicación  se encuentra alojada en Github.


Con el siguiente comando se instala la versión de desarrollo:



Una vez instalada necesitaremos configurar los siguientes valores en nuestro fichero settings.py.


[gist id=47dd0f527261c222bfe6 ]


No olviden ejecutar el comando ./manage.py syncdb para activar la aplicación en el proyecto y ./manage.py migrate para aplicar las migraciones de la base de datos (es necesario tener instalado y configurado south).


Además es necesario poner las siguientes constantes:


[gist id=cfe718955bd30c0a4d9a ]


Los valores de LOGIN_IDTRANSACTION_KEY, deberán ser obtenidos desde una cuenta de Authorize.Net developer test.


2. Cargar el Gateway de Authorize.net y validar una tarjeta de crédito (modo Test).

Supongamos que se validará una tarjeta de crédito dentro de una View, el código se vería de la siguiente manera:


[gist id=cdc3e34b28a5d9ae7025 ]


La variable response contiene un diccionario con dos llaves: 'status' y 'response', status toma dos valores "SUCESS" o "FAILED" y response devuelve un objeto con diferente atributos y métodos.


Tenga en cuenta que cada Gateway soporta diferentes tarjetas de crédito, por tal motivo si se ingresa una tarjeta de crédito no soportada se lanzara una excepción, la cual es necesario capturar y tratar como se crea conveniente.


3. Aprobar una compra usando el método Auth Only (modo Test).

[gist id=af1c1cc96fbf2c60ea64 ]


El código anterior realiza la carga del monto de la compra (100 dolares) a la tarjeta de crédito de ejemplo. Si todo sale bien se enviará un correo indicándoles el estado de la transacción.


Eso es todo, espero que les haya sido de utilidad esta información y empiecen a sacarle todo el provecho a esta excelente herramienta Open Source.


Si quieren ampliar la información sobre Django Merchant pueden visitar su sitio de documentación.


Nos vemos en una próxima EntryAxiacore :D.


Written by Juan Pablo Romero

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo designs and builds robust software solutions with a focus on performance and usability. His problem-solving skills and attention to detail ensure high-quality and efficient applications.

Newsletter

Subscribe to our newsletter:

Read more

Multiples Backgrounds con CSS3

Con CSS2 solo podíamos tener una imagen por cada elemento, pero ahora con CSS3 podemos tener tantas imágenes como queramos......

1 min read.

Django Mobility

Django mobility es la forma rápida y sencilla de crear vistas que permiten redirigir a los usuarios a la versión móvil de nue...

1 min read.

Selenium con python, notas básicas

A continuación algunas características que selenium nos brinda.Para probar selenium con python se instala selenium vía pip co...

1 min read.

Build Once. Own Forever.