Skip to content

Commit bca8979

Browse files
feat(connector): Add dummy billing connector auth flow (#7819)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
1 parent 2c9b8ab commit bca8979

File tree

8 files changed

+37
-3
lines changed

8 files changed

+37
-3
lines changed

Diff for: api-reference-v2/openapi_spec.json

+2
Original file line numberDiff line numberDiff line change
@@ -7742,6 +7742,7 @@
77427742
"type": "string",
77437743
"enum": [
77447744
"adyenplatform",
7745+
"stripe_billing_test",
77457746
"phonypay",
77467747
"fauxpay",
77477748
"pretendpay",
@@ -21050,6 +21051,7 @@
2105021051
"description": "RoutableConnectors are the subset of Connectors that are eligible for payments routing",
2105121052
"enum": [
2105221053
"adyenplatform",
21054+
"stripe_billing_test",
2105321055
"phonypay",
2105421056
"fauxpay",
2105521057
"pretendpay",

Diff for: api-reference/openapi_spec.json

+2
Original file line numberDiff line numberDiff line change
@@ -9792,6 +9792,7 @@
97929792
"type": "string",
97939793
"enum": [
97949794
"adyenplatform",
9795+
"stripe_billing_test",
97959796
"phonypay",
97969797
"fauxpay",
97979798
"pretendpay",
@@ -25541,6 +25542,7 @@
2554125542
"description": "RoutableConnectors are the subset of Connectors that are eligible for payments routing",
2554225543
"enum": [
2554325544
"adyenplatform",
25545+
"stripe_billing_test",
2554425546
"phonypay",
2554525547
"fauxpay",
2554625548
"pretendpay",

Diff for: crates/api_models/src/enums.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,14 @@ pub enum TaxConnectors {
160160
Taxjar,
161161
}
162162

163-
#[derive(Clone, Debug, serde::Serialize, strum::EnumString)]
163+
#[derive(Clone, Debug, serde::Serialize, strum::EnumString, Eq, PartialEq)]
164164
#[serde(rename_all = "snake_case")]
165165
pub enum BillingConnectors {
166166
Chargebee,
167+
Recurly,
168+
Stripebilling,
169+
#[cfg(feature = "dummy_connector")]
170+
DummyBillingConnector,
167171
}
168172

169173
#[derive(

Diff for: crates/common_enums/src/connector_enums.rs

+14
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ pub use crate::PaymentMethodType;
2727
pub enum RoutableConnectors {
2828
Adyenplatform,
2929
#[cfg(feature = "dummy_connector")]
30+
#[serde(rename = "stripe_billing_test")]
31+
#[strum(serialize = "stripe_billing_test")]
32+
DummyBillingConnector,
33+
#[cfg(feature = "dummy_connector")]
3034
#[serde(rename = "phonypay")]
3135
#[strum(serialize = "phonypay")]
3236
DummyConnector1,
@@ -170,6 +174,10 @@ pub enum RoutableConnectors {
170174
pub enum Connector {
171175
Adyenplatform,
172176
#[cfg(feature = "dummy_connector")]
177+
#[serde(rename = "stripe_billing_test")]
178+
#[strum(serialize = "stripe_billing_test")]
179+
DummyBillingConnector,
180+
#[cfg(feature = "dummy_connector")]
173181
#[serde(rename = "phonypay")]
174182
#[strum(serialize = "phonypay")]
175183
DummyConnector1,
@@ -354,6 +362,8 @@ impl Connector {
354362
}
355363
pub fn is_separate_authentication_supported(self) -> bool {
356364
match self {
365+
#[cfg(feature = "dummy_connector")]
366+
Self::DummyBillingConnector => false,
357367
#[cfg(feature = "dummy_connector")]
358368
Self::DummyConnector1
359369
| Self::DummyConnector2
@@ -500,6 +510,8 @@ impl From<RoutableConnectors> for Connector {
500510
match routable_connector {
501511
RoutableConnectors::Adyenplatform => Self::Adyenplatform,
502512
#[cfg(feature = "dummy_connector")]
513+
RoutableConnectors::DummyBillingConnector => Self::DummyBillingConnector,
514+
#[cfg(feature = "dummy_connector")]
503515
RoutableConnectors::DummyConnector1 => Self::DummyConnector1,
504516
#[cfg(feature = "dummy_connector")]
505517
RoutableConnectors::DummyConnector2 => Self::DummyConnector2,
@@ -608,6 +620,8 @@ impl TryFrom<Connector> for RoutableConnectors {
608620
match connector {
609621
Connector::Adyenplatform => Ok(Self::Adyenplatform),
610622
#[cfg(feature = "dummy_connector")]
623+
Connector::DummyBillingConnector => Ok(Self::DummyBillingConnector),
624+
#[cfg(feature = "dummy_connector")]
611625
Connector::DummyConnector1 => Ok(Self::DummyConnector1),
612626
#[cfg(feature = "dummy_connector")]
613627
Connector::DummyConnector2 => Ok(Self::DummyConnector2),

Diff for: crates/connector_configs/src/connector.rs

+2
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ impl ConnectorConfig {
363363
Connector::Cryptopay => Ok(connector_data.cryptopay),
364364
Connector::CtpVisa => Ok(connector_data.ctp_visa),
365365
Connector::Cybersource => Ok(connector_data.cybersource),
366+
#[cfg(feature = "dummy_connector")]
367+
Connector::DummyBillingConnector => Ok(connector_data.dummy_connector),
366368
Connector::Iatapay => Ok(connector_data.iatapay),
367369
Connector::Itaubank => Ok(connector_data.itaubank),
368370
Connector::Opennode => Ok(connector_data.opennode),

Diff for: crates/router/src/core/admin.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1246,7 +1246,8 @@ impl ConnectorAuthTypeAndMetadataValidation<'_> {
12461246
}
12471247
// api_enums::Connector::Payone => {payone::transformers::PayoneAuthType::try_from(val)?;Ok(())} Added as a template code for future usage
12481248
#[cfg(feature = "dummy_connector")]
1249-
api_enums::Connector::DummyConnector1
1249+
api_enums::Connector::DummyBillingConnector
1250+
| api_enums::Connector::DummyConnector1
12501251
| api_enums::Connector::DummyConnector2
12511252
| api_enums::Connector::DummyConnector3
12521253
| api_enums::Connector::DummyConnector4

Diff for: crates/router/src/types/api.rs

+4
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,10 @@ impl ConnectorData {
390390
enums::Connector::DummyConnector7 => Ok(ConnectorEnum::Old(Box::new(
391391
&connector::DummyConnector::<7>,
392392
))),
393+
#[cfg(feature = "dummy_connector")]
394+
enums::Connector::DummyBillingConnector => Ok(ConnectorEnum::Old(Box::new(
395+
&connector::DummyConnector::<8>,
396+
))),
393397
enums::Connector::Ebanx => {
394398
Ok(ConnectorEnum::Old(Box::new(connector::Ebanx::new())))
395399
}

Diff for: crates/router/src/types/transformers.rs

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// use actix_web::HttpMessage;
21
use actix_web::http::header::HeaderMap;
32
use api_models::{
43
cards_info as card_info_types, enums as api_enums, gsm as gsm_api_types, payment_methods,
@@ -336,6 +335,12 @@ impl ForeignTryFrom<api_enums::Connector> for common_enums::RoutableConnectors {
336335
api_enums::Connector::Zen => Self::Zen,
337336
api_enums::Connector::Zsl => Self::Zsl,
338337
#[cfg(feature = "dummy_connector")]
338+
api_enums::Connector::DummyBillingConnector => {
339+
Err(common_utils::errors::ValidationError::InvalidValue {
340+
message: "stripe_billing_test is not a routable connector".to_string(),
341+
})?
342+
}
343+
#[cfg(feature = "dummy_connector")]
339344
api_enums::Connector::DummyConnector1 => Self::DummyConnector1,
340345
#[cfg(feature = "dummy_connector")]
341346
api_enums::Connector::DummyConnector2 => Self::DummyConnector2,

0 commit comments

Comments
 (0)