Skip to content

FranklynSistemas/latam_payment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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){ // do something with 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){ // do something with 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){ // do something with 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', //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 });

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' // 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 });

Amex checkout example

var type = 'amex'; var data = { email: 'test@email.com', 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 });

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', // 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 });

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) { // do something with transaction });

Void response

{ "success": true, "error": null, "body": { } }

About

Wrapper npm module for PayU, Stripe, American Express

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%