CreditCardPayment static method

Future CreditCardPayment({
  1. required String card_type,
  2. required String token,
  3. required String cardsixdigit,
  4. required String mobileNumber,
  5. required double txnAmount,
  6. required List<Map> productDetail,
  7. required bool is_american_express,
  8. required int is_cybersourse_mastercard,
  9. required String credit_card_bankpage_type,
  10. required String hash,
  11. required String orderId,
  12. required UserMetaPreference userMetaPreference,
  13. required int is_cybersourse_visa,
  14. required String ipAddress,
  15. required String merchantID,
  16. required String expiryDate,
  17. required String lang,
  18. required String mobileos,
  19. required bool isAmexAllowed,
  20. required String cvv,
  21. required String email,
  22. required String cardnumber,
  23. required String cardHolderName,
  24. required String lastname,
  25. required String firstname,
  26. required String issandboxmode,
})

Implementation

static Future<dynamic> CreditCardPayment({required String card_type,
  required String token,
  required String cardsixdigit,
  required String mobileNumber,
  required double txnAmount,
  required List<Map> productDetail,
  required bool is_american_express,
  required int is_cybersourse_mastercard,
  required String credit_card_bankpage_type,
  required String hash,
  required String orderId,
  required UserMetaPreference userMetaPreference,
  required int is_cybersourse_visa, required String ipAddress, required String merchantID, required String expiryDate, required String lang, required String mobileos, required bool isAmexAllowed, required String cvv, required String email, required String cardnumber, required String cardHolderName, required String lastname, required String firstname, required String issandboxmode}) async {
  final url = Uri.parse(
    ApiEndPoint.creditCardPayment,
  );
  int TypeOfCard = 0;
  if (card_type == "Visa") {
    TypeOfCard = 1;
  } else if (card_type == "Mastercard") {
    TypeOfCard = 2;
  } else if (card_type == "Amex") {
    TypeOfCard = 3;
  }

  Map<String, String> header = {'Content-Type': 'application/json'};
  final body =  json.encode({
    "token":token,
    "cardnumber": cardnumber,
    "cardsixdigit": cardsixdigit,
    "cardType": card_type,
    "mobileNumber": mobileNumber,
    "orderId": orderId,
    "txnAmount" : txnAmount,
    "productDetail" : productDetail,
    "is_american_express" : is_american_express,
    "is_cybersourse_visa" : is_cybersourse_mastercard,
    "credit_card_bankpage_type" : credit_card_bankpage_type,
    "is_cybersourse_mastercard" : is_cybersourse_mastercard,
    "ipAddress" : ipAddress,
    "userMetaPreference" : userMetaPreference,
    "merchantID" : merchantID,
    "expiryDate" : expiryDate,
    "lang" : lang,
    "mobileos" : mobileos,
    "isAmexAllowed" : isAmexAllowed,
    "cvv" : cvv,
    "email" : email,
    "cardHolderName" : cardHolderName,
    "lastname" : lastname,
    "firstname" : firstname,
    "issandboxmode" : issandboxmode
  });
var result = await http.post(url, headers: header, 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;
    // Return the error details as a map
    return {
      'statusCode': errorResponse.error.statusCode,
      'name': errorResponse.error.name,
      'message': errorMessage,
    };
  }
}