使用FlutterWave api网关为您的Flutter应用添加移动支付。
功能
- 在乌干达通过移动支付收款
- 支持MTN Momo交易
- 支持Airtel Money交易
- 在充值前验证您的交易
入门
获取您的api密钥,请前往https://dashboard.flutterwave.com/settings/apis
您可能还想阅读flutterwave的文档。请访问https://developer.flutterwave.com/reference
用法
创建 UgandaMobileMoney 类的实例。
const secretKey = "FLWSECK-XXXXX-X"; // flutterwave secret key
UgandaMobileMoney _mobileMoney = UgandaMobileMoney(secretKey);
发起支付
void chargeClient() async {
MomoPayResponse response = await _mobileMoney.chargeClient(
MomoPayRequest(
txRef: "MC-01928403", // should be unique for each transaction
amount: "1500", // amount in UGX you want to charge
email: "[email protected]", // email of the person you want to charge
phoneNumber: "256123456723", // clients phone number
fullname: "Ojangole Joran", // full name of client
redirectUrl: "https://yoursite.com", // redirect url after payment
voucher: "128373", // useful for vodafone. you can ignore this
network: UgandaNetwork.mtn // network, can be either mtn or airtel
),
);
print(response.message);
}
验证交易
void verifyTransaction() {
_mobileMoney.verifyTransaction(taxRef).then((value) {
if (value == TransactionStatus.failed) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Failed")));
} else if (value == TransactionStatus.pending) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Pending")));
} else if (value == TransactionStatus.success) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Success")));
} else if (value == TransactionStatus.unknown) {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Unknown")));
} else {
ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text("Unknown")));
}
});
}
附加信息
如果您有任何功能请求,请与我联系,或通过仓库提交问题。
您也可以给我买个rolex : https://dashboard.flutterwave.com/donate/7nacgysd7ilf