Card IO
Repo: https://github.com/card-io/card.io-Cordova-Plugin
Installation
- Install the Cordova and Ionic Native plugins:
$ ionic cordova plugin add card.io.cordova.mobilesdk $ npm install --save @ionic-native/card-io
- Add this plugin to your app's module
Supported platforms
- Android
- iOS
Usage
Note: For use with iOS 10 + When building your app with the iOS 10 SDK +, you have to add some info to the info.plist file. This is due to increased security in iOS 10. Go to your app directory and search for the
<key>NSCameraUsageDescription</key>
<string>To scan credit cards.</string>
import { CardIO } from '@ionic-native/card-io';
constructor(private cardIO: CardIO) { }
...
this.cardIO.canScan()
.then(
(res: boolean) => {
if(res){
let options = {
requireExpiry: true,
requireCVV: false,
requirePostalCode: false
};
CardIO.scan(options);
}
}
);
Instance Members
canScan()
Check whether card scanning is currently available. (May vary by
device, OS version, network connectivity, etc.)
Returns: Promise<boolean>
scan(options)
Scan a credit card with card.io.
Param | Type | Details |
---|---|---|
options |
CardIOOptions
|
Options for configuring the plugin |
Returns: Promise<any>
version()
Retrieve the version of the card.io library. Useful when contacting support.
Returns: Promise<string>
CardIOOptions
Param | Type | Details |
---|---|---|
requireExpiry |
boolean
|
Set to true to require expiry date (optional) |
requireCVV |
boolean
|
The user will be prompted for the card CVV (optional) |
requirePostalCode |
boolean
|
The user will be prompted for the card billing postal code. (optional) |
suppressManual |
boolean
|
Removes the keyboard button from the scan screen. (optional) |
restrictPostalCodeToNumericOnly |
boolean
|
The postal code will only collect numeric input. Set this if you know the expected country's postal code has only numeric postal codes. (optional) |
keepApplicationTheme |
boolean
|
The theme for the card.io Activity's will be set to the theme of the application. (optional) |
requireCardholderName |
boolean
|
The user will be prompted for the cardholder name (optional) |
scanInstructions |
string
|
Used to display instructions to the user while they are scanning their card. (optional) |
noCamera |
boolean
|
If set, the card will not be scanned with the camera. (optional) |
scanExpiry |
boolean
|
If scanExpiry is true, an attempt to extract the expiry from the card image will be made. (optional) |
languageOrLocale |
string
|
The preferred language for all strings appearing in the user interface. If not set, or if set to null, defaults to the device's current language setting. (optional) |
guideColor |
string
|
Changes the color of the guide overlay on the camera. The color is provided in hexadecimal format (e.g. |
supressConfirmation |
boolean
|
The user will not be prompted to confirm their card number after processing. (optional) |
hideCardIOLogo |
boolean
|
The card.io logo will not be shown overlaid on the camera. (optional) |
useCardIOLogo |
boolean
|
The card.io logo will be shown instead of the PayPal logo. (optional) |
supressScan |
boolean
|
Once a card image has been captured but before it has been processed, this value will determine whether to continue processing as usual. (optional) |
CardIOResponse
Param | Type | Details |
---|---|---|
cardType |
string
|
Card type |
redactedCardNumber |
string
|
Masked card number, showing only last 4 digits |
cardNumber |
string
|
Full card number |
expiryMonth |
number
|
Expiry month |
expiryYear |
number
|
Expiry year |
cvv |
string
|
CVV |
postalCode |
string
|
Postal code |
cardholderName |
string
|
Cardholder name |