card91_plugin

Creator: coderz1093

Last updated:

Add to Cart

Description:

card91 plugin

Card91 issue card flutter plugin #
This package is used to issue card for a customer based on the validated input taken on the form. This package directly communicates to Card91 SDK.
Features #
Package directly communicate with the SDK (secured platform) to issue card and create a card holder.
Getting started #
Add the widget package on your pubspec version
$ flutter pub add card91_plugin
Use this package as a library #
Run this command: With Flutter:
flutter pub add card91_plugin
Import it
Now in your Dart code, you can use:
import 'package:card91_plugin/card91_flutter_library.dart';
Usage #
Open the widget by passing the required parameter to use it. Check out the below code snippet for the same.
Sample code below

class OnBoarding extends StatefulWidget {
const OnBoarding({Key? key}) : super(key: key);

@override
State<OnBoarding> createState() => _OnBoardingState();
}

class _OnBoardingState extends State<OnBoarding> {
final Card91Controller _controller = Card91Controller();// create a instance of the Card91Controller which helps calling the SDK required function
String env=""; /// SANDBOX or PROD
String templateId=""; // template id will be provide separately
String cardProgramId="";// eg.230528190350397ID1CP9723194, card ID
String organizationId=""; // eg. 230526135544169ID1OID4070270, Organization id
String uniqueId="";// eg . unique, Unique Identifier
String authUrl=""; // Auth url which all application has to configure in order to get the business token
String cardMode=""; // eg. DIGITAL_ONLY_CARD, type of card user wanted to generate
String customFields="{\"step1\":[{\"name\":\"fullName\",\"displayText\":\"Full Name\",\"elements\":{\"type\":\"text\",\"defaultValue\":\"\"}},{\"name\":\"mobile\",\"displayText\":\"Mobile No.\",\"elements\":{\"type\":\"text\",\"defaultValue\":\"\"}},{\"name\":\"pan\",\"displayText\":\"PAN\",\"elements\":{\"type\":\"text\",\"defaultValue\":\"\"}},{\"name\":\"nameOnCard\",\"displayText\":\"Name on card\",\"elements\":{\"type\":\"text\",\"defaultValue\":\"\"}}]}";

@override
void initState() {

super.initState();
}

@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Container(
color: Colors.black12,
child: Column(
children: [

IconButton(
onPressed: (){
_controller.callStep!("step2");
},
icon: Icon(
Icons.adb_outlined,
size: 30,
color: AppColors.blackFont,
),
),
const SizedBox(height: 20,),
IssueCard(
env: env,
templateId: templateId,
cardProgramId: cardProgramId,
organizationId: organizationId,
uniqueId: uniqueId,
authUrl: authUrl,
cardMode: cardMode,
customFields: customFields,
card91controller: _controller,
onDataResponse: (String dataResponse) {
print("Data response from SDK--->$dataResponse");
},),

// const SponsoredWidget(),
],
),
),
),
// const LoadingIndicatorConsumer<HomeViewModel>()
);
}
}


copied to clipboard
Sample steps JSON for "customFields" param #
{
"step1": [
{
"name": "fullName",
"displayText": "Full Name",
"elements": {
"type": "text",
"defaultValue": ""
}
},
{
"name": "mobile",
"displayText": "Mobile No.",
"elements": {
"type": "text",
"defaultValue": ""
}
},
{
"name": "pan",
"displayText": "PAN",
"elements": {
"type": "text",
"defaultValue": ""
}
},
{
"name": "nameOnCard",
"displayText": "Name on card",
"elements": {
"type": "text",
"defaultValue": ""
}
}
]
}
copied to clipboard
For Issue Card takes the following props:
Input props #



Name
Type
Required
Description




templateId
string
true
Use to indicate key for design template


environment
string
false
Use "SANDBOX" for production sandbox environment and "PROD" for production environment .


cardProgramId
string
true
Customer Card program id which come when you login with MPIN/Auth token


organizationId
string
true
Need to pass business id


uniqueId
string
true
Need to pass secret key auth url validation


authUrl
string
true
Auth Url from client need pass in responses attached with token


onSubmit
string
true
Methods used to trigger submit button through web view


