buildParameters static method

Future<Map<String, dynamic>> buildParameters(
  1. PayProvider provider,
  2. Map<String, dynamic> configurationParams
)

Complements the payment configuration object with metadata about the package.

Takes the configuration included in config and returns and updated version of the object wrapped in a Future with additional metadata.

Implementation

static Future<Map<String, dynamic>> buildParameters(
    PayProvider provider, Map<String, dynamic> configurationParams) async {
  switch (provider) {
    case PayProvider.apple_pay:
      return configurationParams;

    case PayProvider.google_pay:

      // Add information about the package.
      final updatedMerchantInfo = {
        ...(configurationParams['merchantInfo'] ?? {}) as Map,
        'softwareInfo': {
          'id': 'flutter/pay-plugin',
          'version': (await _getPackageConfiguration())['version']
        }
      };

      final updatedPaymentConfiguration = Map<String, Object>.unmodifiable(
          {...configurationParams, 'merchantInfo': updatedMerchantInfo});

      return updatedPaymentConfiguration;
  }
}