A Cordova plugin that lets you use Stripe's Native SDKs for Android and iOS.
Switch branches/tags
Nothing to show
Clone or download
Latest commit df50d56 Sep 27, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
scripts Fix docs Sep 27, 2017
src Update documentation postal_code -> postalCode. Update browser platfo… Sep 27, 2017
tests auto docs Apr 2, 2017
typings update typings Sep 11, 2017
www fix docs Sep 27, 2017
.gitignore auto docs Apr 2, 2017
LICENSE.md Create LICENSE.md May 12, 2017
README.md docs(): update readme Sep 27, 2017
circle.yml pass tests if nothing is there commit Jul 6, 2017
package-lock.json update typings Sep 11, 2017
package.json Update package.json Aug 27, 2017
plugin.xml bump version Jul 8, 2017

README.md

Cordova Stripe Plugin

A Cordova plugin that lets you use Stripe Native SDKs for Android, iOS and Browser.

npm npm npm

Installation

cordova plugin add cordova-plugin-stripe


Usage

First we need to set our publishable key. This can be your test or live key.

cordova.plugins.stripe.setPublishableKey('pk_test_MyPublishableKey');

Now we can create a credit card token to send to our backend.

var card = {
  number: '4242424242424242', // 16-digit credit card number
  expMonth: 12, // expiry month
  expYear: 2020, // expiry year
  cvc: '220', // CVC / CCV
  name: 'John Smith', // card holder name (optional)
  address_line1: '123 Some Street', // address line 1 (optional)
  address_line2: 'Suite #220', // address line 2 (optional)
  address_city: 'Toronto', // city (optional)
  address_state: 'Ontario', // state/province (optional)
  address_country: 'Canada', // country (optional)
  postalCode: 'L5L5L5', // Postal Code / Zip Code (optional)
  currency: 'CAD' // Three-letter ISO currency code (optional)
};

function onSuccess(tokenId) {
    console.log('Got card token!', tokenId);
}

function onError(errorMessage) {
    console.log('Error getting card token', errorMessage);
}

cordova.plugins.stripe.createCardToken(card, onSuccess, onError);


// bank account example
var bankAccount = {
  routing_number: '11000000',
  account_number: '000123456789',
  account_holder_name: 'John Smith', // optional
  account_holder_type: 'individual', // optional
  currency: 'CAD',
  country: 'CA'
};

cordova.plugins.stripe.createBankAccountToken(bankAccount, onSuccess, onError);

Once you have the token, you can now send it to your backend so you can charge the customer later on.



API Reference



stripe

stripe.setPublishableKey(key, [success], [error])

Set publishable key

Kind: static method of stripe

Param Type Description
key string Publishable key
[success] function Success callback
[error] function Error callback

stripe.createCardToken(creditCard, success, error)

Create a credit card token

Kind: static method of stripe

Param Type Description
creditCard CreditCardTokenParams Credit card information
success function Success callback
error function Error callback

stripe.createBankAccountToken(bankAccount, success, error)

Create a bank account token

Kind: static method of stripe

Param Type Description
bankAccount BankAccountTokenParams Bank account information
success function Success callback
error function Error callback

stripe.validateCardNumber(cardNumber, success, error)

Validates card number

Kind: static method of stripe

Param Type Description
cardNumber String Credit card number
success function Success callback that will be called if card number is valid
error function Error callback that will be called if card number is invalid

stripe.validateExpiryDate(expMonth, expYear, success, error)

Validates the expiry date of a card

Kind: static method of stripe

Param Type Description
expMonth number Expiry month
expYear number Expiry year
success function
error function

stripe.validateCVC(cvc, success, error)

Validates a CVC of a card

Kind: static method of stripe

Param Type Description
cvc string CVC/CVV
success function
error function

Example

function onSuccess() {
  console.log('isValid');
}

function onError() {
  console.log('invalid');
}

cordova.plugin.stripe.validateCVC('424', onSuccess, onError);

stripe.getCardType(cardNumber, success, error)

Gets a card type from a card number

Kind: static method of stripe

Param Type Description
cardNumber string Credit card number
success function
error function

Example

cordova.plugins.stripe.getCardType('4242424242424242', function(cardType) {
  console.log(cardType); // visa
});

stripe.CreditCardTokenParams : Object

Parameters to create a credit card token

Kind: static typedef of stripe
Properties

Name Type Description
number string Card number
expMonth number Expiry month
expYear number Expiry year
cvc string CVC/CVV
name string Cardholder name
address_line1 string Address line 1
address_line2 string Address line 2
address_city string Address line 2
address_state string State/Province
address_country string Country
postalCode string Postal/Zip code
currency string 3-letter code for currency

stripe.BankAccountTokenParams : object

Parameters to create a bank account token

Kind: static typedef of stripe
Properties

Name Type Description
routing_number string Routing number
account_number string Account number
currency string Currency code. Example: CAD.
country string Country code. Example: CA.
account_holder_name string Account holder name
account_holder_type string Account holder type. This can be individual or company.




Tests

To test this plugin with cordova-plugin-test-framework, run the following command to install the tests:

cordova plugin add https://github.com/zyramedia/cordova-plugin-stripe#:/tests


Browser support

This plugin provides browser platform support. Method names and signatures match the API above. The plugin will automatically inject Stripe.js script into the web page when initialized.

Thanks to klirix for submitting a PR for the browser platform.



Contribution

  • Having an issue? or looking for support? Open an issue and we will get you the help you need.
  • Got a new feature or a bug fix? Fork the repo, make your changes, and submit a pull request.

Support this project

If you find this project useful, please star the repo to let people know that it's reliable. Also, share it with friends and colleagues that might find this useful as well. Thank you 😄