NutriconsultorOnline / angularjs-conekta

Angularjs Conekta.js service that returns promises for token calls

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

angularjs-conekta Build Status dependencies Status devDependencies Status

Angular provider for easy interaction with Conekta.js. angularjs-conekta wraps Conekta.js's async operations in $q promises, making response handling easier and eliminating $scope.$apply calls and other repetitive boilerplate in your application. Check out angular-credit-cards for validating your credit card forms.

Installing

npm install --save angularjs-conekta

Usage

angularjs-conekta will load Conekta.js when it's first called. You don't need to directly include Conekta.js via a <script> tag.

// node module exports the string 'angularjs-conekta' for convenience
angular.module('myApp', [
  require('angularjs-conekta')
])

// otherwise, include the code first then the module name
angular.module('myApp', [
  'angularjs-conekta'
])

API

conektaProvider

angularjs-conekta exposes conektaProvider for configuring Conekta.js.

conektaProvider.url

The URL that will be used to fetch the Conekta.js library.

conektaProvider.setPublicKey(key) -> undefined

Sets your Conekta public key.

angular
  .module('myApp', [
    'angularjs-conekta'
  ])
  .config(function (conektaProvider) {
    conektaProvider.setPublicKey('my_key')
  })

conekta

Inject conekta into your services or controllers to access the API methods. token.create returns a $q promise. If Conekta responds with an error, the promise will be rejected.


conekta.setPublicKey(key) -> undefined

Same as conektaProvider.setPublicKey


conekta.token

conekta.token.create(card) -> promise

Tokenizes a card using Conekta.token.create.

conekta.card

The following utility methods are exposed:

  • validateNumber
  • validateExpirationDate
  • validateCVC
  • getBrand

Examples

Charging a card

app.controller('PaymentController', function ($scope, $http, conekta) {
  // Example payment object
  $scope.payment = {
          card: {
            number: "4242424242424242",
            name: "Javier Pedreiro",
            exp_year: "2018",
            exp_month: "12",
            cvc: "123"
          }
        };
  $scope.charge = function charge () {
    return conekta.token.create($scope.payment)
      .then(function (response) {
        console.log('token created for a card')
        var payment = angular.copy($scope.payment)
        payment.card = undefined
        payment.token = response.id
        return $http.post('https://yourserver.com/payments', payment).then(function (payment) {
          console.log('successfully submitted payment for $', payment.amount)
          return payment;
        });
      })
      .catch(function (err) {
        console.log('Payment error: ', err.message)
      })
  }
})

About

Angularjs Conekta.js service that returns promises for token calls

License:MIT License


Languages

Language:JavaScript 100.0%