Bug: [FEATURE] multisafepay : addpayment methods | TRUSTLY | WeChatpay | Alipay



### Feature Description

Integrate 
1. Turstly
2. WeChatPay
3. Alipay

### Possible Implementation

Integrate the redirection flows for the wallet

### Have you spent some time checking if this feature request has been raised before?

- [x] I checked and didn't find a similar issue

### Have you read the Contributing Guidelines?

- [x] I have read the [Contributing Guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md)

### Are you willing to submit a PR?

Yes, I am willing to submit a PR!
diff --git a/config/deployments/integration_test.toml b/config/deployments/integration_test.toml
index 513cb587176..e04583cbfb5 100644
--- a/config/deployments/integration_test.toml
+++ b/config/deployments/integration_test.toml
@@ -541,6 +541,9 @@ paypal = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,B
 giropay = { country = "DE", currency = "EUR" }
 ideal = { country = "NL", currency = "EUR" }
 klarna = { country = "AT,BE,DK,FI,FR,DE,IT,NL,NO,PT,ES,SE,GB", currency = "DKK,EUR,GBP,NOK,SEK" }
+trustly = { country = "AT,CZ,DK,EE,FI,DE,LV,LT,NL,NO,PL,PT,ES,SE,GB" , currency = "EUR,GBP,SEK"}
+ali_pay = {currency = "EUR,USD"}
+we_chat_pay = { currency = "EUR"}
 
 [pm_filters.cashtocode]
 classic = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW,US", currency = "AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHF,CLF,CLP,CNY,COP,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SLL,SOS,SRD,SSP,STD,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,UYU,UZS,VES,VND,VUV,WST,XAF,XCD,XOF,XPF,YER,ZAR,ZMW,ZWL" }
diff --git a/config/deployments/production.toml b/config/deployments/production.toml
index 4b990ad0464..eba6e2334b7 100644
--- a/config/deployments/production.toml
+++ b/config/deployments/production.toml
@@ -524,6 +524,9 @@ paypal = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,B
 giropay = { country = "DE", currency = "EUR" }
 ideal = { country = "NL", currency = "EUR" }
 klarna = { country = "AT,BE,DK,FI,FR,DE,IT,NL,NO,PT,ES,SE,GB", currency = "DKK,EUR,GBP,NOK,SEK" }
+trustly = { country = "AT,CZ,DK,EE,FI,DE,LV,LT,NL,NO,PL,PT,ES,SE,GB" , currency = "EUR,GBP,SEK"}
+ali_pay = {currency = "EUR,USD"}
+we_chat_pay = { currency = "EUR"}
 
 [pm_filters.cashtocode]
 classic = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW,US", currency = "AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHF,CLF,CLP,CNY,COP,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SLL,SOS,SRD,SSP,STD,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,UYU,UZS,VES,VND,VUV,WST,XAF,XCD,XOF,XPF,YER,ZAR,ZMW,ZWL" }
diff --git a/config/deployments/sandbox.toml b/config/deployments/sandbox.toml
index d00b12c751f..ac5442fcdd6 100644
--- a/config/deployments/sandbox.toml
+++ b/config/deployments/sandbox.toml
@@ -532,6 +532,9 @@ google_pay = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,
 paypal = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,CV,KH,CM,CA,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,US,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW", currency = "AUD,BRL,CAD,CHF,CZK,DKK,EUR,GBP,HKD,HRK,HUF,JPY,MXN,MYR,NOK,NZD,PHP,PLN,RUB,SEK,SGD,THB,TRY,TWD,USD" }
 ideal = { country = "NL", currency = "EUR" }
 klarna = { country = "AT,BE,DK,FI,FR,DE,IT,NL,NO,PT,ES,SE,GB", currency = "DKK,EUR,GBP,NOK,SEK" }
+trustly = { country = "AT,CZ,DK,EE,FI,DE,LV,LT,NL,NO,PL,PT,ES,SE,GB" , currency = "EUR,GBP,SEK"}
+ali_pay = {currency = "EUR,USD"}
+we_chat_pay = { currency = "EUR"}
 
 [pm_filters.cashtocode]
 classic = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW,US", currency = "AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHF,CLF,CLP,CNY,COP,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SLL,SOS,SRD,SSP,STD,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,UYU,UZS,VES,VND,VUV,WST,XAF,XCD,XOF,XPF,YER,ZAR,ZMW,ZWL" }
diff --git a/config/development.toml b/config/development.toml
index 95484d6b014..d85f36cef18 100644
--- a/config/development.toml
+++ b/config/development.toml
@@ -728,6 +728,9 @@ paypal = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,B
 giropay = { country = "DE", currency = "EUR" }
 ideal = { country = "NL", currency = "EUR" }
 klarna = { country = "AT,BE,DK,FI,FR,DE,IT,NL,NO,PT,ES,SE,GB", currency = "DKK,EUR,GBP,NOK,SEK" }
