Giter Club home page Giter Club logo

pagarme-ng-checkout's Introduction

Angular service to provide pagar.me checkout functionality to your Angularjs application.

Demo here

Instructions

Import both pagar.me checkout.js and pagarme-ng-checkout.js

<script src="https://assets.pagar.me/checkout/checkout.js"></script>
<script src="lib/pg-ng-checkout.js"></script>

Import into your application and on the config stage set your pagar.me encryption key (test or live)

angular.module('my-awesome-ecommerce', ['pg-ng-checkout'])
.config(function($pgCheckoutProvider){

  $pgCheckoutProvider.setEncryptKey('ek_live_mRVAfBPidrKieIX53fGPlLfchMMk3A');

});

Inject the service $pgCheckout anywhere you want. To open the checkout modal just call the open method of the injected service.

angular.module('my-awesome-ecommerce', [])
.directive('checkoutButton', function($pgCheckout){

  return{
  
    link: function($scope, $element){
    
      var params = {"amount":"100000"};
    
      //open checkout on button click
      $element.on('click', function(){
      
        $pgCheckout.open(params);
      
      });
    
    }
  
  }

})

Callbacks

Pass a success function callback when opening the checkout instance. The provided callback is called when the user has successfully finished his purchase via checkout.

var params = {"amount":"100000"};

$pgCheckout.open(params, function(){

  //purchase done code here
  alert('The purchase is done! :D);

});

Checkout data attributes

You may pass any attribute that you would pass via html data-attributes on the conventional importation method (via script tag) on the open method params.

var params = {"customerData":false, "amount":"100000", "createToken": "false"};
$pgCheckout.open(params);

Retrieving card_hash or transaction token

You can access all variables that you would be able to get trough post vars on your backend trough success callback parameter.

var params = {"customerData":false, "amount":"100", "createToken": "true"};
$pgCheckout.open(params, callback);

function callback(data){

   var token = data.token;

}

And that's it! :D

Rafael Violato @ pagar.me

pagarme-ng-checkout's People

Contributors

rfviolato avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.