telebirr Flutter SDK
telebirr Flutter sdk for telebirr payment API.
Features
- Get toPayUrl from telebirr using telebirr sdk api
Getting Started
In order to use this plugin you need these keys from telebirr
- appId
- appKey
- publicKey
- test url //for test mode
To use this plugin add 'flutter_telebirr' as dependency in your pubspec.yaml file. For example:
dependencies:
flutter_telebirr: ^0.0.4
To allow your application to access telebirr api on the Internet,
:point_right: Android
add the following permission to your AndroidManifest.xml
file:
<uses-permission android:name="android.permission.INTERNET"/>
In order to use telebirr test urls
:point_right: Android
add the following attribute to the application
element:
<application ... android:usesCleartextTraffic="true">
:point_right: IOS
add the following to your Info.plist
file:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
How to use
- Configure
If you set test mode you need to pass testUrl provided by telebirr
Ps. Don't include /toTradeSDKPay
at the end of test url,
instead use this format 'http://<IP>:<PORT>/service-openup
'
TelebirrPayment.instance.configure(
publicKey: publicKey,
appId: '<appId>',
appKey: "<appKey>",
notifyUrl: "https://localhost/notifyUrl",
shortCode: "<shortCode>",
merchantDisplayName: "Organization name",
// mode: Mode.test,
// testUrl: 'http://<IP>:<PORT>/service-openup',
);
- call
startPayment
and passitemName
andtotalAmount
...
final response = await TelebirrPayment.instance.startPayment(
itemName: "Goods name",
totalAmount: "10",
);
- If you get successful response you can load
toPayUrl
with any url loader package.
...
var toPayUrl = '';
if(response !=null && response!.isSuccess){
toPayUrl = response.data?.toPayUrl ?? '';
}