+trustly = { country = "AT,CZ,DK,EE,FI,DE,LV,LT,NL,NO,PL,PT,ES,SE,GB" , currency = "EUR,GBP,SEK"}
+ali_pay = { currency = "EUR,USD" }
+we_chat_pay = { currency = "EUR"}
 
 [pm_filters.cashtocode]
 classic = { country = "AF,AX,AL,DZ,AS,AD,AO,AI,AQ,AG,AR,AM,AW,AU,AT,AZ,BS,BH,BD,BB,BY,BE,BZ,BJ,BM,BT,BO,BQ,BA,BW,BV,BR,IO,BN,BG,BF,BI,KH,CM,CA,CV,KY,CF,TD,CL,CN,CX,CC,CO,KM,CG,CD,CK,CR,CI,HR,CU,CW,CY,CZ,DK,DJ,DM,DO,EC,EG,SV,GQ,ER,EE,ET,FK,FO,FJ,FI,FR,GF,PF,TF,GA,GM,GE,DE,GH,GI,GR,GL,GD,GP,GU,GT,GG,GN,GW,GY,HT,HM,VA,HN,HK,HU,IS,IN,ID,IR,IQ,IE,IM,IL,IT,JM,JP,JE,JO,KZ,KE,KI,KP,KR,KW,KG,LA,LV,LB,LS,LR,LY,LI,LT,LU,MO,MK,MG,MW,MY,MV,ML,MT,MH,MQ,MR,MU,YT,MX,FM,MD,MC,MN,ME,MS,MA,MZ,MM,NA,NR,NP,NL,NC,NZ,NI,NE,NG,NU,NF,MP,NO,OM,PK,PW,PS,PA,PG,PY,PE,PH,PN,PL,PT,PR,QA,RE,RO,RU,RW,BL,SH,KN,LC,MF,PM,VC,WS,SM,ST,SA,SN,RS,SC,SL,SG,SX,SK,SI,SB,SO,ZA,GS,SS,ES,LK,SD,SR,SJ,SZ,SE,CH,SY,TW,TJ,TZ,TH,TL,TG,TK,TO,TT,TN,TR,TM,TC,TV,UG,UA,AE,GB,UM,UY,UZ,VU,VE,VN,VG,VI,WF,EH,YE,ZM,ZW,US", currency = "AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,BBD,BDT,BGN,BHD,BIF,BMD,BND,BOB,BRL,BSD,BTN,BWP,BYN,BZD,CAD,CDF,CHF,CLF,CLP,CNY,COP,CRC,CUC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,HNL,HRK,HTG,HUF,IDR,ILS,INR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,KHR,KMF,KPW,KRW,KWD,KYD,KZT,LAK,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MMK,MNT,MOP,MRU,MUR,MVR,MWK,MXN,MYR,MZN,NAD,NGN,NIO,NOK,NPR,NZD,OMR,PAB,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SGD,SHP,SLE,SLL,SOS,SRD,SSP,STD,STN,SVC,SYP,SZL,THB,TJS,TMT,TND,TOP,TRY,TTD,TWD,TZS,UAH,UGX,USD,UYU,UZS,VES,VND,VUV,WST,XAF,XCD,XOF,XPF,YER,ZAR,ZMW,ZWL" }
diff --git a/crates/hyperswitch_connectors/src/connectors/multisafepay.rs b/crates/hyperswitch_connectors/src/connectors/multisafepay.rs
index f2fc62d6cbf..08e76940237 100644
--- a/crates/hyperswitch_connectors/src/connectors/multisafepay.rs
+++ b/crates/hyperswitch_connectors/src/connectors/multisafepay.rs
@@ -634,6 +634,27 @@ static MULTISAFEPAY_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods>
             },
         );
 
+        multisafepay_supported_payment_methods.add(
+            enums::PaymentMethod::Wallet,
+            enums::PaymentMethodType::AliPay,
+            PaymentMethodDetails {
+                mandates: enums::FeatureStatus::NotSupported,
+                refunds: enums::FeatureStatus::Supported,
+                supported_capture_methods: supported_capture_methods.clone(),
+                specific_features: None,
+            },
+        );
+        multisafepay_supported_payment_methods.add(
+            enums::PaymentMethod::Wallet,
+            enums::PaymentMethodType::WeChatPay,
+            PaymentMethodDetails {
+                mandates: enums::FeatureStatus::NotSupported,
+                refunds: enums::FeatureStatus::Supported,
+                supported_capture_methods: supported_capture_methods.clone(),
+                specific_features: None,
+            },
+        );
+
         multisafepay_supported_payment_methods.add(
             enums::PaymentMethod::BankRedirect,
             enums::PaymentMethodType::Giropay,
@@ -644,6 +665,16 @@ static MULTISAFEPAY_SUPPORTED_PAYMENT_METHODS: LazyLock<SupportedPaymentMethods>
                 specific_features: None,
             },
         );
