Library to handle payment providers. At the moment, the library handles PayU and Stripe.
var latam_payment = require('latam_payment');
var type = 'payu';
var data = {
email: '[email protected]',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'COL',
city: 'BOG'
},
description: `Customer for [email protected]`,
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){
// do something with card
});
var type = 'stripe';
var data = {
email: '[email protected]',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'MEX',
city: 'MEX'
},
description: `Customer for [email protected]`,
card: '<stripe token>',
user_token: '<customer stripe token (if exists)>',
security: {
api_key: '<stripe api key>',
}
};
latam_payment.register(type, data, function(err, card){
// do something with card
});
var type = 'amex';
var data = {
email: '[email protected]',
metadata: {
id: 'user id 1',
first_name: 'John',
last_name: 'Doe',
country: 'MEX',
city: 'MEX'
},
description: `Customer for [email protected]`,
card: '<amex token>',
security: {
merchantId: '<amex_merchant_id>',
password: '<amex_merchant_api_password>',
}
};
latam_payment.register(type, data, function(err, card){
// do something with card
});
{
"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"
}
var type = 'payu';
var data = {
email: '[email protected]',
payment: {
internal_reference: 'ABC12398',
amount: 500,
source: {
user: null,
card: 'f064b5d0-2fbb-43df-b54f-ab92a3796a5c'
},
cvc: '123', //optional for Colombia
card_type: 'VISA',
mode: 'AUTHORIZATION' //Colombia only accepts 'AUTHORIZATION_AND_CAPTURE'; if not present, defaults to 'AUTHORIZATION_AND_CAPTURE'
},
metadata: {
id: '123456789',// user id
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){
// do something with transaction
});
var type = 'stripe';
var data = {
email: '[email protected]',
payment: {
internal_reference: 'ABC12398',
amount: 500,
source: {
user: 'cus_jkds78392ufdsa78',
card: 'card_jdk789236fdjk39'
},
mode: 'capture' // if equal to 'capture', sets capture=true; else, sets capture=false
},
metadata: {
id: '123456789',// user id
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){
// do something with transaction
});
var type = 'amex';
var data = {
email: '[email protected]',
payment: {
internal_reference: 'ABC12398',
amount: 500,
currency: 'MXN',
source: {
card: ''
},
mode: 'capture' // if equal to 'capture', sets capture=true; else, sets capture=false
},
metadata: {
id: '123456789',// user id
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){
// do something with transaction
});
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"
}
}
var type = "payu";
var data = {
metadata: {
id: '123456789', // user id
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) {
// do something with transaction
});
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) {
// do something with transaction
});
{
"success": true,
"error": null,
"body": {
}
}