Cómo integrar el TPV Pasat 4B en tu tienda online con PHP

servired-4b

El TPV de Pasat 4B es junto con el de Sermepa, uno de los TPV más utilizados en la banca española para la realización de pagos por Internet. Lo utilizan entre otros Banco Santander, Open Bank, Banco Popular, Banco de Valencia y Banco Pastor.

Integrar un TPV virtual en una tienda online, por regla general, no es demasiado complicado. El problema surge cuando la documentación aportada es insuficiente o desfasada. En el caso del TPV Pasat 4B se dan ambos, un documento word de 2010 sin referencia de las variables utilizadas ni su forma de uso.

A continuación explicaré qué cosas hay que tener en cuenta para integrar el TPV 4B de forma fácil.
El proceso que sigue este TPV es el siguiente:

1. Envíar el formulario mediante POST al CGI Pasat Internet.
Ejemplo:

captura de pantalla 2012-10-02 a las 16.36.55

Cosas a tener en cuenta:
Inexplicablemente el campo Order y Store deben ser el primero y segundo en orden de aparición en el formulario. De lo contrario no funcionará.

 

2. Pasat Internet solicita a nuestra web el importe y detalle del pedido
A diferencia de otros TPV, al de 4B no se le pasa en el formulario el importe ni la descripción. En vez de eso, solicita por _GET mediante el parámetro «order», que devolvamos el importe y el detalle del pedido. Por lo que tendremos que crear una página PHP en la que, recibiendo la variable ORDER, devolvamos una cadena de pedido. La ruta de esta página habrá que indicarla en el área de gestión del TPV virtual.

Cosas a tener en cuenta:
• El importe ha de estar multiplicado por 100 (para evitar usar decimales)
• Al importe de la compra hay que anteponer «M», más el código del Euro (978)
• La cadena $pedido, se compone del Importe de la compra, y una sucesión de Unidades y Descripciones y precios separadas por ‘\r\n’.

Ejemplo:

captura de pantalla 2012-10-02 a las 16.43.19

3. Pasat Internet devolverá a una única dirección.
Pasat devolverá a la dirección indicada en el área de gestión del TPV con unos parámetros, que  tendrás que filtrar para comprobar si la operación se ha realizado OK o no OK. Una forma de hacerlo es que si la operación se ha hecho correctamente, devuelve una variable llamada pszApprovalCode, en caso contrario devuelve coderror.

En cualquier caso siempre devolverá una variable llamada pszPurchorderNum que incluirá el valor de ORDER mandado al inicio.

 

Espero que os haya servido de ayuda

Deja una respuesta