+        multisafepay_supported_payment_methods.add(
+            enums::PaymentMethod::BankRedirect,
+            enums::PaymentMethodType::Trustly,
+            PaymentMethodDetails {
+                mandates: enums::FeatureStatus::NotSupported,
+                refunds: enums::FeatureStatus::Supported,
+                supported_capture_methods: supported_capture_methods.clone(),
+                specific_features: None,
+            },
+        );
 
         multisafepay_supported_payment_methods.add(
             enums::PaymentMethod::BankRedirect,
diff --git a/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs b/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs
index c7cc7967c4c..bcdbd7e28e6 100644
--- a/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs
+++ b/crates/hyperswitch_connectors/src/connectors/multisafepay/transformers.rs
@@ -66,6 +66,10 @@ pub enum Gateway {
     Paypal,
     Ideal,
     Giropay,
+    Trustly,
+    Alipay,
+    #[serde(rename = "WECHAT")]
+    WeChatPay,
 }
 
 #[serde_with::skip_serializing_none]
@@ -183,14 +187,24 @@ pub enum GatewayInfo {
 #[serde(untagged)]
 pub enum WalletInfo {
     GooglePay(GpayInfo),
+    Alipay(AlipayInfo),
+    WeChatPay(WeChatPayInfo),
 }
 
+#[derive(Debug, Clone, Serialize, Eq, PartialEq)]
+pub struct WeChatPayInfo {}
+
+#[derive(Debug, Clone, Serialize, Eq, PartialEq)]
+pub struct AlipayInfo {}
+
 #[derive(Clone, Debug, Eq, PartialEq, Serialize)]
 #[serde(untagged)]
 pub enum BankRedirectInfo {
     Ideal(IdealInfo),
+    Trustly(TrustlyInfo),
 }
-
+#[derive(Debug, Clone, Serialize, Eq, PartialEq)]
+pub struct TrustlyInfo {}
 #[derive(Debug, Clone, Serialize, Eq, PartialEq)]
 pub struct IdealInfo {
     pub issuer_id: MultisafepayBankNames,
@@ -490,8 +504,9 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
             PaymentMethodData::Wallet(ref wallet_data) => match wallet_data {
                 WalletData::GooglePay(_) => Type::Direct,
                 WalletData::PaypalRedirect(_) => Type::Redirect,
+                WalletData::AliPayRedirect(_) => Type::Redirect,
+                WalletData::WeChatPayRedirect(_) => Type::Redirect,
                 WalletData::AliPayQr(_)
-                | WalletData::AliPayRedirect(_)
                 | WalletData::AliPayHkRedirect(_)
                 | WalletData::AmazonPayRedirect(_)
                 | WalletData::MomoRedirect(_)
@@ -512,7 +527,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | WalletData::TwintRedirect {}
                 | WalletData::VippsRedirect {}
                 | WalletData::TouchNGoRedirect(_)
-                | WalletData::WeChatPayRedirect(_)
                 | WalletData::WeChatPayQr(_)
                 | WalletData::CashappQr(_)
                 | WalletData::SwishQr(_)
@@ -524,6 +538,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
             PaymentMethodData::BankRedirect(ref bank_data) => match bank_data {
                 BankRedirectData::Giropay { .. } => Type::Redirect,
                 BankRedirectData::Ideal { .. } => Type::Direct,
+                BankRedirectData::Trustly { .. } => Type::Redirect,
                 BankRedirectData::BancontactCard { .. }
                 | BankRedirectData::Bizum { .. }
                 | BankRedirectData::Blik { .. }
@@ -537,7 +552,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | BankRedirectData::OpenBankingUk { .. }
                 | BankRedirectData::Przelewy24 { .. }
                 | BankRedirectData::Sofort { .. }
-                | BankRedirectData::Trustly { .. }
                 | BankRedirectData::OnlineBankingFpx { .. }
                 | BankRedirectData::OnlineBankingThailand { .. }
                 | BankRedirectData::LocalBankRedirect {} => {
@@ -557,8 +571,9 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
             PaymentMethodData::Wallet(ref wallet_data) => Some(match wallet_data {
                 WalletData::GooglePay(_) => Gateway::Googlepay,
                 WalletData::PaypalRedirect(_) => Gateway::Paypal,
+                WalletData::AliPayRedirect(_) => Gateway::Alipay,
+                WalletData::WeChatPayRedirect(_) => Gateway::WeChatPay,
                 WalletData::AliPayQr(_)
-                | WalletData::AliPayRedirect(_)
                 | WalletData::AliPayHkRedirect(_)
                 | WalletData::AmazonPayRedirect(_)
                 | WalletData::MomoRedirect(_)
@@ -579,7 +594,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | WalletData::TwintRedirect {}
                 | WalletData::VippsRedirect {}
                 | WalletData::TouchNGoRedirect(_)
-                | WalletData::WeChatPayRedirect(_)
                 | WalletData::WeChatPayQr(_)
                 | WalletData::CashappQr(_)
                 | WalletData::SwishQr(_)
@@ -591,6 +605,7 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
             PaymentMethodData::BankRedirect(ref bank_data) => Some(match bank_data {
                 BankRedirectData::Giropay { .. } => Gateway::Giropay,
                 BankRedirectData::Ideal { .. } => Gateway::Ideal,
+                BankRedirectData::Trustly { .. } => Gateway::Trustly,
                 BankRedirectData::BancontactCard { .. }
                 | BankRedirectData::Bizum { .. }
                 | BankRedirectData::Blik { .. }
@@ -604,7 +619,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | BankRedirectData::OpenBankingUk { .. }
                 | BankRedirectData::Przelewy24 { .. }
                 | BankRedirectData::Sofort { .. }
-                | BankRedirectData::Trustly { .. }
                 | BankRedirectData::OnlineBankingFpx { .. }
                 | BankRedirectData::OnlineBankingThailand { .. }
                 | BankRedirectData::LocalBankRedirect {} => {
@@ -718,9 +732,14 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                         }
                     })))
                 }
+                WalletData::AliPayRedirect(_) => {
+                    Some(GatewayInfo::Wallet(WalletInfo::Alipay(AlipayInfo {})))
+                }
                 WalletData::PaypalRedirect(_) => None,
+                WalletData::WeChatPayRedirect(_) => {
+                    Some(GatewayInfo::Wallet(WalletInfo::WeChatPay(WeChatPayInfo {})))
+                }
                 WalletData::AliPayQr(_)
-                | WalletData::AliPayRedirect(_)
                 | WalletData::AliPayHkRedirect(_)
                 | WalletData::AmazonPayRedirect(_)
                 | WalletData::MomoRedirect(_)
@@ -741,7 +760,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | WalletData::TwintRedirect {}
                 | WalletData::VippsRedirect {}
                 | WalletData::TouchNGoRedirect(_)
-                | WalletData::WeChatPayRedirect(_)
                 | WalletData::WeChatPayQr(_)
                 | WalletData::CashappQr(_)
                 | WalletData::SwishQr(_)
@@ -780,6 +798,9 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                         )?)?,
                     }),
                 )),
