Posted in

Pasarela Bancaria Sermepa

Settings


/*--- REALS -----------------------------------------------------------------*/
//$url_tpvv = 'https://sis.sermepa.es/sis/realizarPago';
//$clave = 'XXXXXXXXXXXXXX';
/*--- PROVA -----------------------------------------------------------------*/
$url_tpvv = 'https://sis-t.sermepa.es:25443/sis/realizarPago';
$clave = 'qwertyasdf0123456789';

$precio = '1000';    // 1000 -> 10,00
$name = 'Nom Empresa';
$code = 'XXXXX';
$terminal = '1';
$currency = '978';
$transactionType = '0';
$urlMerchant = 'http://ultracavallsdelvent.com/new/public/scripts/pasarela-respuesta.php';
$url_OK = 'http://ultracavallsdelvent.com/new/inscripciones.php' . $idioma . '&r=ok';
$url_KO = 'http://ultracavallsdelvent.com/new/inscripciones.php' . $idioma . '&r=ko';

Html/php


<div>
<div><?=NOMBRE?>*</div>
<div><input type="text" id="nombre" style="width:270px;" /></div>
</div>
<div>
<div><?=APELLIDOS?>*</div>
<div><input type="text" id="apellidos" style="width:264px;" /></div>
</div>
<div>
<div>NIF (?)*</div>
<div><input type="text" id="nif" style="width:277px;" /></div>
</div>

<form name="pago" id="pago" action="<?=$url_tpvv?>" method="post">
<input type="hidden" name="Ds_Merchant_Amount" id="Ds_Merchant_Amount" value='<?=$precio?>'>
<input type="hidden" name="Ds_Merchant_Currency" id="Ds_Merchant_Currency" value='<?=$currency?>'>
<input type="hidden" name="Ds_Merchant_Order" id="Ds_Merchant_Order" value=''>
<input type="hidden" name="Ds_Merchant_MerchantCode" id="Ds_Merchant_MerchantCode" value='<?=$code?>'>
<input type="hidden" name="Ds_Merchant_Terminal" id="Ds_Merchant_Terminal" value='<?=$terminal?>'>
<input type="hidden" name="Ds_Merchant_TransactionType" id="Ds_Merchant_TransactionType" value='<?=$transactionType?>'>
<input type="hidden" name="Ds_Merchant_MerchantURL" id="Ds_Merchant_MerchantURL" value='<?=$urlMerchant?>'>
<input type="hidden" name="Ds_Merchant_MerchantSignature" id="Ds_Merchant_MerchantSignature" value=''>
<input type="hidden" name="Ds_Merchant_UrlOK" id="Ds_Merchant_UrlOK" value='<?=$url_OK?>'>
<input type="hidden" name="Ds_Merchant_UrlKO" id="Ds_Merchant_UrlKO" value='<?=$url_KO?>'>
</form>

Archivo js


function validaForm(){
arrErrores = new Array();
var focusing = "";

if(nombre == ""){ errores("Indica tu nombre"); if(focusing == "") focusing = "nombre"; }
if(apellidos == ""){ errores("Indica tus apellidos"); if(focusing == "") focusing = "apellidos"; }
if(nif == ""){ errores("Indica tu nif"); if(focusing == "") focusing = "nif"; }

var longitudErrores = arrErrores.length;
if(longitudErrores < 1){
$("#enviar").hide();
$("#loader").show();

var dataString = "nombre=" + nombre + "&apellidos=" + apellidos + "&nif=" + nif;
$.ajax({
type: "POST",
url: 'public/scripts/guardar-inscritos.php',
data: dataString,
success: function() {
$.post('public/scripts/pasarela-get-id.php,{ email:email,rand:Math.random() } ,function(id){
$("#Ds_Merchant_Order").val(id);
$.post('public/scripts/pasarela-genera-signature.php',{ order:id,rand:Math.random() } ,function(signature){
$("#Ds_Merchant_MerchantSignature").val(signature);
$("#pago").submit();
})
});
}
});

}else{
var texto = "";
for(a=0;a<longitudErrores;a++){
texto += arrErrores[a];
texto += "<br />";
}
Sexy.alert(texto, { onComplete:
function(){
if(focusing != "") $("input#" + focusing).focus();
}}
);
}
}

pasarela-get-id.php

include('../../privat/ucvconfig/config.inc.php');
include('../../privat/clases/sqlConnect.class.php');
include('../../privat/clases/inscripciones.class.php');
$inscripciones = new inscripciones($mysql);
echo str_pad($inscripciones->getLastId(utf8_decode($_REQUEST['email'])), 4, "0", STR_PAD_LEFT)

pasarela-genera-signature.php

include('../../privat/ucvconfig/settings.inc.php');
$message = $precio . $_REQUEST['order'] . $code . $currency . $transactionType .$urlMerchant . $clave;
echo strtoupper(sha1($message));

pasarela-respuesta.php

include("../../privat/ucvconfig/config.inc.php");
include("../../privat/clases/sqlConnect.class.php");
include("../../privat/clases/inscripciones.class.php");
$inscripciones = new inscripciones($mysql);
$id = (utf8_decode($_REQUEST['Ds_Order']) + 1) - 1;
$datos['respuesta'] = utf8_decode($_REQUEST['Ds_Response']);
$datos['pagado'] = 1;
$datos['precio'] = substr(utf8_decode($_REQUEST['Ds_Amount']), 0, 2);
$inscripciones->editarInscripcio($datos, $id);

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.