diff --git a/README.md b/README.md
index 0493632..04bdd1f 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,11 @@
+# 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/express.svg)](https://www.npmjs.com/package/cordova-plugin-stripe)
[![NPM](https://nodei.co/npm/cordova-plugin-stripe.png?stars&downloads)](https://nodei.co/npm/cordova-plugin-stripe/)
[![NPM](https://nodei.co/npm-dl/cordova-plugin-stripe.png?months=6&height=2)](https://nodei.co/npm/cordova-plugin-stripe/)
-# Cordova Stripe Plugin
-A Cordova plugin that lets you use Stripe Native SDKs for Android, iOS and Browser.
-
-- [Installation](#installation)
-- [Usage](#usage)
-- [API](#api)
- - [setPublishableKey](#setpublishablekey)
- - [createCardToken](#createcardtoken)
- - [createBankAccountToken](#createbankaccounttoken)
- - [validateCardNumber](#validatecardnumber)
- - [validateCVC](#validatecvc)
- - [validateExpiryDate](#validateexpirydate)
- - [getCardType](#getcardtype)
-- [Tests](#tests)
-- [Browser Support](#browser-support)
-
-
-
## Installation
```shell
@@ -44,7 +29,7 @@ var card = {
number: '4242424242424242', // 16-digit credit card number
expMonth: 12, // expiry month
expYear: 2020, // expiry year
- cvc: '220', // CVC / CCV
+ 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)
@@ -85,57 +70,180 @@ Once you have the token, you can now send it to your backend so you can charge t
-## API
+## API Reference
-### setPublishableKey
-```
-setPublishableKey(key, success, error)
-```
-* **key**: Publishable key (string)
-Set the publishable key.
-### createCardToken
-```
-createCardToken(creditCard, success, error)
-```
-* **creditCard**: Credit card information. See example above for available properties. (Object)
+* [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
+
+
+### 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
-### createBankAccountToken
-```
-createBankAccountToken(bankAccount, success, error)
-```
-* **bankAccount**: Bank account information. See example above for available properties. (Object)
+**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
-### validateCardNumber
-```
-validateCardNumber(cardNumber, success, error)
-```
-* **cardNumber**: Credit card number
-Validate card number. Success callback will be called if valid, and error callback will be called if invalid.
+**Kind**: static method of [stripe](#module_stripe)
-### validateCVC
-```
-validateCVC(cvc, success, error)
-```
-* **cvc**: CVC
-Validate CVC number. Success callback will be called if valid, and error callback will be called if invalid.
+| Param | Type | Description |
+| --- | --- | --- |
+| bankAccount | [BankAccountTokenParams](#module_stripe.BankAccountTokenParams)
| Bank account information |
+| success | function
| Success callback |
+| error | function
| Error callback |
-### validateExpiryDate
-```
-validateExpiryDate(expMonth, expYear, success, error)
-```
-* **expMonth**: Expiry month (string)
-* **expYear**: 4 digits expiry year (string)
-Validate epxiry date. Success callback will be called if valid, and error callback will be called if invalid.
+
+
+### 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');
+}
-### getCardType
+cordova.plugin.stripe.validateCVC('424', onSuccess, onError);
```
-getCardType(cardNumber, success)
+
+
+### 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
+});
```
-* **cardNumber**: Credit card number
-Get card type. Will return one of the following: `Visa`, `MasterCard`, `American Express`, `Discover`, `Diners Club`, `JBC` or `Unknown`.
+
+
+### 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 |
+| postal_code | 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`. |
+
+
+
+
@@ -151,5 +259,5 @@ 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.*