initPayment static method
dynamic
initPayment({})
Implementation
static initPayment({
required num amount,
required String orderId,
String? successUrl,
String? failureUrl,
required Function(Map<String, dynamic> successData) onSuccess,
required Function(Map<String, dynamic> failureData) onFailure,
VoidCallback? onCancel,
}) async {
try {
if (_skyConfig == null) {
onFailure({"message": "Please initialize the config"});
return;
}
final navigatorState = _skyConfig!.navigatorKey.currentState;
final paymentLink = Constants.generatePaymentLink(
apiKey: _skyConfig!.apiKey,
amount: amount,
orderId: orderId,
);
final result = await navigatorState!.push(MaterialPageRoute(
builder: (context) {
return PaymentScreen(
paymentUrl: paymentLink,
);
},
));
if (result == null) {
if (onCancel != null) onCancel();
} else if (result["status"]) {
onSuccess(result["data"]);
} else {
onFailure(result["data"]);
}
} catch (e) {
onFailure({"message": e.toString()});
}
}