loadPaymentData method
Future<Map<String, dynamic> ?>
loadPaymentData(
- Map<
String, dynamic> request, - SmartCheckoutEnvironment environment
Implementation
Future<Map<String, dynamic>?> loadPaymentData(
Map<String, dynamic> request,
SmartCheckoutEnvironment environment,
) async {
try {
debugPrint('📱 Request received: $request');
request = _addEnvironmentToRequest(request, environment);
final payClient = Pay({
PayProvider.google_pay: PaymentConfiguration.fromJsonString(
jsonEncode({'provider': 'google_pay', 'data': request}),
),
});
debugPrint(
'📏 Entered loadPaymentData to get information from request: $request',
);
// Extracts information from request for PaymentItems
final transactionInfo = request['transactionInfo'];
final result = await payClient
.showPaymentSelectorAndListen(PayProvider.google_pay, [
PaymentItem(
label: 'Total',
amount: transactionInfo['totalPrice'] ?? '0.00',
status: PaymentItemStatus.final_price,
),
]);
return result;
} catch (e) {
debugPrint('❌ Error starting Google Pay: $e');
return null;
}
}