Autorización Copy

POST https://sandbox.paguelofacil.com/rest/processTx/AUTH

Autorización

Paguelofacil ofrece la posibilidad de realizar una autorización antes de generar una captura. La autorización se puede ver como una reserva de fondos en la tarjeta de tu comprador. Cuando realices una autorización todavía no se le generará un cobro a tu cliente en su tarjeta. Solo cuando se realice una captura el cliente verá el pago.

IMPORTANTE — PagueloFacil tiene credenciales para ambiente de pruebas y credenciales para ambiente de producción que permiten integrar los métodos de pago, no se deben confundir al momento de realizar las configuraciones, cada ambiente requiere de sus credenciales. El monto mínimo es de $ 1.00 y la moneda permitida es USD.

Servicio POST
/rest/processTx/{TRANSACCION_TYPE}

Autorizar una transacción
Para realizar una autorización solo debes realizar una petición con la solicitud de autorización y procesar la respuesta una vez la autorización sea procesada.

Descripción de parámetros

ParámetroTipoRequeridoDescripción
cclw

String


Ej.: A7BFCAF7B6……….

SiEste 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

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

Numeric, Money



Ej.: 10.00 – 1450.15 – 9.14

SiDeclaras cuanto de ese monto es ITBMS
NO PONER COMAS (,) o separador de miles.
email

String MaxLength:100


SiEmail del Tarjeta habiente
phone

Numeric MaxLength:16


SiTeléfono del Tarjeta habiente
addressString MaxLength:100NoDirección del la tarjeta
conceptString MaxLength:100
SiConcepto de la transacción
descriptionString MaxLength:150
SiDescripción de la transacción
ipCheckIp (0.0.0.0)NoDirección Ip del Comprador, está información es analizada para fraude de la transacción
additionalDataArreglo de campos con formato (sessionKount)NoRecibe el sessionId obtenido a través de la Huella del dispositivo que permite calcular un mejor score de fraude.
langString MaxLength:2No

Idioma de la transacción. Valores posibles:

* EN para Inglés
* ES para Español

customFieldValues

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

NoInformación adicional de la transacción. Serán retornados cuando implementas el api de consulta de transacciones
cardInformationArreglo de campos con formato: (cardNumber, expMonth, expYear, cvv, firstName, lastName, cardType)Si

Información de la tarjeta de crédito del comprador.

* cardNumber: Número de la tarjeta de crédito
* expMonth: Mes en el que expira la tarjeta
* expYear: Año en el que expira la tarjeta
* cvv: código de seguridad
* firstName: Nombre del cliente
* lastName: Apellido del cliente
* cardType: Tipo de tarjeta VISA o MASTERCARD

Petición de Autorización

Realiza la petición de la autorización indicándonos en la URL que es una AUTH.

PHP

//Ejemplo de AUTH

$urlConfig = [https://sandbox.paguelofacil.com/rest/processTx/AUTH](https://sandbox.paguelofacil.com/rest/processTx/AUTH);

$cclw = 'D17B05A095489D1176560B4666A283454185F353F401D0201CC5C16F92535DF6B1DEBA18E79442CC0D6F75FD024207680AFBDFD6CF015478BF30CBEF9160A08D ';
$amount=3.50;//El monto o valor total de la transacción a realizar. NO PONER
$description='Nro-Order-523';//MaxLength:150 ;Es la descripción o el motivo de la transacción en proceso
$creditcard='4916000000000000';
$carType = 'VISA';
$credit
cardmonth=12;//Mes de expiración de la tarjeta, siempre 2 dígitos
$credit
cardyear=32;//Numeric Ej.:02 Año de expiración de la tarjeta.
$credit
card_cvc=003;//Código de Seguridad de la tarjeta Numeric MaxLength:3

$name='alam';//String MaxLength:25 Nombre del tarjeta habiente
$lastname='brito';//String MaxLength:25 Apellido del Tarjeta habiente
$email='alambrito@correo.com';//String MaxLength:100 Email del
$address='testing new address';//String MaxLength:100 Dirección del Tarjeta
$phone='60201236';//Numeric MaxLength:16 Teléfono del Tarjeta habiente
$ip = '100.20.23.34'; //Ip del comprador

$data = array(
cclw => $cclw ,
amount => $amount,
taxAmount => 1.00,
email => $email,
phone => $phone,
address => $address,
concept => $description,
description => $description,
ipCheck => $ip,
lang => 'ES', //EN
additionalData=> [sessionKount: 123as777dfsdf898],
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]],
cardInformation => array(
cardNumber => $creditcard,
expMonth => $credit
cardmonth,
expYear => $credit
cardyear,
cvv => $credit
card_cvc,
firstName => $name,
lastName => $lastname,
cardType => $carType,
),
);