customFields
object
true
Fields which represent which step have to show


step
string
true
Steps indicates which represent active step of issue card form


cardMode
string
true
value should be DIGITAL_ONLY_CARD / PHYSICAL_NAMED_CARD



Card91 min KYC flutter plugin #
This package is used to complete the min KYC of the customer who has NSDL cards. This package directly communicates to Card91 SDK.
Features #
Package directly communicate with the SDK (secured platform) to complete the min KYC of a card holder.
Getting started #
Add the widget package on your pubspec version
$ flutter pub add card91_plugin
Use this package as a library #
Run this command: With Flutter:
flutter pub add card91_plugin
Import it
Now in your Dart code, you can use:
import 'package:card91_plugin/card91_flutter_library.dart';
Usage #
Open the widget by passing the required parameter to use it. Check out the below code snippet for the same.
Sample code below

class OnBoardingKYC extends StatefulWidget {
const OnBoardingKYC({Key? key}) : super(key: key);

@override
State<OnBoardingKYC> createState() => _OnBoardingKYCState();
}

class _OnBoardingKYCState extends State<OnBoardingKYC> {

String env="";/// SANDBOX or PROD
String templateId="";///template id will be provide separately
String mobile=""; //eg. 91***2077430, card holder mobile number

@override
void initState() {
super.initState();
}

@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Column(
children: [
const SizedBox(height: 20,),
SizedBox(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: CardKYCFunction(
env: env,
template: templateId,
mobile: mobile,
onDataResponse: (String dataResponse) {
switch (dataResponse) {
case "C91_MIN_KYC_INITIALISED":
// Do something to indicate that library is initialized
break;
case "C91_MIN_KYC_SUCCESS":
// Do something to indicate that the API calls have succeeded
break;
case "C91_MIN_KYC_API_FAILURE":
// Do something to indicate that the API calls have failed
break;
case "C91_MIN_KYC_AUTHENTICATION_FAILURE":
// Do something to indicate that the API calls have Unauthorized
break;
case "C91_MIN_KYC_SERVER_FAILURE":
// Do something to indicate that the API calls have Server Error
break;
case 'C91_ISSUE_CARD_API_FAILURE':
// Do something to indicate that the API calls have failed
break;
case "C91_MIN_KYC_MISSING_PARAMETER":
// Do something to indicate that Parameter is missing
break;
case "C91_MIN_KYC_OTP_SEND_FAIL":
// Do something to indicate that the API fails to send the OTP
break;
case "C91_MIN_KYC_OTP_VERIFICATION_FAIL":
// Do something to indicate that the API MIN KYC Verification is failed
break;
case 'C91_MIN_KYC_MOBILE_ALREADY_EXIST_OR_INVALID':
// Do something to indicate that the KYC already done or mobile number invalid
// Check the payload to identify the two cases here

}
},),
),
],
),
),

);
}
}



copied to clipboard
For Issue Card takes the following props:
Input props #



Name
Type
Required
Description




template
string
true
Use to indicate key for design template


env
string
true
Use "SANDBOX" for production sandbox environment and "PROD" for production environment .


mobile
string
true
Card holder mobile number


onDataResponse
call back function
true
In order to get the callback event from the SDK



The events are as follows:
The events are as follows:
[block:parameters]
{
"data": {
"h-0": "Event Name",
"h-1": "Description",
"0-0": "C91_MIN_KYC_INITIALISED",
"0-1": "The NSDL MIN KYC screen has been initialised.",
"1-0": "C91_MIN_KYC_SUCCESS",
"1-1": "The API request related to the NSDL MIN KYC screen was successful.",
"2-0": "C91_MIN_KYC_API_FAILURE",
"2-1": "The API request related to theNSDL MIN KYC screen has failed.",
"3-0": "C91_MIN_KYC_AUTHENTICATION_FAILURE",
"3-1": "Authentication for the NSDL MIN KYC screen has failed.",
"4-0": "C91_MIN_KYC_SERVER_FAILURE",
"4-1": "The server encountered an error while processing the NSDL MIN KYC request.",
"5-0": "C91_MIN_KYC_MISSING_PARAMETER",
"5-1": "A required parameter is missing in the NSDL MIN KYC request.",
"6-0": "C91_MIN_KYC_OTP_SEND_FAIL",
"6-1": "The API request for generating the OTP for the NSDL MIN KYC has failed.",
"7-0": "C91_MIN_KYC_OTP_VERIFICATION_FAIL",
"7-1": "The API request for validating the OTP has failed for the NSDL MIN KYC",
"8-0": "C91_MIN_KYC_MOBILE_ALREADY_EXIST_OR_INVALID",
"8-1": "KYC for this mobile number is already done or the mobile number is not valid. \nPayload of both these event will be different."
},
"cols": 2,
"rows": 9,
"align": [
"left",
"left"
]
}
[/block]

