@@ -1664,7 +1664,10 @@ impl GetPaymentMethodType for CryptoData {
1664
1664
1665
1665
impl GetPaymentMethodType for UpiData {
1666
1666
fn get_payment_method_type ( & self ) -> api_enums:: PaymentMethodType {
1667
- api_enums:: PaymentMethodType :: UpiCollect
1667
+ match self {
1668
+ Self :: UpiCollect ( _) => api_enums:: PaymentMethodType :: UpiCollect ,
1669
+ Self :: UpiIntent ( _) => api_enums:: PaymentMethodType :: UpiIntent ,
1670
+ }
1668
1671
}
1669
1672
}
1670
1673
impl GetPaymentMethodType for VoucherData {
@@ -2119,11 +2122,21 @@ pub struct CryptoData {
2119
2122
2120
2123
#[ derive( Debug , Clone , Eq , PartialEq , serde:: Deserialize , serde:: Serialize , ToSchema ) ]
2121
2124
#[ serde( rename_all = "snake_case" ) ]
2122
- pub struct UpiData {
2125
+ pub enum UpiData {
2126
+ UpiCollect ( UpiCollectData ) ,
2127
+ UpiIntent ( UpiIntentData ) ,
2128
+ }
2129
+
2130
+ #[ derive( Debug , Clone , Eq , PartialEq , serde:: Deserialize , serde:: Serialize , ToSchema ) ]
2131
+ #[ serde( rename_all = "snake_case" ) ]
2132
+ pub struct UpiCollectData {
2123
2133
#[ schema( value_type = Option <String >, example = "successtest@iata" ) ]
2124
2134
pub vpa_id : Option < Secret < String , pii:: UpiVpaMaskingStrategy > > ,
2125
2135
}
2126
2136
2137
+ #[ derive( Debug , Clone , Eq , PartialEq , serde:: Deserialize , serde:: Serialize , ToSchema ) ]
2138
+ pub struct UpiIntentData { }
2139
+
2127
2140
#[ derive( Debug , Clone , Eq , PartialEq , serde:: Deserialize , serde:: Serialize , ToSchema ) ]
2128
2141
pub struct SofortBilling {
2129
2142
/// The country associated with the billing
@@ -2960,6 +2973,11 @@ pub enum NextActionData {
2960
2973
/// The url for Qr code given by the connector
2961
2974
qr_code_url : Option < Url > ,
2962
2975
} ,
2976
+ /// Contains url to fetch Qr code data
2977
+ FetchQrCodeInformation {
2978
+ #[ schema( value_type = String ) ]
2979
+ qr_code_fetch_url : Url ,
2980
+ } ,
2963
2981
/// Contains the download url and the reference number for transaction
2964
2982
DisplayVoucherInformation {
2965
2983
#[ schema( value_type = String ) ]
@@ -3045,6 +3063,11 @@ pub struct SdkNextActionData {
3045
3063
pub next_action : NextActionCall ,
3046
3064
}
3047
3065
3066
+ #[ derive( Clone , Debug , Eq , PartialEq , serde:: Serialize , serde:: Deserialize , ToSchema ) ]
3067
+ pub struct FetchQrCodeInformation {
3068
+ pub qr_code_fetch_url : Url ,
3069
+ }
3070
+
3048
3071
#[ derive( Clone , Debug , Eq , PartialEq , serde:: Serialize , serde:: Deserialize , ToSchema ) ]
3049
3072
pub struct BankTransferNextStepsData {
3050
3073
/// The instructions for performing a bank transfer
0 commit comments