$json=json_encode($data);

$ch = curlinit();
curl
setopt($ch,CURLOPTURL, $urlConfig);
curl
setopt($ch, CURLOPTPOST, true);
curl
setopt($ch,CURLOPTRETURNTRANSFER,true);
curl
setopt($ch, CURLOPTHTTPHEADER, array('Content-Type: application/json','authorization:WT5hTaUcpa4J3h4AmrZa2EXXJs8boUVa|DIRd852djHbq2j5Fca5VDUkDbExTBCVf'));
curl
setopt($ch,CURLOPT_POSTFIELDS,$json);

$result = curl_exec($ch);

echo ;
echo Respuesta de paguelo Facil;
echo ;

$result = json_decode($result, true);

NODE

cconst axios = require(axios);

const callAuth = async () => {

const payload = {
cclw: '004D3EF3780409D107C59C85664B800FA63FFE09247A7731B8464CCE837F3C2233F973F7308DB9A7069BD460BEC62C6E6054DD1F2DDF7F22067F857FB9E031AA ',
amount: 3.50,//El monto o valor total de la transacción a realizar. NO PONER
taxAmount: 1.0,
email: 'alambrito@correo.com',//String MaxLength:100 Email del
phone: '60201236',//Numeric MaxLength:16 Teléfono del Tarjeta habiente,
address: 'testing new address',//String MaxLength:100 Dirección del Tarjeta,
concept: 'Nro-Order-523',//MaxLength:150 ;Es la descripción o el motivo de la transacción en proceso
description: 'Nro-Order-523',//MaxLength:150 ;Es la descripción o el motivo de la transacción en proceso
cardInformation: {
cardNumber: '4916000000000000',
expMonth: 12,//Mes de expiración de la tarjeta, siempre 2 dígitos
expYear: 32,//Numeric Ej.:02 Año de expiración de la tarjeta.
cvv: 003,//Código de Seguridad de la tarjeta Numeric MaxLength:3
firstName: 'alam',//String MaxLength:25 Nombre del tarjeta habiente
lastName: 'brito',//String MaxLength:25 Apellido del Tarjeta habiente
cardType: 'VISA'
}
};

const options = {
headers: {
authorization: 'WT5hTaUcpa4J3h4AmrZa2EXXJs8boUVa|DIRd852djHbq2j5Fca5VDUkDbExTBCVf',
content-type: 'application/json'
}
};

console.log(Start AUTH);
await axios.post('https://secure.paguelofacil.com/rest/processTx/AUTH', payload, options)
.then((response) => {
console.log(Response Authorize Service:);
console.log(response.data);
console.log(Business logic...);
}).catch((error) => {
console.log(error);
}).then(() => {
console.log(End AUTH);
});
};

Respuesta de Autorización

INFO — Al realizar la petición recibirás la respuesta en formato JSON. Debes obtener la variable Status la cual si es recibida como 1 la transacción fue autorizada.

