Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zyra/cordova-plugin-stripe
A Cordova plugin that lets you use Stripe's Native SDKs for Android and iOS.
https://github.com/zyra/cordova-plugin-stripe
cordova cordova-plugin stripe
Last synced: about 2 hours ago
JSON representation
A Cordova plugin that lets you use Stripe's Native SDKs for Android and iOS.
- Host: GitHub
- URL: https://github.com/zyra/cordova-plugin-stripe
- Owner: zyra
- License: mit
- Created: 2016-12-03T22:00:17.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-02-19T19:06:16.000Z (over 1 year ago)
- Last Synced: 2024-05-07T23:02:47.480Z (7 months ago)
- Topics: cordova, cordova-plugin, stripe
- Language: Objective-C
- Homepage:
- Size: 31.4 MB
- Stars: 92
- Watchers: 8
- Forks: 57
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
> 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](https://github.com/capacitor-community/stripe) for a maintained alternative.
>
> This repo will be updated eventually by porting over the Capacitor plugin code. PRs are welcome.
---# Cordova Stripe Plugin
A Cordova plugin that lets you use Stripe Native SDKs for Android, iOS and Browser.[![npm](https://img.shields.io/npm/l/cordova-plugin-stripe.svg)](https://www.npmjs.com/package/cordova-plugin-stripe/)
[![npm](https://img.shields.io/npm/dt/cordova-plugin-stripe.svg)](https://www.npmjs.com/package/cordova-plugin-stripe)
[![npm](https://img.shields.io/npm/dm/cordova-plugin-stripe.svg)](https://www.npmjs.com/package/cordova-plugin-stripe)## Installation
```shell
cordova plugin add cordova-plugin-stripe
```
## Usage
First we need to set our publishable key. This can be your test or live key.
```javascript
cordova.plugins.stripe.setPublishableKey('pk_test_MyPublishableKey');
```Now we can create a credit card token to send to our backend.
```javascript
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](#module_stripe)
* [.setPublishableKey(key, [success], [error])](#module_stripe.setPublishableKey)
* [.createCardToken(creditCard, success, error)](#module_stripe.createCardToken)
* [.createBankAccountToken(bankAccount, success, error)](#module_stripe.createBankAccountToken)
* [.validateCardNumber(cardNumber, success, error)](#module_stripe.validateCardNumber)
* [.validateExpiryDate(expMonth, expYear, success, error)](#module_stripe.validateExpiryDate)
* [.validateCVC(cvc, success, error)](#module_stripe.validateCVC)
* [.getCardType(cardNumber, success, error)](#module_stripe.getCardType)
* [.CreditCardTokenParams](#module_stripe.CreditCardTokenParams) :Object
* [.BankAccountTokenParams](#module_stripe.BankAccountTokenParams) :object
### stripe.setPublishableKey(key, [success], [error])
Set publishable key**Kind**: static method of [
stripe
](#module_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
](#module_stripe)| Param | Type | Description |
| --- | --- | --- |
| creditCard | [CreditCardTokenParams
](#module_stripe.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
](#module_stripe)| Param | Type | Description |
| --- | --- | --- |
| bankAccount | [BankAccountTokenParams
](#module_stripe.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
](#module_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
](#module_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
](#module_stripe)| Param | Type | Description |
| --- | --- | --- |
| cvc |string
| CVC/CVV |
| success |function
| |
| error |function
| |**Example**
```js
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
](#module_stripe)| Param | Type | Description |
| --- | --- | --- |
| cardNumber |string
| Credit card number |
| success |function
| |
| error |function
| |**Example**
```js
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
](#module_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
](#module_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:
```shell
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](#api). The plugin will automatically inject Stripe.js script into the web page when initialized.*Thanks to [klirix](https://github.com/klirix) for submitting a [PR](https://github.com/zyramedia/cordova-plugin-stripe/pull/5) for the browser platform.*
## Contribution
- **Having an issue**? or looking for support? [Open an issue](https://github.com/zyra/cordova-plugin-stripe/issues/new) 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 :smile: