Mostrando entradas con la etiqueta PASARELA DE PAGO. Mostrar todas las entradas
Mostrando entradas con la etiqueta PASARELA DE PAGO. Mostrar todas las entradas

sábado, 6 de junio de 2009

Creación de pasarela de pago

Primeramente se pedirá al banco que desea realizar una pasarela de pago para su web, le entregarán generalmente unos ejemplo de uso, manual y un panel de control donde podrá configurarlo a su antojo y ver los pagos recibidos etc...

Una vez obtenido y dependiendo de los datos que necesite recibir se le enviaran a la web de la pasarela de pago.

En mi caso lo realice con Caixa Catalunya, le envie lso datos que me solicitaba la pasarela de pago mediante un formulario oculto.

Realice un fichero donde recibíalos datos necesarios y los metía en un formulario el cual hacia submit directamente sin darle al boton.

Ejemplo sería así:

<script>
window.onload=function(){
document.forms.formul.submit();
}
</script>

<form name="formul" action="https://sis.sermepa.es/sis/realizarPago" method="post" style="margin-left:30px">
<input type="hidden" name="Ds_Merchant_Amount" size="12" value="precio">
<input type="hidden" name="Ds_Merchant_Currency" size="4" value="código de la moneda">
<input type="hidden" name="Ds_Merchant_Order" size="12" value="número de pedido">
<input type="hidden" name="Ds_Merchant_ConsumerLanguage" value="idioma">
<input type="hidden" name="Ds_Merchant_MerchantSignature" value="clave del usuario del banco, codificado">
<input type="hidden" name="Ds_Merchant_Terminal" size="3" value="terminal">
<input type="hidden" name="Ds_Merchant_MerchantCode" size="9" value="código del usuario del banco">
<input type="hidden" name="DS_Merchant_TransactionType" value="valor del tipo de transaccion">
</form>

Una vez realizado esto, tendremos que ir al panel de control y decir si lo deseais la web de vuestro servidor que recibirá los datos del pago para que le salga mensaje al cliente diciendole si lo ha pagado bien o ha tenido algun error y también por si quereis guardar los datos del pago correcto en vuestra base de datos.

Un ejemplo de ello se ve en otra entrada de la pasarela de pago.

Mensajes a mostrar una vez hecho el pago

Una vez realizado el pago en la pasarela de pago si lo desea puede recibidir en su página web elegida por usted los datos del pago, entre ellos en mensaje que leerá el cliente para saber si se a producido correctamente el pago.

Por cada código recibido hay un mensaje y en todas las pasarelas son los mismos, en php será así:

switch ($_GET['Ds_Response']) {

case $_GET['Ds_Response']<100:>

case $_GET['Ds_Response']==101:$escrito="Tarjeta caducada";break;

case $_GET['Ds_Response']==102:$escrito="Tarjeta en excepción transitoria o bajo sospecha de fraude";break;

case $_GET['Ds_Response']==104:$escrito="Operación no permitida para esa tarjeta o terminal";break;

case $_GET['Ds_Response']==116:$escrito="Disponible insuficiente";break;

case $_GET['Ds_Response']==118:$escrito="Tarjeta no registrada o Método de pago no disponible para su tarjeta";break;

case $_GET['Ds_Response']==129:$escrito="Código de seguridad (CVV2/CVC2) incorrecto";break;

case $_GET['Ds_Response']==180:$escrito="Tarjeta no válida o Tarjeta ajena al servicio o Error en la llamada al MPI sin controlar.";break;

case $_GET['Ds_Response']==184:$escrito="Error en la autenticación del titular";break;

case $_GET['Ds_Response']==190:$escrito="Denegación sin especificar Motivo";break;

case $_GET['Ds_Response']==191:$escrito="Fecha de caducidad errónea";break;

case $_GET['Ds_Response']==202:$escrito="Tarjeta en excepción transitoria o bajo sospecha de fraude con retirada de tarjeta";break;

case $_GET['Ds_Response']==912:$escrito="Emisor no disponible";break;

case $_GET['Ds_Response']==9912:$escrito="Emisor no disponible";break;

case $_GET['Ds_Response']==913:$escrito="Pedido repetido";break;

default:$escrito="Transacción denegada: Código del error: $respuesta";break;

}