Reverso de una Captura

Paguelofacil ofrece la posibilidad de realizar un reverso y/o reembolso de una transacción capturada. Este reverso puede ser por el total o un monto menor de los fondos capturados en la tarjeta de tu comprador.


  

Prerrequisitos

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

Base URL de ambientes

Producción
https://secure.paguelofacil.com/
https://api.pfserver.net/
Pruebas
https://sandbox.paguelofacil.com/
https://api-sand.pfserver.net/

  

Reversar una transacción de captura

Para realizar un reverso de una captura, debes conocer el CodOper de la Captura y el monto que deseas reversar el cual no puede ser mayor a la transacción de captura, luego hacer el llamado al API y procesar la respuesta del servicio una vez sea procesada.

Descripción de parámetros

Parámetro Tipo Requerido Descripción
cclw String


Ej.: A7BFCAF7B6……….
Si Este es el código web que recibe de parte de Paguelofacil y que identifica a su comercio
amount

 Numeric, Money
 


Ej.: 10.00 – 1450.15 – 9.14

Si El monto o valor total de la transacción a realizar.
NO PONER COMAS (,) o separador de miles.
codOper

 String MaxLength:100
 

Si Código de operación de la transacción autorizada
description

 String MaxLength:150
 

Si  Descripción de la transacción
lang  String MaxLength:2 No

 Idioma de la transacción. Valores posibles:

  • EN para Inglés
  • ES para Español
customFieldValues

 Array de campos con formato: (id, label, value)

No  Información adicional de la transacción. Serán retornados cuando implementas el api de consulta de transacciones

Petición de Autorización

Realiza la petición de reverso indicándonos en la URL que es una "REVERSE_CAPTURE".

                    
//Ejemplo de REVERSE_CAPTURE
$urlConfig = "https://sandbox.paguelofacil.com/rest/processTx/REVERSE_CAPTURE";

$cclw = 'D17B05A095489D1176560B4666A283454185F353F401D0201CC5C16F92535DF6B1DEBA18E79442CC0D6F75FD024207680AFBDFD6CF015478BF30CBEF9160A08D ';
$amount=3.50;//El monto o valor total de la transacción a realizar. No puede ser mayor a la transacción Capturada
$description='Devolución de la Order 523';//MaxLength:150 ;Es la descripción o el motivo de la transacción en proceso
$CodOper = 'STS-LU1ZGW16QA';


    $data = array(
        "cclw" =>  $cclw ,
        "amount" => $amount,
        "description" => $description,
        "codOper" => $CodOper,
        "lang" => 'ES', //EN
        "customFieldValues"  => [["id"=>"idOrder","nameOrLabel"=>"Nro de Orden","value"=>"OD-234567"],
                            ["id"=>"idUser","nameOrLabel"=>"User","value"=>"24"],
                              ["id"=>"idTx","nameOrLabel"=>"Txtx","value"=>"678643"],
                                ["id"=>"reference","nameOrLabel"=>"Referencia","value"=>"6754"],
                            ["id"=>"activo","nameOrLabel"=>"estado","value"=>"true"]], 
    );


$json=json_encode($data);

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $urlConfig);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','authorization:WT5hTaUcpa4J3h4AmrZa2EXXJs8boUVa|DIRd852djHbq2j5Fca5VDUkDbExTBCVf'));
curl_setopt($ch,CURLOPT_POSTFIELDS,$json);

$result = curl_exec($ch);

echo "<br>";
echo "Respuesta de paguelo Facil";
echo "<br>";

$result = json_decode($result, true);
                    
                

Respuesta de un Reverso de Captura

Transacción Aprobada
//Ejemplo de Respuesta Reverso de Captura

{   "headerStatus":{ "code":200,"description":"Success" },
    "serverTime":"2019-09-24T09:48:23",
    "message":null,
    "data":{
        "date":"2019-09-24T09:48:23",
        "authStatus":"00",
        "cardType":"MC",
        "type":"MC",
        "userName":"Nombre Apellido",
        "idtx":502410,
        "cardToken":"SANDBOX-34",
        "userLogn":"dev",
        "idUsr":48395,
        "totalPay":"4.5",
        "binInfo":{"credit_card":{"issuer":{"name":"Bank"},"country":"PA"}},
        "displayNum":"1226",
        "operationType":"REVERSE_CAPTURE",
        "returnUrl":"https://sandbox.paguelofacil.com/PF/#/default-receipt/SANDBOX_STS-J6JCR4W4TIM",
        "requestPayAmount":4.5,
        "email":"oeneikaphotos@gmail.com",
        "codOper":"SANDBOX_STS-J6JCR4W4TIM",
        "status":1,
        "messageSys":"VER UNAVAILBLE"},
    "success":true}
Transacción Denegada


//Ejemplo de Respuesta Reverso de Captura

 {"headerStatus":{
        "code":604,
        "description":"AMOUNT GREATER THAN MAXIMUN"},
  "serverTime":"2019-09-24T09:56:10",
  "message":null,
  "data":{},
  "success":false}


Parámetros de respuesta

Nombre Tipo Formato Descripción
headerStatus JSON   Header Status, Indica el estado de la consulta
     code Integer   Código del estado de la respuesta
     description String   Descripción del estado de la respuesta
serverTime Date as String yyyy-MM-dd'T'HH:mm:ss Current Server Time
message String   Mensaje de la respuesta
data String | JSON | JsonArray   Contenido de la respuesta del servicio
     date DateTime yyyy-MM-dd'T'HH:mm:ss Fecha de la transacción
     authStatus String   Estado de sesión de la transacción
     cardType String VISA / MASTERCARD Tipo de tarjeta usada para la transacción
     type String VISA / MASTERCARD Proveedor de la tarjeta usada para la transacción
     idtx Integer   Id identificador de la transacción
     cardToken String   Token generado de la transacción
     totalPay String   Monto total de la transacción
     binInfo JSON   Información del provvedor de la tarjeta (El retorno de estos datos puede variar según el proveedor)
     name String   Nombre del tarjetahabiente
     displayNum String   Últimos digitos de la tarjeta
     operationType String   Tipo de operación
     returnUrl String   La dirección URL de retorno
     requestPayAmount Numeric   Monto a pagar de la petición
     email String   Correo del cliente
     codOper String   Código de operación de la transacción
     status Boolean   Indica si la transacción se procesó exitosamente o no
     messageSys Boolean   Indica el mensaje del sistema
success Boolean   Retorna true si el headerStatus es SUCCESS