//Ejemplo de AUTH
{
headerStatus:{
code:200,
description:Success
},
serverTime:2019-04-15T07:01:50,
message:null,
data:{
date:2019-04-15T07:01:50,
authStatus:14,
cardType:VISA,
type:VISA,
idtx:691276,
cardToken:04NABCDEFG0D4ZD3LR6,
totalPay:3.5,
binInfo:{
id:0030ae56-d070-4b5a-869c-35df5909c3f3,
risk_score:99,
funds_remaining:541.18499999999994543031789362430572509765625,
queries_remaining:36079,
ip_address:{
risk:45,
city:{
confidence:20,
geoname_id:4744870,
names:{
en:Ashburn,
ru:\\u0410\\u0448\\u0431\\u0435\\u0440\\u043d
}
},
continent:{
code:NA,
geoname_id:6255149,
names:{
de:Nordamerika,
en:North America,
es:Norteam\\u00e9rica,
fr:Am\\u00e9rique du Nord,
ja:\\u5317\\u30a2\\u30e1\\u30ea\\u30ab,
pt-BR:Am\\u00e9rica do Norte,
ru:\\u0421\\u0435\\u0432\\u0435\\u0440\\u043d\\u0430\\u044f \\u0410\\u043c\\u0435\\u0440\\u0438\\u043a\\u0430,
zh-CN:\\u5317\\u7f8e\\u6d32
}
},
country:{
confidence:99,
geoname_id:6252001,
is_high_risk:false,
iso_code:US,
names:{
de:USA,
en:United States,
es:Estados Unidos,
fr:\\u00c9tats-Unis,
ja:\\u30a2\\u30e1\\u30ea\\u30ab\\u5408\\u8846\\u56fd,
pt-BR:Estados Unidos,
ru:\\u0421\\u0428\\u0410,
zh-CN:\\u7f8e\\u56fd
}
},
location:{
accuracy_radius:1000,
latitude:39.04809999999999803321770741604268550872802734375,
local_time:2019-05-22T08:01:50-04:00,
longitude:-77.47280000000000654836185276508331298828125,
metro_code:511,
time_zone:America\\/New_York
},
postal:{
code:20149,
confidence:10
},
registered_country:{
geoname_id:6252001,
iso_code:US,
names:{
de:USA,
en:United States,
es:Estados Unidos,
fr:\\u00c9tats-Unis,
ja:\\u30a2\\u30e1\\u30ea\\u30ab\\u5408\\u8846\\u56fd,
pt-BR:Estados Unidos,
ru:\\u0421\\u0428\\u0410,
zh-CN:\\u7f8e\\u56fd
}
},
subdivisions:[
{
confidence:60,
geoname_id:6254928,
iso_code:VA,
names:{
en:Virginia,
fr:Virginie,
ja:\\u30d0\\u30fc\\u30b8\\u30cb\\u30a2\\u5dde,
pt-BR:Virg\\u00ednia,
ru:\\u0412\\u0438\\u0440\\u0434\\u0436\\u0438\\u043d\\u0438\\u044f,
zh-CN:\\u5f17\\u5409\\u5c3c\\u4e9a\\u5dde
}
}
],
traits:{
autonomous_system_number:14618,
autonomous_system_organization:Amazon.com, Inc.,
domain:amazonaws.com,
ip_address:100.24.233.128,
isp:Amazon.com,
organization:Amazon.com,
user_type:hosting
}
},
credit_card:{
issuer:{
name:MBNA EUROPE BANK LTD.,
phone_number:08009174466
},
brand:Visa,
country:GB,
is_issued_in_billing_address_country:false,
is_prepaid:false,
type:credit
},
email:{
first_seen:2019-04-24,
is_free:false,
is_high_risk:false
},
billing_address:{
latitude:9,
longitude:-80,
distance_to_ip_location:3354,
is_in_ip_country:false
},
disposition:{
action:manual_review,
reason:custom_rule
}
},
name:alam brito,
displayNum:6988,
operationType:AUTH,
returnUrl:https:\\/\\/admin.paguelofacil.com\\/PF\\/#\\/default-receipt\\/AUTH-IV6LR0UYAY,
requestPayAmount:3.5,
email:[alambrito@correo.com](mailto:alambrito@correo.com),
codOper:AUTH-IV6LR0UAAA,
status:0, // 1 Autorizada, 0 no autorizada
messageSys:CARD NO. ERROR
},
success:true
}

