Para realizar pagos con el web checkout de PayU es muy sencillo:
Ejemplo (nwmaker1 front):
var responseUrl = location.origin + "/app/pay/responseUrl.php";
var confirmationUrl = location.origin + "/app/pay/confirmationUrl.php";
var referenceCode = r;
var tx_value = __tx_value;
var currency = __currency;
var d = {};
d.tx_value = tx_value;
d.currency = currency;
d.referenceCode = referenceCode;
d.terminal = getTerminal();
var rpc = {};
rpc["service"] = "openForm";
rpc["method"] = "createSignature";
rpc["data"] = d;
console.log(d);
var func = function (r) {
console.log("signature", r);
var accountId = r.pagos_accountid;
var merchantId = r.pagos_merchantid;
var urlSend = r.urlSend;
var signature = r.signature;
var test = r.test;
var form = "<h1 class='textCitaMsgPago'>¡Cita pre-registrada correctamente! por favor proceda a realizar el pago.</h1>";
form += "<p class='predirect'>Será direccionado en <span class='redirecspan'>5</span></p>";
form += ' <form id="formPayu" method="post" action="' + urlSend + '">\n\
<input name="merchantId" type="hidden" value="' + merchantId + '" >\n\
<input name="accountId" type="hidden" value="' + accountId + '" >\n\
<input name="description" type="hidden" value="Pago de asesoría en ' + domainVisitor + ' con el asesor ' + __asesorSelected + ' REF: ' + referenceCode + '" >\n\
<input name="referenceCode" type="hidden" value="' + referenceCode + '" >\n\
<input name="amount" type="hidden" value="' + tx_value + '" >\n\
<input name="tax" type="hidden" value="0" >\n\
<input name="taxReturnBase" type="hidden" value="0" >\n\
<input name="currency" type="hidden" value="' + currency + '" >\n\
<input name="signature" type="hidden" value="' + signature + '" >\n\
<input name="test" type="hidden" value="' + test + '" >\n\
<input name="buyerFullName" type="hidden" value="' + __customerName + '" >\n\
<input name="mobilePhone" type="hidden" value="' + __customerPhone + '" >\n\
<input name="buyerEmail" type="hidden" value="' + __customerEmail + '" >\n\
<input name="responseUrl" type="hidden" value="' + responseUrl + '" >\n\
<input name="confirmationUrl" type="hidden" value="' + confirmationUrl + '" >\n\
</form>';
nw_dialog_func(form, "callbackHacerPago");
var count = 5;
var inter = setInterval(function () {
if (count <= 0) {
clearInterval(inter);
$('#formPayu').submit();
return;
}
count--;
$(".redirecspan").html(count);
}, 1000);
};
rpcNw("rpcNw", rpc, func, true);
Tarjeta de pruebas (modo test):
visa 4601659836358240 Los demás datos pueden ser aleatorios.
En nombre poner una de estas tres: APPROVED REJECTED PENDING
Links de interés:
http://developers.payulatam.com/es/web_checkout/integration.html
http://developers.payulatam.com/es/web_checkout/sandbox.html