+                BankRedirectData::Trustly { .. } => Some(GatewayInfo::BankRedirect(
+                    BankRedirectInfo::Trustly(TrustlyInfo {}),
+                )),
                 BankRedirectData::BancontactCard { .. }
                 | BankRedirectData::Bizum { .. }
                 | BankRedirectData::Blik { .. }
@@ -794,7 +815,6 @@ impl TryFrom<&MultisafepayRouterData<&types::PaymentsAuthorizeRouterData>>
                 | BankRedirectData::OpenBankingUk { .. }
                 | BankRedirectData::Przelewy24 { .. }
                 | BankRedirectData::Sofort { .. }
-                | BankRedirectData::Trustly { .. }
                 | BankRedirectData::OnlineBankingFpx { .. }
                 | BankRedirectData::OnlineBankingThailand { .. }
                 | BankRedirectData::LocalBankRedirect {} => None,

## Type of Change

<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description

Add newer payment methods for `multisafepay` connector

- Trustly
- WeChatPay
- Alipay

### MCA

<details>
<summary>Create Merchant Account</summary>

```json
{
  "connector_type": "payment_processor",
  "connector_account_details": {
    "auth_type": "HeaderKey",

    "api_key": "**************"
  },
  "connector_name": "multisafepay",
  "test_mode": false,
  "disabled": false,
  "payment_methods_enabled": [
    {
      "payment_method": "wallet",
      "payment_method_types": [
        {
          "payment_method_type": "we_chat_pay",
          "payment_experience": "redirect_to_url"
        }
      ]
    },
    {
      "payment_method": "wallet",
      "payment_method_types": [
        {
          "payment_method_type": "ali_pay",
          "payment_experience": "redirect_to_url"
        }
      ]
    },
    {
      "payment_method": "wallet",
      "payment_method_types": [
        {
          "payment_method_type": "amazon_pay",
          "payment_experience": "redirect_to_url"
        }
      ]
    },
    {
      "payment_method": "bank_redirect",
      "payment_method_types": [
        {
          "payment_method_type": "trustly"
        }
      ]
    },
    {
      "payment_method": "card",
      "payment_method_types": [
        {
          "payment_method_type": "credit",
          "card_networks": ["Visa", "Mastercard"],
          "minimum_amount": 1,
          "maximum_amount": 68607706,
          "recurring_enabled": true,
          "installment_payment_enabled": true
        },
        {
          "payment_method_type": "debit",
          "card_networks": ["Visa", "Mastercard"],
          "minimum_amount": 1,
          "maximum_amount": 68607706,
          "recurring_enabled": true,
          "installment_payment_enabled": true
        }
      ]
    }
  ],
  "metadata": {
    "city": "NY",
    "unit": "245"
  },
  "business_country": "US",
  "business_label": "default"
}
```

