applePayment static method

Future applePayment({
  1. required String token,
  2. required String mobileNumber,
  3. required double txnAmount,
  4. required List<Map> productDetail,
  5. required String checksum,
  6. required String orderId,
  7. required String ipAddress,
  8. required String merchantID,
  9. required String merchantSadadID,
  10. required String lang,
  11. required String email,
  12. required String firstname,
  13. required String transactionId,
  14. required String issandboxmode,
})

Implementation

static Future<dynamic> applePayment({required String token,
  required String mobileNumber,
  required double txnAmount,
  required List<Map> productDetail,
  required String checksum,
  required String orderId,
  required String ipAddress,
  required String merchantID,
  required String merchantSadadID,
  required String lang,
  required String email,
  required String firstname,
  required String transactionId,
  required String issandboxmode}) async {
  final url = Uri.parse("${ApiEndPoint.applePay}");
  final headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
  };

  final body = json.encode({
      "token":token,
      "mobileNumber": mobileNumber,
      "orderId": orderId,
      "txnAmount" : txnAmount,
      "ProductDetails" : productDetail,
      "ipAddress" : ipAddress,
      "merchantID" : merchantID,
      "lang" : lang,
      "emailId" : email,
      "issandboxmode" : issandboxmode,
      "merchantSadadID" : merchantSadadID,
      "checksum" : checksum});
  try {
    final result = await http.post(url, headers: headers, body: body);

    if (result.statusCode == 200) {
      var test = jsonDecode(result.body);
      return test;
    } else {
      final errorResponse = ErrorResponse.fromJson(json.decode(result.body));
      // Extract the error message
      final errorMessage = errorResponse.error.message;
      print('Error Message: $errorMessage');

      // Return the error details as a map
      return {
        'statusCode': errorResponse.error.statusCode,
        'name': errorResponse.error.name,
        'message': errorMessage,
      };
    }
  } catch (e) {
  }
}