makeApplePayToken static method

Future makeApplePayToken({
  1. required String appleMerchantId,
  2. required String currencyCode,
  3. required String countryCode,
  4. required String summaryItemLabel,
  5. required String summaryItemAmount,
  6. bool? requiredBillingAddress,
  7. OnApplePayProducedTokenCallback? onApplePayProducedTokenCallback,
  8. OnApplePayFailedRequestTokenCallback? onApplePayFailedRequestTokenCallback,
  9. OnApplePayCompletedCallback? onApplePayCompletedCallback,
})

Start Apple Pay payment authorization flow. You have to set your own merchant id provided by Apple into appleMerchantId. All callback parameters are optional, but you should use onApplePayProducedTokenCallback to send PAY.JP token to your server.

requiredBillingAddress flag is false by default.

Implementation

static Future makeApplePayToken(
    {required String appleMerchantId,
    required String currencyCode,
    required String countryCode,
    required String summaryItemLabel,
    required String summaryItemAmount,
    bool? requiredBillingAddress,
    OnApplePayProducedTokenCallback? onApplePayProducedTokenCallback,
    OnApplePayFailedRequestTokenCallback?
        onApplePayFailedRequestTokenCallback,
    OnApplePayCompletedCallback? onApplePayCompletedCallback}) async {
  _onApplePayProducedTokenCallback = onApplePayProducedTokenCallback;
  _onApplePayFailedRequestTokenCallback =
      onApplePayFailedRequestTokenCallback;
  _onApplePayCompletedCallback = onApplePayCompletedCallback;
  final params = <String, dynamic>{
    'appleMerchantId': appleMerchantId,
    'currencyCode': currencyCode,
    'countryCode': countryCode,
    'summaryItemLabel': summaryItemLabel,
    'summaryItemAmount': summaryItemAmount,
    'requiredBillingAddress': requiredBillingAddress ?? false
  };
  await channel.invokeMethod('makeApplePayToken', params);
}