Cyberpac: TPV de La Caixa para CubeCart
Aun sin tener ni pajolera idea de programación ni de PHP he conseguido modificar un gateway de los que vienen por defecto en el CubeCart para integrarlo con el sistema Cyberpac que usa La Caixa.
En realidad ha resultado muy sencillo. El único problema que he experimentado ha sido el tener que renunciar al formato de número de pedido que usa CubeCart, por contener guiones, y lo he cambiado por el que sugiere el ejemplo… la fecha vamos.
He creado las variables necesarias en el archivo de administración:
$module['desc'] -> descripcion
$module['id'] -> identificador de comercio
$module['key'] -> clave SHA1
$module['term'] -> codigo de terminal
$module['currency'] -> moneda
$module['merchanturl'] -> URL de la tienda
Y en el archivo principal he modificado las variables globales que devuelve CubeCart (lo he dicho bien??) para que la web de transacciones no dé error:
$order = date(‘ymdHis’); //el tema de antes, como número de pedido usaremos la fecha con segundos
$transactionType=’0′; //creo que hay distintos tipos de transacción, pero esta es la que tiene que ser.
$amount=$orderSum['prod_total']*100; // el valor que envía CubeCart como total luego la pasarela de pago lo interpreta como dividido entre 100, por lo que lo multiplicamos.
$message=$amount.$order.$module['id'].$module['currency'].$transactionType.$module['merchanturl'].$module['key'];
$signature = strtoupper(sha1($message)); //esto es la firma de todos los conceptos que enviamos a la pasarela de pago. Se juntan en una sola variable y se codifican con la clave que nos dan mediante SHA1.
En fin, en el formulario que vamos a enviar mediante post tienen que existir los siguientes valores:
<input type=’hidden’ name=’Ds_Merchant_Amount’ value=’”.$amount.”‘ />
<input type=’hidden’ name=’Ds_Merchant_Currency’ value=’”.$module['currency'].”‘ />
<input type=’hidden’ name=’Ds_Merchant_Order’ value=’”.$order.”‘ />
<input type=’hidden’ name=’Ds_Merchant_MerchantCode’ value=’”.$module['id'].”‘ />
<input type=’hidden’ name=’Ds_Merchant_Terminal’ value=’”.$module['term'].”‘ />
<input type=’hidden’ name=’Ds_Merchant_TransactionType’ value=’”.$transactionType.”‘ />
<input type=’hidden’ name=’Ds_Merchant_MerchantURL’ value=’”.$module['merchanturl'].”‘ />
<input type=’hidden’ name=’Ds_Merchant_MerchantSignature’ value=’”.$signature.”‘ />”;
Y como colofón final, nos agenciamos de la última parte del gateway de PayPal para usarlo de forma similar, diferenciando modo de prueba (sandbox) o modo en producción:
if($module['testMode']==1) {
$formAction = “https://sis-t.sermepa.es:25443/sis/realizarPago”;
$formMethod = “post”;
$formTarget = “_self”;
} else {
$formAction = “https://sis.sermepa.es/sis/realizarPago”;
$formMethod = “post”;
$formTarget = “_self”;
}
Si no te apetece copiar y pegar te lo puedes bajar de aquí -> cyberpac
3 Responses to “Cyberpac: TPV de La Caixa para CubeCart”
Leave a Reply










jose manuel on Diciembre 9th, 2008
Hola,
Gracias por tu aportación, pero estoy intentando instalar este modulo de pago en cubecart 3, subo el modulo dentro de gateways, pero despues en el panel de control no aparece.
Hay alguna forma de solucionarlo?
Gracias
admin on Diciembre 9th, 2008
Hola! Existe una diferencia en la manera de almacenar los archivos PHP de los módulos de pago entre CubeCart 3 y 4.
-CubeCart 3 separa el archivo de transferencia del archivo de admin:
/modules/gateway/xxx/transfer.inc.php
/admin/modules/gateway/xxx/index.php
/admin/modules/gaeteway/xxx/logo.gif
-CubeCart 4 lo mete todo dentro de una misma carpeta:
/modules/gateway/xxx/transfer.inc.php
/modules/gateway/xxx/admin/index.inc.php
/modules/gateway/xxx/admin/logo.gif
Prueba a separarlo, aunque según he estado viendo en el código de las variables de la versión 3 hay algunas diferencias frente a la versión 4.
jose manuel on Diciembre 12th, 2008
tienes razón, ahora lo detecta, pero no se puede configurar, da error.
No hay manera de arreglarlo, porque sino no se como lo voy a hacer para cobrar con tpv.