extractParameters static method
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>> extractParameters(
Map<String, dynamic> configuration) async {
PayProvider provider =
PayProviders.fromString(configuration['provider'] as String)!;
Map<String, dynamic> configurationParams =
configuration['data'] as Map<String, dynamic>;
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;
}
}