Enlace de Pago
Este proceso de pago también se conoce como pago de Offsite o botón de pago. Para realizar el procesamiento el cliente abandona su sitio web para procesar el pago y se redirige al sitio seguro de Payfacil.
Obtener URL de redirección (Método seguro)
Copia, pega en tu web el ejemplo de php. Modifica los parámetros CCLW
, CMTN
y CDSC
Ejemplo, php
del código de petición de pago por método POST.
$data = array(
"CCLW" => $cclw ,
"CMTN" => $amount,
"CDSC" => $descrition,
"RETURN_URL" => '68747470733A2F2F70616775656C6F666163696C73612E7A656E6465736B2E636F6D2F6167656E742F66696C746572732F3439313933393538',
"PF_CF" => '5B7B226964223A227472616D6974654964222C226E616D654F724C6162656C223A2249642064656C205472616D697465222C2276616C7565223A2254494432333435227D5D',
"PARM_1" => '19816201',
"EXPIRES_IN" => 3600,
);
$postR="";
foreach($data as $mk=>$mv) { $postR .= "&".$mk."=".$mv; }
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, "https://secure.paguelofacil.com/LinkDeamon.cfm");
//curl_setopt($ch,CURLOPT_URL, "https://secure.paguelofacil.com/LinkDeamon.cfm/AUTH"); ****En Caso de querer Pre-autorizar y capturar en procesos separados.
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded','Accept: */*'));
curl_setopt($ch,CURLOPT_POSTFIELDS,$postR);
$result = curl_exec($ch);
URL para re-dirección
Toma el Valor url
, de la respuesta del servicio y realiza la redirección. De esta forma ninguno de tis datos confidenciales como CMTN
y CCLW
son expuestos a terceros.
{
"headerStatus":{
"code":200,"description":"Success"},
"serverTime":"2021-01-12T16:13:50","message":"Success",
"data":{"url":"https://checkout.paguelofacil.com?code=LK-RQC5CO5G3TLNNJUU","code":"LK-RQC5CO5G3TLNNJUU"},
"success":true
}
Descripción de los parámetros
Parámetro | Tipo | Requerido | Descripción |
---|---|---|---|
CCLW | String Ej.: A7BFCAF7B6………. |
Si | Este es el código web suministrado por Payfacil y que identifica a su comercio |
CMTN | Numeric, Money Ej.: 10.00 – 1450.15 – 9.14 |
Si | Monto de la compra |
CTAX | Numeric, Money Ej.: 7.00 – 70.00 – 0.14 |
No | Monto correspondiente al ITBMS dentro del monto de la transacción |
CDSC | String MaxLength:150 |
Si | Descripción de la compra |
RETURN_URL | String URL codificado en Hexadecimal | No | URL de retorno donde desea recibir la respuesta |
PF_CF | String JSON codificado en Hexadecimal | No | String en formato JSON con la siguiente estructura [ {"id":"3Z4YNBQ","nameOrLabel":"id","type":"hidden","value":"3Z4YNBQ"}] |
CARD_TYPE | String separado por comas | No | Sirve para determinar que métodos de pago, queremos mostrar en nuestro enlace de pago. Valores: NEQUI,CASH,CLAVE, CARD, CRYPTO ***Opcional*** |
PARM_1 | String MaxLength:150 |
No | ***Parámetro personalizado***, es posible enviar mas de 1 y puedes nombrarlo como desees, todos son retornados en la respuesta. |
EXPIRES_IN |
integer Ej.: 3600 – 600 – 60 |
No | Cantidad de segundos máxima que desea recibir el pago |
Respuesta
PagueloFacil automáticamente genera una vista de respuesta al usuario final, pero si lo desea se puede retornar la transacción a su página web. Entonces, debes enviar el parámetro RETURN_URL con una URL válida códificada como Hexadecimal y su sitio será el encargado de proporcionarle una respuesta al usuario final sobre el estado de su transacción.
Transacción Aprobada
Transacción Denegada
Descripción de los parámetros
Parámetro | Descripción |
---|---|
TotalPagado | 0 si denegada, el monto cobrado si es aceptada |
Fecha | Fecha de la transacción en formato dd/mm/yyyy |
Hora | Hora de la transacción en formato HH:MM.SS |
Tipo | Tipo de tarjeta VISA , MC para MasterCard, Wallet para transacciones recibidas a través de PagueloFacil App |
Oper | Numero de Operación alfanumérico |
Usuario | Nombre y Apellidos del tarjeta habiente |
Email del tarjetahabiente | |
Estado | Aprobada o Denegado |
Razon | Por que fue Denegada la transacción por el banco emisor de la tarjeta de crédito. Solo se envía cuando la respuesta es denegada |
PARM_1 | valores enviados en la solicitud, son retornados tal como fueron enviados. |
Ejemplo de parámetros de Retorno
//Pagos a través de anónimo tipo VISA
{"TotalPagado":"3.21","Fecha":"27\/07\/2021","Hora":"08:59:45","Tipo":"VISA","Oper":"SANDBOX_LK-SKADZYRMUMB4","Usuario":"prueba pf","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.719","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C"}
//Pagos a través de anónimo tipo PagoCash
{"TotalPagado":"0","Fecha":"27\/07\/2021","Hora":"09:03:58","Tipo":"CASH","Oper":"SANDBOX_PP48123808","Usuario":"null","Email":"correo@prueba.com","Estado":"Pendiente","Razon":"PENDING PAYMENT","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.720","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C"}
//Pagos a través de anónimo tipo CLAVE
{"TotalPagado":"3.21","Fecha":"16\/08\/2021","Hora":"16:08:28","Tipo":"CLAVE","Oper":"LK-PGRPP1BNEYDW","Usuario":"null","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"Operaci\u00f3n Satisfactoria","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.774","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C","RelatedTx":"LK-JHRWYP6E8WXZ"}
//Pagos a través de anónimo tipo NEQUI
{"TotalPagado":"1.07","Fecha":"16\/08\/2021","Hora":"16:41:10","Tipo":"NEQUI","Oper":"LK-GPDVOKF052OU","Usuario":"null","Email":"correo@prueba.com","Estado":"Aprobada","Razon":"PAGADO","CMTN":"1.07","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.777","CCLW":"2C7C0A86517030E7A1C96166DE612C064567D04A6C6CFEF109FDB85BAB0E4CC622EBEF2824785778A1F5179AE1FA7B1999FB9ACF71E00FEBFCA6AA8083BCEFD6"}
//Pagos a través de PagueloFacil App (usuarios autenticados) tipo Mastercard
{"TotalPagado":"3.21","Fecha":"27\/07\/2021","Hora":"09:09:10","Tipo":"MC","Oper":"SANDBOX_PFW-Z6BCK2TCR2R","Usuario":"prueba pf","Email":"wajih@paguelofacil.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.721","CCLW":"1B09E4FCE502FE86540D14AC1031BDF54B399D919A23EAC43144CB540A8466642835566D3A77D3641CABF564BFA46608F5915083E110AE3C91F231459F05C27C","activityCode":"0000000280","txAmount":"3.21","Order":"721"}
//Pagos a través de PagueloFacil App (usuarios autenticados) tipo PagoCash
{"TotalPay":"0","Date":"2021-07-27T09:16:50","Type":"CASH","Oper":"SANDBOX_PP98057873","User":"null","Email":"wajih@paguelofacil.com","Status":"Pending","StatusCode":"PUNTOPAGO","msg":"PENDING PAYMENT","RequestPay":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.722"}
//Pagos a través de PagueloFacil App (usuarios autenticados) tipo VISA
{"TotalPagado":"15.15","Fecha":"24\/07\/2021","Hora":"09:58:03","Tipo":"VISA","Oper":"SANDBOX_PFW-EP10GCGQKDI","Usuario":"Yousset Chacon","Email":"cpag3@prueba.com","Estado":"Aprobada","Razon":"VER UNAVAILBLE","CMTN":"15.15","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.659","CCLW":"15224BE0CBB8EAAC33B53850FF71EAE732253AFC4AB224938A491D0B3E9D3F7B","activityCode":"0000000276","txAmount":"15.15","Order":"659"}
//Pagos a través de PagueloFacil App (usuarios autenticados) tipo CLAVE
{"TotalPay":"3.21","Date":"2021-08-16T16:11:36","Type":"CLAVE","Oper":"LK-EADXDQM6KILB","User":"prueba pf pf","Email":"wajih@paguelofacil.com","Status":"Approved","StatusCode":"Procesada","msg":"Operaci\u00f3n Satisfactoria","RequestPay":"3.21","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.775","RelatedTx":"LK-TWXPATXBCDXC"}
//Pagos a través de PagueloFacil App (usuarios autenticados) tipo NEQUI
{"TotalPay":"1.07","Date":"2021-08-16T16:45:07","Type":"NEQUI","Oper":"LK-ZFD3SF7FUMZD","User":"null","Email":"maryiliana@gmail.com","Status":"Approved","StatusCode":"35","msg":"PAGADO","RequestPay":"1.07","CDSC":"https:\/\/woocommerce.pfserver.net Orden Nro.778"}
//Excepciones
{"headerStatus":{"code":615,"description":"INVALID SERVICE GATEWAY OR DATA GATEWAY"},"serverTime":"2021-08-11T21:56:20","message":null,"requestId":null,"data":{},"success":false}
Ejemplo de validación de Retorno
//******** GET VARS *********/
////linkdemon/////
$response = $_REQUEST;
//Puede enviar los parámetros que desee en el enlace y le serán devueltas
if ($TotalPagado>0 && $Estado != 'Denegada') {
//Podemos hacer validaciones adicionales de nuestro sistema
echo "Pago Completado";
} else {
echo "Su pago ha presentado problema:";
echo 'Estado: '.$Estado;
eecho 'Razón: '.$Razon;
}