PayTech
Installation
Paytech is available through pub.dev
. To install
it, simply add the following line to your pubspec.yam:
dependencies:
paytech: ^5.0.2 #latest flutter version( compileSdkVersion 34 for Android)
dependency_overrides:
webview_flutter_android: 3.16.1
dependencies:
paytech: ^4.0.0 #flutter
dependencies:
paytech: ^3.0.2 #null-safety first introduction
dependencies:
paytech: ^0.1.2 #no null-safety support
IMPORTANT
When making a request to https://paytech.sn/api/payment/request-payment
, you should set the success_url
and cancel_url
fields to the respective values:
https://paytech.sn/mobile/success
for the success URL, andhttps://paytech.sn/mobile/cancel
for the cancel URL.
{
"item_name": "Business plane ticket Paris-Dakar",
"item_price": 560000, "currency": "XOF",
"ref_command": "RV3Q2LDUQ0FMP9F2EV2OFU8WV2K2VBZFED5R0QQO33IXSVTHSK48LD9GHXCO79", "command_name": "Purchase of three Paris Dakar business plane tickets for John Mcarty", "ipn_url": "https://partner-domaine.com/api/ipn_callback",
"success_url": "https://paytech.sn/mobile/success",
"cancel_url": "https://paytech.sn/mobile/cancel",
"custom_field": "some_serialized_data"
}
Doing this will enable the plugin to handle the events accordingly.
Example
To run the example project, clone the repo, and run flutter pub get
from the Example directory first.
Import PayTech Module
import 'package:paytech/paytech.dart';
Use Paytech
widget to make a payment.
onPressed: () async{
/** * Get this Url from Your backend * Your Backend must call https://paytech.sn/api/payment/request-payment to generate a payment token * Set success_url to https://paytech.sn/mobile/success * Set cancel_url to https://paytech.sn/mobile/cancel */ var paymentUrl = "https://paytech.sn/payment/checkout/729b3e3021226cd27905";
bool? paymentResult = await Navigator.push( context, MaterialPageRoute(builder: (context) => PayTech(paymentUrl)), ) ;
if(paymentResult == true){ print("Payment success"); } else{ print("Payment failed"); }},
PayTech Widget
You can pass optional additional arguments to PayTech constructor:
{
backButtonIcon: IconData, //default Icons.arrow_back_ios
appBarTitle: String, //default "PayTech"
centerTitle: bool, //default true
appBarBgColor: Color, //default Color(0xFF1b7b80)
appBarTextStyle: TextStyle, //default TextStyle(),
hideAppBar: bool, //default false
}
Web support (only for > paytech 5.0.2)
Update web/index.html
For the web platform, you need to include the web_support.js file provided by the plugin in your web/index.html file. This file helps in initializing the WebView for Flutter Web.
- download web_support.js from
https://raw.githubusercontent.com/touskar/paytech-flutter/master/web_support.js
- include it in
/assets/packages/paytech/assets/web/
- Add the following script tag to the section of your web/index.html:
<head>
<!-- ... -->
<script type="application/javascript" src="/assets/packages/paytech/assets/web/web_support.js" defer></script>
<!-- ... --></head>
Author
Moussa Ndour (moussa.ndour@intech.sn / WhatsApp +221772457199)
contact@paytech.sn
https://intech.sn
https://paytech.sn
License
PayTech is available under the MIT license. See the LICENSE file for more info.