1.0.0 • Published 7 years ago

angularjs-conekta v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

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) {
  $scope.charge = function charge () {
    return conekta.token.create($scope.payment.card)
      .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)
      })
      .catch(function (err) {
        console.log('Payment error: ', err.message)
      })
  }
})