angularjs-conekta v1.0.0
angularjs-conekta  
  
 
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-conektaUsage
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)
      })
  }
})8 years ago