</details>

## Trustly

<details>
<summary>Create payement</summary>

```json
{
  "amount": 333,
  "currency": "EUR",
  "confirm": true,
  "capture_method": "automatic",
  "payment_method": "bank_redirect",
  "payment_method_type": "trustly",
  "description": "hellow world",
  "billing": {
    "address": {
      "zip": "560095",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "country": "AT",
      "line2": "Fasdf",
      "city": "Fasdf"
    }
  },
  "payment_method_data": {
    "bank_redirect": {
      "trustly": {
        "country": "AT"
      }
    }
  }
}
```

</details>

<details>
    <summary> Response</summary>

```json
{
  "payment_id": "pay_wRU9qZTZ8Q8VGd8Bry2i",
  "merchant_id": "merchant_1750676714",
  "status": "requires_customer_action",
  "amount": 333,
  "net_amount": 333,
  "shipping_cost": null,
  "amount_capturable": 333,
  "amount_received": null,
  "connector": "multisafepay",
  "client_secret": "pay_wRU9qZTZ8Q8VGd8Bry2i_secret_Cikbt0vSVNo1G9dXT8LR",
  "created": "2025-06-26T04:55:03.318Z",
  "currency": "EUR",
  "customer_id": null,
  "customer": null,
  "description": "hellow world",
  "refunds": null,
  "disputes": null,
  "mandate_id": null,
  "mandate_data": null,
  "setup_future_usage": null,
  "off_session": null,
  "capture_on": null,
  "capture_method": "automatic",
  "payment_method": "bank_redirect",
  "payment_method_data": {
    "bank_redirect": {
      "type": "BankRedirectResponse",
      "bank_name": null
    },
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "AT",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak"
    },
    "phone": null,
    "email": null
  },
  "order_details": null,
  "email": null,
  "name": null,
  "phone": null,
  "return_url": null,
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": {
    "type": "redirect_to_url",
    "redirect_to_url": "http://localhost:8080/payments/redirect/pay_wRU9qZTZ8Q8VGd8Bry2i/merchant_1750676714/pay_wRU9qZTZ8Q8VGd8Bry2i_1"
  },
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "trustly",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "ephemeral_key": null,
  "manual_retry_allowed": null,
  "connector_transaction_id": "pay_wRU9qZTZ8Q8VGd8Bry2i_1",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": null,
  "reference_id": "pay_wRU9qZTZ8Q8VGd8Bry2i_1",
  "payment_link": null,
  "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
  "incremental_authorization_allowed": null,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2025-06-26T05:10:03.318Z",
  "fingerprint": null,
  "browser_info": null,
  "payment_method_id": null,
  "payment_method_status": null,
  "updated": "2025-06-26T04:55:05.045Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": null,
  "card_discovery": null,
  "force_3ds_challenge": false,
  "force_3ds_challenge_trigger": false,
  "issuer_error_code": null,
  "issuer_error_message": null,
  "is_iframe_redirection_enabled": null,
  "whole_connector_response": null
}
```

</details>

<details>
<summary>Confirm page</summary>
<img width="1322" alt="Screenshot 2025-06-26 at 10 26 20 AM" src="https://github.com/user-attachments/assets/6a428b08-d3fb-4b6d-bf94-d6348025d208" />

</details>

<details>
<summary>Psync</summary>

