startPayment method
Future<Payment>
startPayment(
- PaymentParameters paymentParameters,
- PromptParameters promptParameters
override
Implementation
@override
Future<Payment> startPayment(PaymentParameters paymentParameters,
PromptParameters promptParameters) async {
var amountMoney = {
"amount": paymentParameters.amountMoney.amount,
"currencyCode": paymentParameters.amountMoney.currencyCode.name
};
var appFeeMoney = paymentParameters.appFeeMoney != null
? {
"amount": paymentParameters.appFeeMoney!.amount,
"currencyCode": paymentParameters.appFeeMoney!.currencyCode.name
}
: null;
var tipMoney = paymentParameters.tipMoney != null
? {
"amount": paymentParameters.tipMoney!.amount,
"currencyCode": paymentParameters.tipMoney!.currencyCode.name
}
: null;
var params = <String, dynamic>{
'paymentParameters': {
...paymentParameters.toJson(),
"amountMoney": amountMoney,
"appFeeMoney": appFeeMoney,
"tipMoney": tipMoney
},
'promptParameters': promptParameters.toJson(),
};
try {
final response =
await methodChannel.invokeMethod<Map>('startPayment', params);
if (response == null) {
throw getChannelStateError("startPayment()", "returned null");
}
final paymentJson = castToMap(response);
return Payment.fromJson(paymentJson);
} on PlatformException catch (e) {
throw PaymentError(e.code, e.message, e.details);
}
}