Servidor a Servidor

El API servidor a servidor permite una integración optima y la mejor experiencia de usuario. Con este tipo de integración, su página podrá invocar un servicio REST para el procesamiento inmediato de una tarjeta, permitiendo que usted cree la experiencia de usuario complete. Con este método, mantendrá siempre al usuario dentro de su sitio y controlara todas las respuestas en pantalla.

 


  

Prerrequisitos

CCLW
Llaves de conexión al API
Certificado SSL
TLS 1.3 o superior

Base URL de servidores

Producción
https://secure.paguelofacil.com/
Pruebas
https://sandbox.paguelofacil.com/
Servicio Rest - POST
/rest/ccprocessing

 

Pasos

En dos pasos puedes crear una integración de pago servidor a servidor.

Paso 1. Realizar solicitud de pago

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 servidor a servidor.


$hash = $credi_card.$credi_card_cvc.$email;
$data = array(
"CCLW" => $cclw ,
"txType" => 'SALE',
"CMTN" => $amount,
"CDSC" => $descrition,
"CCNum" => $credit_card,
"ExpMonth" => $credit_card_month,
"ExpYear" => $credit_card_year,
"CVV2" => $credit_card_cvc,
"Name" => $name,
"LastName" => $lastname,
"Email" => $email,
"Address" => $address,
"Tel" => $phone,
"SecretHash" => hash('sha512', $hash),
);
$postR="";
foreach($data as $mk=>$mv) { $postR .= "&".$mk."=".$mv; }
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, "https://secure.paguelofacil.com/rest/ccprocessing/");
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);

const request = require("request");

let callService = () => {

    let options = {
        method: 'POST',
        url: 'https://secure.paguelofacil.com/rest/ccprocessing/',
        headers: {'cache-control': 'no-cache', 'Content-Type': 'application/x-www-form-urlencoded'},
        form: {
            CCLW: 'ABWOT478A43G',
            txType: 'sh',
            CMTN: '45',
            CDSC: 'CDSC_value',
            CCNum: '4567827364759867',
            ExpMonth: '12',
            ExpYear: '2020',
            CVV2: '678',
            Name: 'Pedro',
            LastName: 'Perez',
            Email: 'data@gmail.com',
            Address: 'panama',
            Tel: '2323232323',
            SecretHash: '0337f80c8a19dee560a5d3dc291c472c4e9be3e35becbff2847537c9f5e44989'
        },
        json: true
    };

    request(options, (error, response, body) => {
        if (error) throw new Error(error);

        console.log("Response Service: ", body);
        console.log("Business logic...");
    });
};

Descripción de los parámetros

Parámetro Tipo Descripción
NombreTipoDescripción
CCLWString
Ej.: A7BFCAF7B6……….
Este es el código web que recibe de parte de Paguelofacil y que identifica a su comercio
txType

String MaxLength:4

  • AUTH
  • SALE
  • CAPT
Define el tipo de transacción
  • AUTH: Realiza una autorización sobre una tarjeta. Congela los fondos por un periodo máximo de 5 días.
  • SALE: Es una venta directa e inmediata, es decir autoriza y captura la transacción de una vez.
  • CAPT: Captura una previa Autorización
CDSCString MaxLength:150Es la descripción o el motivo de la transacción en proceso
CMTN Numeric, Money
Ej.: 10.00 – 1450.15 – 9.14
 El monto o valor total de la transacción a realizar.
NO PONER COMAS (,) o separador de miles.
CCNum Credit Card – Numeric MaxLength:16 Ej.: 4111111111111111 Numero complete de la tarjeta de crédito, sin guiones ni comas ni espacios
ExpMonth Numeric Ej.: 15 Mes de expiración de la tarjeta, siempre 2 dígitos
ExpYear Numeric Ej.:02 Año de expiración de la tarjeta.
 CVV2 Numeric MaxLength:3 Ej.: 548 Código de Seguridad de la tarjeta
Name String MaxLength:25 Nombre del tarjeta habiente
LastName String MaxLength:25 Apellido del Tarjeta habiente
Email String MaxLength:100 Email del Tarjeta habiente
Address String MaxLength:100 Dirección del Tarjeta Habiente
Tel Numeric MaxLength:16 Teléfono del Tarjeta habiente
SecretHash String Ej. Hash(secretdata, "SHA-512") Hash secreto que permite verificar que la petición es válida. Hash en SHA-512

Paso 2. Procesar respuesta

Payfacil genera una respuesta a través del api, indicando el estado de la transacción en conjunto con la información de pago.

Transacción Aprobada
{ 
"Status":"Approved", 
"Amount":"1.0", 
"RespText":"VER UNAVAILBLE", 
"RespCode":"00", 
"AUTH_TOKEN":"02AFR535KEM3G8DHYB2",
"CODOPER":"STS-P0SAU2WAAG7",
"Date":"040418",
"Time":"131009",
"CardType":"VISA",
"Name":"ALAM",
"LastName":"BRITO",
"Email":"alam@brito.com"
}" 
Transacción Denegada
{
"Status":"Declined",
"Amount":"0.0",
"RespText":"NO SUCH ISSUER",
"RespCode":"15",
"AUTH_TOKEN":"027FR52QE3YEBLXT54Q",
"CODOPER":"STS-UMLYHLRRAPA",
"Date":"040418",
"Time":"130402",
"CardType":"VISA",
"Name":"alam",
"LastName":"brito",
"Email":"alam@brito.com"
} 

Descripción de los parámetros

Parámetro Tipo Descripción
Status String
Ej: Approved / Declined
Define el estado final de la transacción
Amount Numeric, Money
Ej.: 10.00 – 1450.15 – 9.14.
Monto de la transacción
Response_Text String
Ej:NO SUCH ISSUER
Respuesta textual del Sistema
AUTH_TOKEN String
Ej: 2BD7MU45FSGDSF231
Token único a guardar para referenciar la transacción. En caso de ser una autorización este es el valor a enviar para la captura.
CODOPER String
Ej: STS-3269785747
Código único de operación de referencia en Paguelofacil.
CODOPER Date
Ej: 013122
Fecha de procesamiento. Formato: MesDiaAño
CODOPER Time
Ej: 142932
Hora de la operación en format 24H
CardType String
Ej: MC - VISA
Tipo de tarjeta utilizada
Name String
Nombre del tarjeta habiente
LastName String
Apellidos del tarjeta habiente
Email String
Email del tarjeta habiente