```json
{
  "payment_id": "pay_wRU9qZTZ8Q8VGd8Bry2i",
  "merchant_id": "merchant_1750676714",
  "status": "succeeded",
  "amount": 333,
  "net_amount": 333,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 333,
  "connector": "multisafepay",
  "client_secret": "pay_wRU9qZTZ8Q8VGd8Bry2i_secret_Cikbt0vSVNo1G9dXT8LR",
  "created": "2025-06-26T04:55:03.318Z",
  "currency": "EUR",
  "customer_id": null,
  "customer": null,
  "description": "hellow world",
  "refunds": null,
  "disputes": null,
  "mandate_id": null,
  "mandate_data": null,
  "setup_future_usage": null,
  "off_session": null,
  "capture_on": null,
  "capture_method": "automatic",
  "payment_method": "bank_redirect",
  "payment_method_data": {
    "bank_redirect": {
      "type": "BankRedirectResponse",
      "bank_name": null
    },
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "AT",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak"
    },
    "phone": null,
    "email": null
  },
  "order_details": null,
  "email": null,
  "name": null,
  "phone": null,
  "return_url": null,
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": null,
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "trustly",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "ephemeral_key": null,
  "manual_retry_allowed": false,
  "connector_transaction_id": "pay_wRU9qZTZ8Q8VGd8Bry2i_1",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": null,
  "reference_id": "pay_wRU9qZTZ8Q8VGd8Bry2i_1",
  "payment_link": null,
  "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
  "incremental_authorization_allowed": null,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2025-06-26T05:10:03.318Z",
  "fingerprint": null,
  "browser_info": null,
  "payment_method_id": null,
  "payment_method_status": null,
  "updated": "2025-06-26T04:56:22.878Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": null,
  "card_discovery": null,
  "force_3ds_challenge": false,
  "force_3ds_challenge_trigger": false,
  "issuer_error_code": null,
  "issuer_error_message": null,
  "is_iframe_redirection_enabled": null,
  "whole_connector_response": null
}
```

</details>

## Alipay

<details>
    <summary> Payment create </summary>

```json
{
  "amount": 333,
  "currency": "EUR",
  "confirm": true,
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_type": "ali_pay",
  "authentication_type": "no_three_ds",
  "description": "hellow world",
  "billing": {
    "address": {
      "zip": "560095",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "country": "AT",
      "line2": "Fasdf",
      "city": "Fasdf"
    }
  },
  "payment_method_data": {
    "wallet": {
      "ali_pay_redirect": {}
    }
  }
}
```

</details>

<details>
 <summary>Payment Response</summary>
 
```json
{
    "payment_id": "pay_Ovu6Gi04d695EdCCEUlP",
    "merchant_id": "merchant_1750676714",
    "status": "requires_customer_action",
    "amount": 333,
    "net_amount": 333,
    "shipping_cost": null,
    "amount_capturable": 333,
    "amount_received": null,
    "connector": "multisafepay",
    "client_secret": "pay_Ovu6Gi04d695EdCCEUlP_secret_M57QtvAffR5Z5DEAkVko",
    "created": "2025-06-26T05:00:28.713Z",
    "currency": "EUR",
    "customer_id": null,
    "customer": null,
    "description": "hellow world",
    "refunds": null,
    "disputes": null,
    "mandate_id": null,
    "mandate_data": null,
    "setup_future_usage": null,
    "off_session": null,
    "capture_on": null,
    "capture_method": "automatic",
    "payment_method": "wallet",
    "payment_method_data": {
        "wallet": {},
        "billing": null
    },
    "payment_token": null,
    "shipping": null,
    "billing": {
        "address": {
            "city": "Fasdf",
            "country": "AT",
            "line1": "Fasdf",
            "line2": "Fasdf",
            "line3": null,
            "zip": "560095",
            "state": null,
            "first_name": "Sakil",
            "last_name": "Mostak"
        },
        "phone": null,
        "email": null
    },
    "order_details": null,
    "email": null,
    "name": null,
    "phone": null,
    "return_url": null,
    "authentication_type": "no_three_ds",
    "statement_descriptor_name": null,
    "statement_descriptor_suffix": null,
    "next_action": {
        "type": "redirect_to_url",
        "redirect_to_url": "http://localhost:8080/payments/redirect/pay_Ovu6Gi04d695EdCCEUlP/merchant_1750676714/pay_Ovu6Gi04d695EdCCEUlP_1"
    },
    "cancellation_reason": null,
    "error_code": null,
    "error_message": null,
    "unified_code": null,
    "unified_message": null,
    "payment_experience": null,
    "payment_method_type": "ali_pay",
    "connector_label": null,
    "business_country": null,
    "business_label": "default",
    "business_sub_label": null,
    "allowed_payment_method_types": null,
    "ephemeral_key": null,
    "manual_retry_allowed": null,
    "connector_transaction_id": "pay_Ovu6Gi04d695EdCCEUlP_1",
    "frm_message": null,
    "metadata": null,
    "connector_metadata": null,
    "feature_metadata": null,
    "reference_id": "pay_Ovu6Gi04d695EdCCEUlP_1",
    "payment_link": null,
    "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
    "surcharge_details": null,
    "attempt_count": 1,
    "merchant_decision": null,
    "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
    "incremental_authorization_allowed": null,
    "authorization_count": null,
    "incremental_authorizations": null,
    "external_authentication_details": null,
    "external_3ds_authentication_attempted": false,
    "expires_on": "2025-06-26T05:15:28.713Z",
    "fingerprint": null,
    "browser_info": null,
    "payment_method_id": null,
    "payment_method_status": null,
    "updated": "2025-06-26T05:00:30.315Z",
    "split_payments": null,
    "frm_metadata": null,
    "extended_authorization_applied": null,
    "capture_before": null,
    "merchant_order_reference_id": null,
    "order_tax_amount": null,
    "connector_mandate_id": null,
    "card_discovery": null,
    "force_3ds_challenge": false,
    "force_3ds_challenge_trigger": false,
    "issuer_error_code": null,
    "issuer_error_message": null,
    "is_iframe_redirection_enabled": null,
    "whole_connector_response": null
}
```