Card91 reset atm pin plugin #
This package is used to change the ATM pin of the card associated with card91 card holders. This package directly communicates to Card91 SDK.
Features #
Package directly communicate with the SDK (secured platform) to change the ATM Pin of the card.
Getting started #
Add the widget package on your pubspec version
$ flutter pub add card91_reset_atmpin
Use this package as a library #
Depend on it
Run this command:
With Flutter:
$ flutter pub add card91_reset_atmpin
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):
dependencies:card91_reset_atmpin: (updated version)
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.
Import it
Now in your Dart code, you can use:
import 'package:card91_reset_atmpin/card91_reset_atm_pin.dart';
Usage #
Open the widget by passing the required parameter to use it. Check out the below code snippet for the same.
Sample code below
import 'package:card91_reset_atmpin/card91_reset_atmpin.dart';

Get.to(
() => Card91ResetAtmPinSuper(
cardId: "##@^#^#@^@^",
token: "@%%@Y@FYFHFH@GFHH@GH",
phoneNumber:"+91-98******12",
env: "PROD",
onDataResponse:(String response){
setState(() => print("Response from package =$response"));
}
));

copied to clipboard
Input parameter for CardViewItemWidget #



Name
Type
Required
Description




cardId
string
true
cardId which has been received form login token service (Card91 API)


token
string
true
Auth Token received from the Card91 APIs


phoneNumber
string
true
Mobile number of the card holder ( format +91-88******23 )


env
string
true
based on env base url for webview will change eg. PROD, PROD_SANDBOX


onDataResponse
Function
true
Add a call back function to receive the error & success event



Basic call back event type #

Event Types that can be handled

"C91_RESET_PIN_SUCCESS":Called when the server-side APIs load successfully. At this time, ATM pin change is successfully done..

"C91_RESET_PIN_OTP_SCREEN_INITIALISED": Called when the server-side ATM pin changes OTP screen loads successfully.

copied to clipboard
Card91 card view plugin #
This package is made to utilize to display the card details which includes the card number, expiry and the CVV associated with card. This package directly communicates to Card91 SDK to fetch the card details issued to the cardholder.
Features #
Package directly communicate with the SDK (secured platform) with provided details basic details
of the card and in return package display the card details
Getting started #
Add the widget package on your pubspec version
$ flutter pub add card91_webview
Use this package as a library #
Depend on it
Run this command:
With Flutter:
$ flutter pub add card91_webview
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):
dependencies:card91_webview: (updated version)
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.
Import it
Now in your Dart code, you can use:
import 'package:card91_webview/card91_webview.dart';
Usage #
Add the widget on the specified container as child specifically as per the your design choice. Check out the below code snippet for the same. Since the card may be multiple so try to add the CardViewItemWidget inside the PageView builder and then within itembuilder add the CardViewItemWidget
Sample code below
import 'package:card91_webview/card91_webview.dart';

PageView.builder(
itemBuilder:(context, index)
{
return Column
(

children:[
Center(
child: CardViewItemWidget(
cardId: "", // provide card id here
customerId: "", // Customer id
cardLastFourDigit: "", // last four digit of the card for which details need to be loaded
token: "", // auth token needs to be provided here
nameOnCard: "", // provide name on card value here
templateId: "default", // based on card layout and function selected
env:"PROD", // based on env base url for webview will change eg. PROD, PROD_SANDBOX
cardImageUrl: "https:XXXXXXXX", // card background image user needs to be added her
onDataResponse:(String response){
setState(() => print("Repose from package$response"));
}),
)
]
)
}
)

