Skip to content

Commit 4d4a81e

Browse files
authored
fix(connector): (payload) currency auth key wasm changes (#8825)
1 parent 2e13771 commit 4d4a81e

File tree

4 files changed

+48
-23
lines changed

4 files changed

+48
-23
lines changed

crates/connector_configs/src/connector.rs

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,45 @@ use api_models::{
66
enums::{AuthenticationConnectors, Connector, PmAuthConnectors, TaxConnectors},
77
payments,
88
};
9-
use serde::Deserialize;
9+
use serde::{Deserialize, Serialize};
1010
use toml;
1111

1212
use crate::common_config::{CardProvider, InputData, Provider, ZenApplePay};
1313

14-
#[derive(Default, Debug, Clone, serde::Serialize, serde::Deserialize)]
14+
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
15+
pub struct PayloadCurrencyAuthKeyType {
16+
pub api_key: String,
17+
pub processing_account_id: String,
18+
}
19+
20+
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
1521
pub struct Classic {
1622
pub password_classic: String,
1723
pub username_classic: String,
1824
pub merchant_id_classic: String,
1925
}
2026

21-
#[derive(Default, Debug, Clone, serde::Serialize, serde::Deserialize)]
27+
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
2228
pub struct Evoucher {
2329
pub password_evoucher: String,
2430
pub username_evoucher: String,
2531
pub merchant_id_evoucher: String,
2632
}
2733

28-
#[derive(Default, Debug, Clone, serde::Serialize, serde::Deserialize)]
29-
pub struct CurrencyAuthKeyType {
34+
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
35+
pub struct CashtoCodeCurrencyAuthKeyType {
3036
pub classic: Classic,
3137
pub evoucher: Evoucher,
3238
}
3339

34-
#[derive(Default, Debug, Clone, serde::Serialize, serde::Deserialize)]
40+
#[derive(Debug, Clone, Serialize, Deserialize)]
41+
#[serde(untagged)]
42+
pub enum CurrencyAuthValue {
43+
CashtoCode(CashtoCodeCurrencyAuthKeyType),
44+
Payload(PayloadCurrencyAuthKeyType),
45+
}
46+
47+
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
3548
pub enum ConnectorAuthType {
3649
HeaderKey {
3750
api_key: String,
@@ -52,7 +65,7 @@ pub enum ConnectorAuthType {
5265
key2: String,
5366
},
5467
CurrencyAuthKey {
55-
auth_key_map: HashMap<String, CurrencyAuthKeyType>,
68+
auth_key_map: HashMap<String, CurrencyAuthValue>,
5669
},
5770
CertificateAuth {
5871
certificate: String,
@@ -63,23 +76,23 @@ pub enum ConnectorAuthType {
6376
}
6477

6578
#[serde_with::skip_serializing_none]
66-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
79+
#[derive(Debug, Deserialize, Serialize, Clone)]
6780
#[serde(untagged)]
6881
pub enum ApplePayTomlConfig {
6982
Standard(Box<payments::ApplePayMetadata>),
7083
Zen(ZenApplePay),
7184
}
7285

7386
#[serde_with::skip_serializing_none]
74-
#[derive(Debug, Clone, serde::Serialize, Deserialize)]
87+
#[derive(Debug, Clone, Serialize, Deserialize)]
7588
pub enum KlarnaEndpoint {
7689
Europe,
7790
NorthAmerica,
7891
Oceania,
7992
}
8093

8194
#[serde_with::skip_serializing_none]
82-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
95+
#[derive(Debug, Deserialize, Serialize, Clone)]
8396
pub struct ConfigMerchantAdditionalDetails {
8497
pub open_banking_recipient_data: Option<InputData>,
8598
pub account_data: Option<InputData>,
@@ -96,7 +109,7 @@ pub struct ConfigMerchantAdditionalDetails {
96109
}
97110

98111
#[serde_with::skip_serializing_none]
99-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
112+
#[derive(Debug, Deserialize, Serialize, Clone)]
100113
pub struct ConfigMetadata {
101114
pub merchant_config_currency: Option<InputData>,
102115
pub merchant_account_id: Option<InputData>,
@@ -137,15 +150,15 @@ pub struct ConfigMetadata {
137150
}
138151

139152
#[serde_with::skip_serializing_none]
140-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
153+
#[derive(Debug, Deserialize, Serialize, Clone)]
141154
pub struct ConnectorWalletDetailsConfig {
142155
pub samsung_pay: Option<Vec<InputData>>,
143156
pub paze: Option<Vec<InputData>>,
144157
pub google_pay: Option<Vec<InputData>>,
145158
}
146159

147160
#[serde_with::skip_serializing_none]
148-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
161+
#[derive(Debug, Deserialize, Serialize, Clone)]
149162
pub struct ConnectorTomlConfig {
150163
pub connector_auth: Option<ConnectorAuthType>,
151164
pub connector_webhook_details: Option<api_models::admin::MerchantConnectorWebhookDetails>,
@@ -170,7 +183,7 @@ pub struct ConnectorTomlConfig {
170183
pub real_time_payment: Option<Vec<Provider>>,
171184
}
172185
#[serde_with::skip_serializing_none]
173-
#[derive(Debug, Deserialize, serde::Serialize, Clone)]
186+
#[derive(Debug, Deserialize, Serialize, Clone)]
174187
pub struct ConnectorConfig {
175188
pub authipay: Option<ConnectorTomlConfig>,
176189
pub juspaythreedsserver: Option<ConnectorTomlConfig>,

crates/connector_configs/toml/development.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6416,9 +6416,13 @@ type="Text"
64166416
[[payload.debit]]
64176417
payment_method_type = "Visa"
64186418

6419-
[payload.connector_auth.HeaderKey]
6420-
api_key="API Key"
6421-
6419+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
6420+
processing_account_id = "processing_account_id"
6421+
api_key = "API Key"
6422+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
6423+
processing_account_id = "processing_account_id"
6424+
api_key = "API Key"
6425+
64226426
[silverflow]
64236427
[[silverflow.credit]]
64246428
payment_method_type = "Mastercard"

crates/connector_configs/toml/production.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5029,9 +5029,13 @@ payment_method_type = "Mastercard"
50295029
[[payload.debit]]
50305030
payment_method_type = "Visa"
50315031

5032-
[payload.connector_auth.HeaderKey]
5033-
api_key="API Key"
5034-
5032+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
5033+
processing_account_id = "processing_account_id"
5034+
api_key = "API Key"
5035+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
5036+
processing_account_id = "processing_account_id"
5037+
api_key = "API Key"
5038+
50355039
[silverflow]
50365040
[[silverflow.credit]]
50375041
payment_method_type = "Mastercard"

crates/connector_configs/toml/sandbox.toml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6397,9 +6397,13 @@ payment_method_type = "Mastercard"
63976397
[[payload.debit]]
63986398
payment_method_type = "Visa"
63996399

6400-
[payload.connector_auth.HeaderKey]
6401-
api_key="API Key"
6402-
6400+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.USD]
6401+
processing_account_id = "processing_account_id"
6402+
api_key = "API Key"
6403+
[payload.connector_auth.CurrencyAuthKey.auth_key_map.CAD]
6404+
processing_account_id = "processing_account_id"
6405+
api_key = "API Key"
6406+
64036407
[silverflow]
64046408
[[silverflow.credit]]
64056409
payment_method_type = "Mastercard"

0 commit comments

Comments
 (0)