Git Product home page Git Product logo

cordova-plugin-braintree's Introduction

NOTE

This repo is a fork of https://github.com/taracque/cordova-plugin-braintree. All active development should point to there - this repo exists only so that I can keep pushing this plugin forward while Taracque maintains the stable branch.

For support please refer to that repo, not to this one. I cannot guarantee I will answer. Feel free to submit PR's, however, and I will do my best to get them both into this code and back into Taracque's fork.

Braintree Cordova Plugin

This is a Cordova plugin for the Braintree mobile payment processing SDK.

This version of the plugin uses versions 4.14.0 (iOS) and 2.12.0 (Android) of the Braintree mobile SDK. Documentation for the Braintree SDK can be found here. Before start using this plugin please read that documentation.

This plugin is still in development.

Install

Please ensure you are on a reasonably recent version of Node. The install script uses ES6 features that require at least node 7.

Be sure, that plist and xcode npm module is installed:

    npm install plist
    npm install xcode

To add the plugin to your Cordova project, first remove the iOS platform, install the latest version of the plugin directly from git, and then re-add iOS platform

    cordova platform remove ios
    cordova plugin add https://github.com/fbognini/cordova-plugin-braintree
    cordova platform add ios

Usage

The plugin is available via a global variable named BraintreePlugin. It exposes the following properties and functions.

All functions accept optional success and failure callbacks as their last two arguments, where the failure callback will receive an error string as an argument unless otherwise noted.

A TypeScript definition file for the JavaScript interface is available in the typings directory as well as on DefinitelyTyped via the tsd tool.

Initialize Braintree Client

Used to initialize the Braintree client. The client must be initialized before other methods can be used.

Method Signature:

initialize(token, successCallback, failureCallback)

Parameters:

  • token (string): The unique client token or static tokenization key to use.

Example Usage:

var token = "YOUR_TOKEN";

BraintreePlugin.initialize(token,
    function () {
        console.log("init OK!");
        ...
    },
    function (error) { console.error(error); });

As the initialize code is async, be sure you called all Braintree related codes after successCallback is called!

Show Drop-In Payment UI

Used to show Braintree's drop-in UI for accepting payments.

Method Signature:

presentDropInPaymentUI(options, successCallback, failureCallback)

Parameters:

  • options (object): An optional argument used to configure the payment UI; see type definition for parameters.

Example Usage:

var options = {
    amount: "49.99",
    primaryDescription: "Your Item"
};

BraintreePlugin.presentDropInPaymentUI(options, function (result) {

    if (result.userCancelled) {
        console.debug("User cancelled payment dialog.");
    }
    else {
        console.info("User completed payment dialog.");
        console.info("Payment Nonce: " + result.nonce);
        console.debug("Payment Result.", result);
    }
});

Apple Pay (iOS only)

Do not turn on Apple Pay in Braintree if you don't have Apple Pay entitlements. To allow ApplePay payment you need to initialize Apple Pay framework before usign the Drop/In Payment UI. Read Braintree docs to setup Merchant account: https://developers.braintreepayments.com/guides/apple-pay/configuration/ios/v4#apple-pay-certificate-request-and-provisioning

Method Signature: setupApplePay(options)

Paramteres:

  • options (object): Merchant settings object, with the following keys:
    • merchantId (string): The merchant id generated on Apple Developer portal.
    • currency (string): The currency for payment, 3 letter code (ISO 4217)
    • country (string): The country code of merchant's residence. (ISO 3166-2)

Example Usage:

BraintreePlugin.setupApplePay({ merchantId : 'com.braintree.merchant.sandbox.demo-app', country : 'US', currency : 'USD'});

ApplePay shown in Drop-In UI only if BraintreePlugin.setupApplePay called before BraintreePlugin.presentDropInPaymentUI

cordova-plugin-braintree's People

Contributors

taracque avatar btafel avatar codinronan avatar rakeshmalviya0069 avatar frangelico avatar justin-credible avatar fbognini avatar fuzzau avatar sanjinl avatar

Watchers

 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.