copied to clipboard
Input parameter for CardViewItemWidget #



Name
Type
Required
Description




cardId
string
true
cardId which has been received form login token service (Card91 API)


customerId
string
true
customerId from the Card91 Login token API


cardLastFourDigit
string
true
cardId which has been received form login token service (Card91 API)


token
string
true
Auth Token received from the Card91 APIs


nameOnCard
string
true
Name of the customer to appear in the CardView


templateId
string
true
Look and feel of the card based on templateId, Bydefault its "default"


env
string
true
based on env base url for webview will change eg. PROD, PROD_SANDBOX


cardImageUrl
string
true
Card Background URL


onDataResponse
Function
true
Add a call back function to receive the error & success event



Basic call back event type #
Event Types that can be handled



Event Name
Description




C91_CARD_DETAILS_FETCH_SUCCESS
Called when the server-side APIs load successfully. At this time, the card details are available, but they will be masked if no call to action has been triggered.


C91_CARD_DETAILS_FETCH_FAILURE
Called when the server-side APIs fail to load. An error message would be visible in the CardView.


C91_CARD_NUMBER_SHOWN
Called upon the successful operation of the showNumber trigger. At this time, the card number and the expiry date are un-masked and the CVV is masked.


C91_CARD_CVV_SHOWN
Called upon the successful operation of the showCVV trigger. At this time, the CVV is un-masked and the card number and the expiry date are masked.


C91_CARD_AUTHENTICATION_FAILURE
Call back event type when client is passing incorrect or expired auth token


C91_CARD_MISSING_PARAMETER
Call back event type when client is not passing any required/blank parameter .


C91_CARD_SERVER_FAILURE
Call back event type when there is server service exception with error code 500 to 599



Card91 Transaction List plugin #
This package is used to list the transaction of the card associated with card91 card holders. This package directly communicates to Card91 SDK.
Features #
Package directly communicate with the SDK (secured platform) to check the transaction the card.
Getting started #
Add the widget package on your pubspec version
$ flutter pub add card91_transaction
Use this package as a library #
Depend on it
Run this command:
With Flutter:
$ flutter pub add card91_transaction
This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):
dependencies:card91_transaction: (updated version)
Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.
Import it
Now in your Dart code, you can use:
import 'package:card91_transaction/card91_transaction.dart';
Usage #
Open the widget by passing the required parameter to use it. Check out the below code snippet for the same.
Sample code below
import 'package:card91_transaction/card91_transaction.dart';

Get.to(() => Card91Transaction(
cardId: "@#@#@#", // User card id should be passed here
token: "@#@#23232", // Customer auth token should be passed here
template: "xoltt", //
env: "PROD", //based on env base url for webview will change eg. PROD, PROD_SANDBOX
onDataResponse:(String response){
setState(() => print("Response from package =$response"));
}
));
copied to clipboard
Input parameter for CardViewItemWidget #



Name
Type
Required
Description




cardId
string
true
cardId which has been received form login token service (Card91 API)


token
string
true
Auth Token received from the Card91 APIs


template
string
true
default value would be "xoltt"


env
string
true
based on env base url for webview will change eg. PROD, PROD_SANDBOX


onDataResponse
Function
true
Add a call back function to receive the error & success event



Basic call back event type #



Event Name
Description




c91_TXN_SCREEN_SUCCESS
Called when the server-side APIs load successfully. At this time, Transaction list is successfully .


C91_TXN_AUTHENTICATION_FAILURE
Call back event type when client is passing incorrect or expired auth token.


C91_TXN_MISSING_PARAMETER
Call back event type when client is not passing any required/blank parameter .


C91_TXN_SERVER_FAILURE
Call back event type when there is server service exception with error code 500 to 599


C91_TXN_SCREEN_INITIALISED
Called when the server-side ATM pin changes OTP screen loads successfully.


C91_TXN_API_FAILURE
Called when the server-side api failed.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files:

Customer Reviews

There are no reviews.