This repository is not actively maintained and full functionality is not guaranteed.
Developing Cordova plugins is no longer a priority.
Check this Capacitor Stripe plugin repo for a maintained alternative.
This repo will be updated eventually by porting over the Capacitor plugin code. PRs are welcome.
A Cordova plugin that lets you use Stripe Native SDKs for Android, iOS and Browser.
cordova plugin add cordova-plugin-stripe
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.
- stripe
- .setPublishableKey(key, [success], [error])
- .createCardToken(creditCard, success, error)
- .createBankAccountToken(bankAccount, success, error)
- .validateCardNumber(cardNumber, success, error)
- .validateExpiryDate(expMonth, expYear, success, error)
- .validateCVC(cvc, success, error)
- .getCardType(cardNumber, success, error)
- .CreditCardTokenParams :
Object
- .BankAccountTokenParams :
object
Set publishable key
Kind: static method of stripe
Param | Type | Description |
---|---|---|
key | string |
Publishable key |
[success] | function |
Success callback |
[error] | function |
Error callback |
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 |
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 |
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 |
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 |
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);
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
});
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 |
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 . |
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
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.
- 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.
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 😄