makeapplepaypaymentService static method
Future<String>
makeapplepaypaymentService({
- required BuildContext context,
- required String country,
- required String action,
- required String currency,
- required String amt,
- required String customerEmail,
- required String trackid,
- required String udf1,
- required String udf2,
- required String udf3,
- required String udf4,
- required String udf5,
- required String tokenizationType,
- required String merchantIdentifier,
- required String shippingCharge,
- required String companyName,
- required String metadata,
This method is use to perform Apple Pay transaction From Customer UserInterface
Implementation
static Future<String> makeapplepaypaymentService({
required BuildContext context, required String country, required String action, required String currency, required String amt, required String customerEmail, required String trackid, required String udf1, required String udf2, required String udf3, required String udf4, required String udf5, required String tokenizationType, required String merchantIdentifier, required String shippingCharge, required String companyName,required String metadata
}) async {
assert(context != null, "context is null!!");
dynamic applePaymentData;
String appleRespdata="";
try {
final result = await InternetAddress.lookup('google.com');
if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
try {
if (companyName.isEmpty) {
showalertDailog(context, 'Error','Company Name should not be empty');
ResponseConfig.startTrxn = false;
}
else if (shippingCharge.isEmpty) {
showalertDailog(context, 'Error','Shipping Charges should not be empty');
ResponseConfig.startTrxn = false;
}
else {
var dblamt = double.parse(amt);
var dblshippingcharge = double.parse(shippingCharge);
List<PaymentItem> paymentItems1 = [
PaymentItem(label: 'Label', amount: dblamt,shippingcharge: dblshippingcharge)
];
// initiate payment
applePaymentData = await ApplePayFlutter.makePayment(
countryCode: country,
currencyCode: currency,
paymentNetworks: [
PaymentNetwork.visa,
PaymentNetwork.mastercard,
PaymentNetwork.amex,
PaymentNetwork.mada
],
merchantIdentifier: merchantIdentifier,
paymentItems: paymentItems1,
customerEmail: customerEmail,
customerName: "Demo User",
companyName: companyName,
);
// _writetoFile(" Apple token Data :" + applePaymentData.toString());
}
}
on PlatformException catch(e){
print('error caught: $e');
print('Failed payment');
}
var totalcharge= double.parse(amt)+double.parse(shippingCharge);
String strtlchr=totalcharge.toString();
if(applePaymentData.toString().contains("code"))
{
return "";
}
else {
var order = await applepayapi(
context,
country,
action,
currency,
strtlchr,
customerEmail,
trackid,
udf1,
udf2,
udf3,
udf4,
udf5,
tokenizationType,
applePaymentData,metadata);
appleRespdata = order;
}
}
}
on SocketException catch (e) {
print('error caught: $e');
ResponseConfig.startTrxn = false;
//appleRespdata = "Please check internet connection";
showalertDailog(context, 'Alert', "Please check Internet Connection");
}
return appleRespdata;
}