Last updated:
0 purchases
icash
icash #
icash_sdk is flutter plugin that let's developer to integrate native iCash payment method into their flutter application with just few lines of code.
Getting Started #
How to install
Depend on it
```Language
dependencies:
icash: 0.0.1
```
copied to clipboard
Usage
1. Implement `IcashInterface` to your widget and overwrite `onIcashSuccess` and `onIcashError` error methods.
Example
```Language
import 'package:icash/icash.dart';
//..your code
class _IcashTestState extends State<MyApp> implements IcashInterface {
//..your code
@override
void onIcashSuccess(Map<String, String> _res) {
//_res consist of response with
//{"process_id":"5857603639157688230722287658","customer":"Test User","merchant":"Test Company","amount":"100","transaction_id":"abc12356","status":"Complete"}
}
//..your code
@override
void onIcashError(String _action) {
//_action consist of error type which is one of
APP_CLOSED
NETWORK_ERROR
DUPLICATE
TRANSACTION_ERROR
}
//..your code
```
2. To initiate payment process declear iCashPayment class and call doPayment method as below
```Language
//pass you current widget build context
void initatePayment(BuildContext _ctx) {
iCashPayment _ipayment = iCashPayment(this);
_ipayment.doPayment(_ctx,
vendor_key: "your vendor key",
amount: "1000",
title: "Icash Test",
description: "This is only for test",
transaction_id: "abc123456");
}
```
copied to clipboard
Complete Example
import 'package:flutter/material.dart';
import 'package:icash/icash.dart';
void main() {
runApp(const MyApp());
}
class IcashTestState extends StatefulWidget {
const IcashTestState({Key? key}) : super(key: key);
@override
State<IcashTestState> createState() => _IcashTestState();
}
class _IcashTestState extends State<IcashTestState> implements IcashInterface {
@override
void initState() {
super.initState();
}
@override
void onIcashSuccess(Map<String, String> _res) {
//_res consist of response with
//{"process_id":"5857603639157688230722287658","customer":"Test User","merchant":"Test Company","amount":"100","transaction_id":"abc12356","status":"Complete"}
}
@override
void onIcashError(String _action) {
//_action consist of error type which is one of
APP_CLOSED
NETWORK_ERROR
DUPLICATE
TRANSACTION_ERROR
}
void initatePayment(BuildContext _ctx) {
iCashPayment _ipayment = iCashPayment(this);
_ipayment.doPayment(_ctx,
vendor_key: "your vendor key",
amount: "1000",
title: "Icash Test",
description: "This is only for test",
transaction_id: textFieldController.text);
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('iCash Payment Test App'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Builder(
builder: (context) => RaisedButton(
onPressed: () {
initatePayment(context);
},
child: Text('Pay 100'),
),
)
],
),
),
),
);
}
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.