</details>

<details>
    <summary> Confirm page </summary>
<img width="1188" alt="Screenshot 2025-06-26 at 10 44 33 AM" src="https://github.com/user-attachments/assets/86978961-b4c1-42e0-8ae0-a28f72ea44a4" />

</details>

<details>
    <summary>Psync</summary>

```json
{
  "payment_id": "pay_Ovu6Gi04d695EdCCEUlP",
  "merchant_id": "merchant_1750676714",
  "status": "succeeded",
  "amount": 333,
  "net_amount": 333,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 333,
  "connector": "multisafepay",
  "client_secret": "pay_Ovu6Gi04d695EdCCEUlP_secret_M57QtvAffR5Z5DEAkVko",
  "created": "2025-06-26T05:00:28.713Z",
  "currency": "EUR",
  "customer_id": null,
  "customer": null,
  "description": "hellow world",
  "refunds": null,
  "disputes": null,
  "mandate_id": null,
  "mandate_data": null,
  "setup_future_usage": null,
  "off_session": null,
  "capture_on": null,
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_data": {
    "wallet": {},
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "AT",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak"
    },
    "phone": null,
    "email": null
  },
  "order_details": null,
  "email": null,
  "name": null,
  "phone": null,
  "return_url": null,
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": null,
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "ali_pay",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "ephemeral_key": null,
  "manual_retry_allowed": false,
  "connector_transaction_id": "pay_Ovu6Gi04d695EdCCEUlP_1",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": null,
  "reference_id": "pay_Ovu6Gi04d695EdCCEUlP_1",
  "payment_link": null,
  "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
  "incremental_authorization_allowed": null,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2025-06-26T05:15:28.713Z",
  "fingerprint": null,
  "browser_info": null,
  "payment_method_id": null,
  "payment_method_status": null,
  "updated": "2025-06-26T05:14:27.864Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": null,
  "card_discovery": null,
  "force_3ds_challenge": false,
  "force_3ds_challenge_trigger": false,
  "issuer_error_code": null,
  "issuer_error_message": null,
  "is_iframe_redirection_enabled": null,
  "whole_connector_response": null
}
```

</details>

## WeChat pay

<details>
<summary>Create payment </summary>

```json
{
  "amount": 333,
  "currency": "EUR",
  "confirm": true,
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_type": "we_chat_pay",
  "authentication_type": "no_three_ds",
  "description": "hellow world",
  "billing": {
    "address": {
      "zip": "560095",
      "first_name": "Sakil",
      "last_name": "Mostak",
      "line1": "Fasdf",
      "country": "CN",
      "line2": "Fasdf",
      "city": "Fasdf"
    }
  },
  "payment_method_data": {
    "wallet": {
      "we_chat_pay_redirect": {}
    }
  }
}
```

</details>

<details>
    <summary>create payment response</summary>

```json
{
  "payment_id": "pay_ly7Ihm9zEVRPGi4Q9rAY",
  "merchant_id": "merchant_1750676714",
  "status": "requires_customer_action",
  "amount": 333,
  "net_amount": 333,
  "shipping_cost": null,
  "amount_capturable": 333,
  "amount_received": null,
  "connector": "multisafepay",
  "client_secret": "pay_ly7Ihm9zEVRPGi4Q9rAY_secret_0QAA4w1LChiYL9nlsVW7",
  "created": "2025-06-26T05:22:38.368Z",
  "currency": "EUR",
  "customer_id": null,
  "customer": null,
  "description": "hellow world",
  "refunds": null,
  "disputes": null,
  "mandate_id": null,
  "mandate_data": null,
  "setup_future_usage": null,
  "off_session": null,
  "capture_on": null,
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_data": {
    "wallet": {},
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "CN",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak"
    },
    "phone": null,
    "email": null
  },
  "order_details": null,
  "email": null,
  "name": null,
  "phone": null,
  "return_url": null,
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": {
    "type": "redirect_to_url",
    "redirect_to_url": "http://localhost:8080/payments/redirect/pay_ly7Ihm9zEVRPGi4Q9rAY/merchant_1750676714/pay_ly7Ihm9zEVRPGi4Q9rAY_1"
  },
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "we_chat_pay",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "ephemeral_key": null,
  "manual_retry_allowed": null,
  "connector_transaction_id": "pay_ly7Ihm9zEVRPGi4Q9rAY_1",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": null,
  "reference_id": "pay_ly7Ihm9zEVRPGi4Q9rAY_1",
  "payment_link": null,
  "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
  "incremental_authorization_allowed": null,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2025-06-26T05:37:38.368Z",
  "fingerprint": null,
  "browser_info": null,
  "payment_method_id": null,
  "payment_method_status": null,
  "updated": "2025-06-26T05:22:39.622Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": null,
  "card_discovery": null,
  "force_3ds_challenge": false,
  "force_3ds_challenge_trigger": false,
  "issuer_error_code": null,
  "issuer_error_message": null,
  "is_iframe_redirection_enabled": null,
  "whole_connector_response": null
}
```

