initApplePay method
- required String merchantId,
- required String merchantName,
- List<
TapPayCardType> ? allowedCardTypes, - bool? isConsumerNameRequired = false,
- bool? isPhoneNumberRequired = false,
- bool? isEmailRequired = false,
- bool? isBillingAddressRequired = false,
Initialize Apple Pay
merchantId
is Apple Pay's merchant ID
merchantName
is the name of the merchant. (e.g., "Apple Pay Merchant")
allowedCardTypes
is the list of allowed card networks. Default value is TapPayCardType.visa, TapPayCardType.masterCard, TapPayCardType.americanExpress, TapPayCardType.jcb
isConsumerNameRequired
is a boolean value to indicate whether to require consumer name. Default value is false
isPhoneNumberRequired
is a boolean value to indicate whether to require phone number. Default value is false
isEmailRequired
is a boolean value to indicate whether to require email. Default value is false
isBillingAddressRequired
is a boolean value to indicate whether to require billing address. Default value is false
return ApplePayInitResult
with value success
as true
if success.
return ApplePayInitResult
with value success
as false
if fail.
return ApplePayInitResult
with value message
as String if fail.
return null
if the initialization is incomplete
Implementation
@override
Future<TapPaySdkCommonResult?> initApplePay({
required String merchantId,
required String merchantName,
List<TapPayCardType>? allowedCardTypes,
bool? isConsumerNameRequired = false,
bool? isPhoneNumberRequired = false,
bool? isEmailRequired = false,
bool? isBillingAddressRequired = false,
}) async {
if (Platform.isIOS == false) {
return TapPaySdkCommonResult(
success: false,
message: "Apple Pay is only available on iOS devices.");
}
final result = await methodChannel
.invokeMethod<Map<Object?, Object?>>('initApplePay', {
'merchantId': merchantId,
'merchantName': merchantName,
'cardTypes': allowedCardTypes
?.map((TapPayCardType cardType) => cardType.name)
.toList() ??
kDefaultTapPayAllowedCardTypes
.map((TapPayCardType cardType) => cardType.name)
.toList(),
'isConsumerNameRequired': isConsumerNameRequired,
'isPhoneNumberRequired': isPhoneNumberRequired,
'isEmailRequired': isEmailRequired,
'isBillingAddressRequired': isBillingAddressRequired,
});
if (result == null) {
return TapPaySdkCommonResult(
success: false,
message:
"Encountered an unidentified error while checking if Apple Pay is available.");
} else {
return TapPaySdkCommonResult.fromMap(Map<String, dynamic>.from(result));
}
}