angularjs-conekta
v1.0.0
Published
Angular service provider for interacting with Conekta
Downloads
12
Maintainers
Readme
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-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)
})
}
})