Parámetros de respuesta

NombreTipoFormatoDescripción
headerStatusJSONHeader Status, Indica el estado de la consulta
codeIntegerCódigo del estado de la respuesta
descriptionStringDescripción del estado de la respuesta
serverTimeDate as Stringyyyy-MM-dd'T'HH:mm:ssCurrent Server Time
messageStringMensaje de la respuesta
dataStringJSONJsonArray
dateDateTimeyyyy-MM-dd'T'HH:mm:ssFecha de la transacción
authStatusStringEstado de sesión de la transacción
cardTypeStringVISA / MASTERCARDTipo de tarjeta usada para la transacción
typeStringVISA / MASTERCARDProveedor de la tarjeta usada para la transacción
idtxIntegerId identificador de la transacción
cardTokenStringToken generado de la transacción
totalPayStringMonto total de la transacción
binInfoJSONInformación del provvedor de la tarjeta (El retorno de estos datos puede variar según el proveedor)
nameStringNombre del tarjetahabiente
displayNumStringÚltimos digitos de la tarjeta
operationTypeStringTipo de operación
returnUrlStringLa dirección URL de retorno
requestPayAmountNumericMonto a pagar de la petición
emailStringCorreo del cliente
codOperStringCódigo de operación de la transacción
statusBooleanIndica si la transacción se procesó exitosamente o no
messageSysBooleanIndica el mensaje del sistema
successBooleanRetorna true si el headerStatus es SUCCESS

Huella del dispositivo

En integraciones de este tipo PagueloFacil no puede recopilar datos de tu cliente, que son importantes para calcular nuestro Score de Fraude (Esto ayuda a saber si una transacción es un posible fraude). Si implementas el código que te presentamos a continuación, el Score de tus transacciones será más exacto.

Ejemplo, html te sirve para obtener el sessionId que debes enviar en el servicio que estes implementando para realizar la transacciones (AUTH, Auth-Capt, Captura, Servidor a Servidor, Recurrentes).

Request Params

KeyDatatypeRequiredDescription
CTAXnull
RETURN_URLstring
PF_CFnull
CARD_TYPEnull
PARM_1number
cclwstring
amountstring
descriptionstring
taxAmountstring
emailstring
phonenumber
conceptstring
cardNumbernumber
expMonthnumber
expYearnumber
cvvnumber
firstNamestring
lastNamestring
cardTypestring

Request Body

{"cclw"=>"2413555b2fd551e5d7988bb335cc16cec4a73178a9edfd3b229bcce72e9ee22c67b907d9124ee59662f47e00f4956b00f95d25d401170713b0f2091a6e29d95e", "amount"=>10.0, "taxAmount"=>1.0, "email"=>"jorge@hotmail.com", "phone"=>"66336535", "concept"=>"test", "description"=>"test", "cardInformation"=>{"cardNumber"=>"4059310181757001", "expMonth"=>"12", "expYear"=>"23", "cvv"=>"123", "firstName"=>"jorge", "lastName"=>"gomez", "cardType"=>"VISA"}}

HEADERS

KeyDatatypeRequiredDescription
Authorizationstring

RESPONSES

status: OK

{"headerStatus":{"code":551,"description":"Error, Invalid Field"},"serverTime":"2022-03-23T11:25:20","message":"Invalid Fields [{\"entity\": \"ProcessAuth\", \"field\": \"cardInformation\", \"required\": true)], in the entity 'ProcessAuth'","requestId":null,"data":{},"success":false}