</details>

<details>
<summary>Confirm page</summary>
## You will get a qr page and it needs to be scanned normally and it will direct to confirm page (test mode)
<img width="1105" alt="Screenshot 2025-06-26 at 10 53 31 AM" src="https://github.com/user-attachments/assets/e7385469-ae56-4849-a131-d3ff941445ba" />

</details>

<details>
    <summary>Psync </summary>

```json
{
  "payment_id": "pay_ly7Ihm9zEVRPGi4Q9rAY",
  "merchant_id": "merchant_1750676714",
  "status": "succeeded",
  "amount": 333,
  "net_amount": 333,
  "shipping_cost": null,
  "amount_capturable": 0,
  "amount_received": 333,
  "connector": "multisafepay",
  "client_secret": "pay_ly7Ihm9zEVRPGi4Q9rAY_secret_0QAA4w1LChiYL9nlsVW7",
  "created": "2025-06-26T05:22:38.368Z",
  "currency": "EUR",
  "customer_id": null,
  "customer": null,
  "description": "hellow world",
  "refunds": null,
  "disputes": null,
  "mandate_id": null,
  "mandate_data": null,
  "setup_future_usage": null,
  "off_session": null,
  "capture_on": null,
  "capture_method": "automatic",
  "payment_method": "wallet",
  "payment_method_data": {
    "wallet": {},
    "billing": null
  },
  "payment_token": null,
  "shipping": null,
  "billing": {
    "address": {
      "city": "Fasdf",
      "country": "CN",
      "line1": "Fasdf",
      "line2": "Fasdf",
      "line3": null,
      "zip": "560095",
      "state": null,
      "first_name": "Sakil",
      "last_name": "Mostak"
    },
    "phone": null,
    "email": null
  },
  "order_details": null,
  "email": null,
  "name": null,
  "phone": null,
  "return_url": null,
  "authentication_type": "no_three_ds",
  "statement_descriptor_name": null,
  "statement_descriptor_suffix": null,
  "next_action": null,
  "cancellation_reason": null,
  "error_code": null,
  "error_message": null,
  "unified_code": null,
  "unified_message": null,
  "payment_experience": null,
  "payment_method_type": "we_chat_pay",
  "connector_label": null,
  "business_country": null,
  "business_label": "default",
  "business_sub_label": null,
  "allowed_payment_method_types": null,
  "ephemeral_key": null,
  "manual_retry_allowed": false,
  "connector_transaction_id": "pay_ly7Ihm9zEVRPGi4Q9rAY_1",
  "frm_message": null,
  "metadata": null,
  "connector_metadata": null,
  "feature_metadata": null,
  "reference_id": "pay_ly7Ihm9zEVRPGi4Q9rAY_1",
  "payment_link": null,
  "profile_id": "pro_7Pno0Wbshvrioh4kTJLM",
  "surcharge_details": null,
  "attempt_count": 1,
  "merchant_decision": null,
  "merchant_connector_id": "mca_aliGZhhX1SDuuEtkipSs",
  "incremental_authorization_allowed": null,
  "authorization_count": null,
  "incremental_authorizations": null,
  "external_authentication_details": null,
  "external_3ds_authentication_attempted": false,
  "expires_on": "2025-06-26T05:37:38.368Z",
  "fingerprint": null,
  "browser_info": null,
  "payment_method_id": null,
  "payment_method_status": null,
  "updated": "2025-06-26T05:23:57.958Z",
  "split_payments": null,
  "frm_metadata": null,
  "extended_authorization_applied": null,
  "capture_before": null,
  "merchant_order_reference_id": null,
  "order_tax_amount": null,
  "connector_mandate_id": null,
  "card_discovery": null,
  "force_3ds_challenge": false,
  "force_3ds_challenge_trigger": false,
  "issuer_error_code": null,
  "issuer_error_message": null,
  "is_iframe_redirection_enabled": null,
  "whole_connector_response": null
}
```

</details>

## Checklist

- [x] I formatted the code `cargo +nightly fmt --all`
- [ ] I addressed lints thrown by `cargo clippy`
- [ ] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
