Bug: Use `serde_repr` for serializing enums as u8



https://github.com/juspay/orca/blob/56d153d8f7c2c75391799cf14280c448df97842f/crates/router/src/connector/authorizedotnet/transformers.rs#L219-L227

Instead of such renaming, it would be more properly to use `#[repr(u8)]` here:
 ```rust
#[derive(Serialize_repr, Deserialize_repr)]
#[repr(u8)]
pub enum AuthorizedotnetPaymentStatus {
    Approved = 1,
    Declined = 2,
    Error = 3,
    #[default]
    HeldForReview = 4,
}
```

https://serde.rs/enum-number.html
diff --git a/Cargo.lock b/Cargo.lock
index ad690392c9f..1605c94366b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2651,6 +2651,7 @@ dependencies = [
  "serde_json",
  "serde_path_to_error",
  "serde_qs",
+ "serde_repr",
  "serde_urlencoded",
  "storage_models",
  "structopt",
@@ -2910,6 +2911,17 @@ dependencies = [
  "thiserror",
 ]
 
+[[package]]
+name = "serde_repr"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
 [[package]]
 name = "serde_urlencoded"
 version = "0.7.1"
diff --git a/crates/router/Cargo.toml b/crates/router/Cargo.toml
index cbb245bb242..ce973cd2092 100644
--- a/crates/router/Cargo.toml
+++ b/crates/router/Cargo.toml
@@ -54,6 +54,7 @@ serde_json = "1.0.89"
 serde_path_to_error = "0.1.8"
 serde_qs = { version = "0.10.1", optional = true }
 serde_urlencoded = "0.7.1"
+serde_repr = "0.1"
 structopt = "0.3.26"
 strum = { version = "0.24.1", features = ["derive"] }
 thiserror = "1.0.37"
diff --git a/crates/router/src/connector/authorizedotnet/transformers.rs b/crates/router/src/connector/authorizedotnet/transformers.rs
index 9e3815a767a..0224d15745c 100644
--- a/crates/router/src/connector/authorizedotnet/transformers.rs
+++ b/crates/router/src/connector/authorizedotnet/transformers.rs
@@ -192,17 +192,16 @@ impl TryFrom<&types::PaymentsCancelRouterData> for CancelTransactionRequest {
     }
 }
 
-#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq)]
+#[derive(
+    Debug, Clone, Default, PartialEq, Eq, serde_repr::Serialize_repr, serde_repr::Deserialize_repr,
+)]
+#[repr(u8)]
 pub enum AuthorizedotnetPaymentStatus {
-    #[serde(rename = "1")]
-    Approved,
-    #[serde(rename = "2")]
-    Declined,
-    #[serde(rename = "3")]
-    Error,
+    Approved = 1,
+    Declined = 2,
+    Error = 3,
     #[default]
-    #[serde(rename = "4")]
-    HeldForReview,
+    HeldForReview = 4,
 }
 
 pub type AuthorizedotnetRefundStatus = AuthorizedotnetPaymentStatus;

## Type of Chang

- [x] Refactoring

## Motivation and Context
Closes #110.

## Checklist
- [x] I formatted the code `cargo +nightly fmt`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed submitted code
