latam_payment
Library to handle payment providers. At the moment, the library handles PayU and Stripe.
Require
var latam_payment = require('latam_payment');
Register Card Token
PayU register example
var type = 'payu';
var data = {
email: 'some_email@test.com',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'COL',
city: 'BOG'
},
description: `Customer for some_email@test.com`,
card: '<payu token>',
user_token: null,
security: {
url: 'https://sandbox.api.payulatam.com/payments-api/4.0/service.token',
api_login: 'pRRXKOl8ikMmt9u',
api_key: '4Vj8eK4rloUd272L48hsrarnUA'
}
};
latam_payment.register(type, data, function(err, card){
});
Stripe register example
var type = 'stripe';
var data = {
email: 'some_email@test.com',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'MEX',
city: 'MEX'
},
description: `Customer for some_email@test.com`,
card: '<stripe token>',
user_token: '<customer stripe token (if exists)>',
security: {
api_key: '<stripe api key>',
}
};
latam_payment.register(type, data, function(err, card){
});
Amex register example
var type = 'amex';
var data = {
email: 'some_email@test.com',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'MEX',
city: 'MEX'
},
description: `Customer for some_email@test.com`,
card: '<amex token>',
security: {
merchantId: '<amex_merchant_id>',
password: '<amex_merchant_api_password>',
}
};
latam_payment.register(type, data, function(err, card){
});
Register response
{
"token": "<card token>",
"last4": "1234",
"cardType": "VISA",
"maskedNumber": "****1234",
"uniqueNumberIdentifier": "jkaslgjdakl328975",
"customer": "<stripe user token> | null",
"country": "MEX|COL|ARG",
"type": "payu|stripe|amex",
"csv": "123|null"
}
Checkout
PayU checkout example
var type = 'payu';
var data = {
email: 'test@email.com',
payment: {
internal_reference: 'ABC12398',
amount: 500,
source: {
user: null,
card: 'f064b5d0-2fbb-43df-b54f-ab92a3796a5c'
},
cvc: '123',
card_type: 'VISA',
mode: 'AUTHORIZATION'
},
metadata: {
id: '123456789',
first_name: 'John',
last_name: 'Doe',
phone: '123456789',
country: 'ARG',
city: 'BNA'
},
address: {
line1: 'Avenida entre rios 256',
country: 'ARG',
city: 'BNA'
},
security: {
url: 'https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi',
account_id: '512322',
merchant_id: '508029',
api_key: '4Vj8eK4rloUd272L48hsrarnUA',
api_login: 'pRRXKOl8ikMmt9u',
ip: '127.0.0.1',
device_session_id: 'vghs6tvkcle931686k1900o6e1',
user_agent: 'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0'
}
};
latam_payment.checkout(type, data, function(err, transaction){
});
Stripe checkout example
var type = 'stripe';
var data = {
email: 'test@email.com',
payment: {
internal_reference: 'ABC12398',
amount: 500,
source: {
user: 'cus_jkds78392ufdsa78',
card: 'card_jdk789236fdjk39'
},
mode: 'capture'
},
metadata: {
id: '123456789',
first_name: 'John',
last_name: 'Doe',
phone: '123456789',
country: 'ARG',
city: 'BNA'
},
address: {
line1: 'Avenida entre rios 256',
country: 'ARG',
city: 'BNA'
},
security: {
api_key: '<stripe api key>',
}
};
latam_payment.checkout(type, data, function(err, transaction){
});
Amex checkout example
var type = 'amex';
var data = {
email: 'test@email.com',
payment: {
internal_reference: 'ABC12398',
amount: 500,
currency: 'MXN',
source: {
card: ''
},
mode: 'capture'
},
metadata: {
id: '123456789',
first_name: 'John',
last_name: 'Doe',
phone: '123456789',
country: 'MEX',
city: 'MEX'
},
address: {
line1: 'Avenida entre rios 256',
country: 'MEX',
city: 'MEX'
},
security: {
merchantId: '<amex_merchant_id>',
password: '<amex_merchant_api_password>',
}
};
latam_payment.checkout(type, data, function(err, transaction){
});
Checkout response
NOTE: orderId
is null for Stripe transactions.
{
"success": true,
"error": null,
"body": {
"orderId": "<order_id>",
"transaction": "<transaction id>",
"status": "paid|authorized",
"amount": 500,
"currency": "MXN"
}
}
Void
PayU void example
var type = "payu";
var data = {
metadata: {
id: '123456789',
first_name: 'John',
last_name: 'Doe',
phone: '123456789',
country: 'COL',
city: 'BOG'
},
transaction: {
transaction_id: '96535b36-99db-4c66-bd87-6ad5c59b25a8',
order_id: '40049920'
},
security: {
url: 'https://sandbox.api.payulatam.com/payments-api/4.0/service.cgi',
api_key: '4Vj8eK4rloUd272L48hsrarnUA',
api_login: 'pRRXKOl8ikMmt9u',
}
};
latam_payment.void(type, data, function(err, transaction) {
});
Amex void example
var type = "amex";
var data = {
transaction: {
transaction_id: '96535b36-99db-4c66-bd87-6ad5c59b25a8',
order_id: '40049920'
},
security: {
merchantId: '<amex_merchant_id>',
password: '<amex_merchant_api_password>',
}
};
latam_payment.void(type, data, function(err, transaction) {
});
Void response
{
"success": true,
"error": null,
"body": {
}
}