lp

latam_payment

Wrapper npm module for PayU, Stripe, American Express https://www.npmjs.com/package/latam_payment

Showing:

Popularity

Downloads/wk

0

GitHub Stars

0

Maintenance

Last Commit

3yrs ago

Contributors

1

Package

Dependencies

5

License

ISC

Type Definitions

Tree-Shakeable

No?

Categories

Readme

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',
    birthdate: 'AAAA-MM-DD'
  },
  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": {
  }
}

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial