Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(router): Payment link api contract change #2975

Merged
merged 86 commits into from
Jan 8, 2024
Merged
Show file tree
Hide file tree
Changes from 84 commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
297a997
fix(router): changed api contract for payment link
sahkal Nov 24, 2023
1e41e49
fix(router): added open-api specs
sahkal Nov 24, 2023
2e47d4f
chore: run formatter
hyperswitch-bot[bot] Nov 24, 2023
f0676f4
refactor(router): removed commented lines
sahkal Nov 24, 2023
97e89b2
refactor(router): removed commented code
sahkal Nov 24, 2023
37026d4
refactor(router): fixed schema.rs and open api issue
sahkal Nov 24, 2023
8558518
refactor(router): fixed diesel migration issue
sahkal Nov 24, 2023
5f4c45c
fix(router): added payment link config to business profile
sahkal Nov 24, 2023
d18d810
docs(openapi): re-generate OpenAPI specification
hyperswitch-bot[bot] Nov 24, 2023
baa253f
Merge branch 'main' into payment-link-api-contract-change
sahkal Nov 27, 2023
c1677b9
fix(router): added payment_link_create based on parameters
sahkal Nov 28, 2023
7f20990
Merge branch 'payment-link-api-contract-change' of https://github.com…
sahkal Nov 28, 2023
5223561
fix(payment_link): changed api contract
sahkal Nov 29, 2023
6631cf6
refactor(payment_link): changed api contract
sahkal Nov 30, 2023
a0becbf
refactor(payment_link): changed api contract
sahkal Nov 30, 2023
578aecf
refactor(payment_link): syned with main
sahkal Nov 30, 2023
3b1a904
refactor(payment_link): fixed compilation issue
sahkal Nov 30, 2023
f90d7b5
docs(openapi): re-generate OpenAPI specification
hyperswitch-bot[bot] Nov 30, 2023
4e51a6e
Merge branch 'main' into payment-link-api-contract-change
sahkal Dec 1, 2023
df63a74
Merge branch 'main' into payment-link-api-contract-change
sahkal Dec 1, 2023
65cd3be
feat: optimize payment link UI
kashif-m Dec 6, 2023
364d581
refactor(payment_link): resolved conflicts
sahkal Dec 7, 2023
41fcf5a
refactor(payment_link): added new payment link type
sahkal Dec 8, 2023
e0300b6
refactor(payment_link): fixed open-api specs
sahkal Dec 8, 2023
c8c63e0
added seller_name in schema.rs
sahkal Dec 11, 2023
a4deac9
refactor(payment_link): fixed ci check failure
sahkal Dec 11, 2023
110a775
refactor(payment_link): addressed Pr comments
sahkal Dec 11, 2023
cb2fd3d
refactor(payment_link): fixed open-api issue
sahkal Dec 11, 2023
1fe8745
Merge branch 'main' into payment-link-api-contract-change
sahkal Dec 12, 2023
7e10e47
refactor(payment_link): addressed pr comments
sahkal Dec 12, 2023
397bfab
refactor(payment_link): fixed open-api specs
sahkal Dec 13, 2023
5b5a4ae
feat(payment-links): add merchant description field in PaymentLinkData
kashif-m Dec 13, 2023
b41628a
refactor(payment_link): removed order details dependency on payment_link
sahkal Dec 14, 2023
300d82d
chore: run formatter
hyperswitch-bot[bot] Dec 14, 2023
2898a8a
refactor(payment_link): update UI
kashif-m Dec 14, 2023
fe9da43
refactor(payment_link): made all fields in table optional to avoid mi…
sahkal Dec 14, 2023
cb0ada5
refactor(payment_link): update status page UI
kashif-m Dec 15, 2023
1d077b9
fix(payment_link): hide all cart items if order_details is not found
kashif-m Dec 15, 2023
3422d23
fix(payment_link): refactor the code properly
kashif-m Dec 15, 2023
d9419b3
refactor(router): resolved merge conflicts:
sahkal Dec 15, 2023
826a2fa
Merge branch 'main' of github.com:juspay/hyperswitch into payment-lin…
sahkal Dec 18, 2023
33ea3d1
refactor(router): removed drop queries
sahkal Dec 18, 2023
aadf262
chore: run formatter
hyperswitch-bot[bot] Dec 18, 2023
725e960
refactor(payment_link): resolved merge conflicts
sahkal Dec 18, 2023
283bfe7
feat(payment_link): add merchant redirection for no_three_ds txns
kashif-m Dec 19, 2023
fe29063
fix(payment_link): cart animation fix
kashif-m Dec 19, 2023
3a306af
fix(payment_link): use contrasting color for redirect text
kashif-m Dec 19, 2023
c91cc65
fix(payment_link): use color inversion for generating contrasting tex…
kashif-m Dec 19, 2023
444361b
refactor(payment_link): update UI
kashif-m Dec 19, 2023
7d4f36d
refactor(payment_link): fixed sdk theme mapping in html
sahkal Dec 19, 2023
b6fd9a9
feat(payment_link): update payment link doc's title and logo
kashif-m Dec 20, 2023
e52e356
refactor(payment_link): fixed show status bug in payment link amount
sahkal Dec 20, 2023
1c834d7
feat(router): Add payment and business level expiry (#3081)
sahkal Dec 21, 2023
78b5ffd
refactor(payment_link): added checks for fulfillment time in business…
sahkal Dec 21, 2023
b7c4006
refactor(payment_link): restricted fulfillment time to max 3 months
sahkal Dec 21, 2023
8bb33f6
refactor(payment_link): UI update
kashif-m Dec 21, 2023
d6409ae
refactor(payment_link): resolved pr comments and fixed CI fail
sahkal Dec 21, 2023
88ace9d
refactor(payment_link): fix schema.rs issue
sahkal Dec 21, 2023
cf2f4c9
fix(payment_link): added to_upper_case 1st character function to uppe…
sahkal Dec 25, 2023
929900c
refactor(payment_link): fixed amount show status bug
sahkal Dec 25, 2023
ead94e7
fix(payment_link): expiry date in SDK header
kashif-m Dec 26, 2023
a88bdba
refactor(payment_link): addressd pr comments
sahkal Dec 26, 2023
9e23e28
refactor(payment_link): fixed clippy issue
sahkal Dec 26, 2023
2de9301
refactor(payment_link): changed default fall back color
sahkal Dec 27, 2023
99891e6
refactor(router): fixed open-api specs issue:
sahkal Dec 27, 2023
bbd7150
Merge branch 'payment-link-api-contract-change' of github.com:juspay/…
sahkal Dec 27, 2023
38faad0
refactor(payment_link): fixed session expiry and default fulfillment …
sahkal Dec 27, 2023
6fb8901
Merge branch 'payment-link-api-contract-change' of https://github.com…
sahkal Dec 27, 2023
5825115
chore: run formatter
hyperswitch-bot[bot] Dec 27, 2023
035d751
get intent_fulfillment_time from business_profile
hrithikesh026 Dec 27, 2023
3633b55
refactor(payment_link): fixed api contract
sahkal Dec 27, 2023
12c9aea
refactor(payment_link): fixed spell check issue
sahkal Dec 27, 2023
e39f825
refactor(payment_link): fixed open-api specs issue:
sahkal Dec 27, 2023
4306729
refactor(payment_link): removed payment_link_config from merchant acc…
sahkal Dec 27, 2023
88ba252
Merge branch 'payment-link-api-contract-change' of github.com:juspay/…
sahkal Dec 27, 2023
e2746af
refactor(payment_link): fixed open-api specs
sahkal Dec 27, 2023
1fe7428
Merge branch 'payment-link-api-contract-change' of https://github.com…
sahkal Dec 27, 2023
92be85e
refactor(payment_link): fixed open-api specs
sahkal Dec 27, 2023
a129034
refactor(payment_link): fixed open-api spces
sahkal Dec 27, 2023
ee9f785
use macro for zipping more that two options
hrithikesh026 Jan 3, 2024
ba5b3ae
refactor(payment_link): addressed pr comments
sahkal Jan 7, 2024
cd11994
refactor(payment_link): syned with main:
sahkal Jan 7, 2024
776fdb6
refactor(payment_link): fixed clippy issue
sahkal Jan 7, 2024
0f239e4
refactot: use zip and map instead of macro for combining options
hrithikeshvm Jan 8, 2024
e720dd4
refactor(payment_link): resolved merge conflicts
sahkal Jan 8, 2024
cdc5ac4
Merge branch 'payment-link-api-contract-change' of https://github.com…
sahkal Jan 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 51 additions & 35 deletions crates/api_models/src/admin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,8 @@ pub struct MerchantAccountCreate {
#[schema(value_type = Option<Object>,example = json!({"type": "single", "data": "signifyd"}))]
pub frm_routing_algorithm: Option<serde_json::Value>,

///Will be used to expire client secret after certain amount of time to be supplied in seconds
///(900) for 15 mins
#[schema(example = 900)]
pub intent_fulfillment_time: Option<u32>,
sahkal marked this conversation as resolved.
Show resolved Hide resolved

/// The id of the organization to which the merchant belongs to
pub organization_id: Option<String>,

pub payment_link_config: Option<PaymentLinkConfig>,
}

#[derive(Clone, Debug, Deserialize, Serialize, ToSchema)]
Expand Down Expand Up @@ -185,16 +178,10 @@ pub struct MerchantAccountUpdate {
#[schema(value_type = Option<Object>,example = json!({"type": "single", "data": "signifyd"}))]
pub frm_routing_algorithm: Option<serde_json::Value>,

///Will be used to expire client secret after certain amount of time to be supplied in seconds
///(900) for 15 mins
pub intent_fulfillment_time: Option<u32>,

/// The default business profile that must be used for creating merchant accounts and payments
/// To unset this field, pass an empty string
#[schema(max_length = 64)]
pub default_profile: Option<String>,

pub payment_link_config: Option<serde_json::Value>,
}

#[derive(Clone, Debug, ToSchema, Serialize)]
Expand Down Expand Up @@ -288,8 +275,6 @@ pub struct MerchantAccountResponse {
/// A enum value to indicate the status of recon service. By default it is not_requested.
#[schema(value_type = ReconStatus, example = "not_requested")]
pub recon_status: enums::ReconStatus,

pub payment_link_config: Option<serde_json::Value>,
}

#[derive(Clone, Debug, Deserialize, ToSchema, Serialize)]
Expand Down Expand Up @@ -460,26 +445,6 @@ pub struct PrimaryBusinessDetails {
pub business: String,
}

#[derive(Clone, Debug, Deserialize, ToSchema, Serialize, PartialEq)]
#[serde(deny_unknown_fields)]
pub struct PaymentLinkConfig {
#[schema(
max_length = 255,
max_length = 255,
example = "https://i.imgur.com/RfxPFQo.png"
)]
pub merchant_logo: Option<String>,
pub color_scheme: Option<PaymentLinkColorSchema>,
}

#[derive(Clone, Debug, Deserialize, ToSchema, Serialize, PartialEq)]
#[serde(deny_unknown_fields)]

pub struct PaymentLinkColorSchema {
pub background_primary_color: Option<String>,
pub sdk_theme: Option<String>,
}

#[derive(Clone, Debug, Deserialize, ToSchema, Serialize)]
#[serde(deny_unknown_fields)]
pub struct WebhookDetails {
Expand Down Expand Up @@ -1048,6 +1013,13 @@ pub struct BusinessProfileCreate {

/// Verified applepay domains for a particular profile
pub applepay_verified_domains: Option<Vec<String>>,

/// Client Secret Default expiry for all payments created under this business profile
#[schema(example = 900)]
pub session_expiry: Option<u32>,

/// Default Payment Link config for all payment links created under this business profile
pub payment_link_config: Option<BusinessPaymentLinkConfig>,
}

#[derive(Clone, Debug, ToSchema, Serialize)]
Expand Down Expand Up @@ -1112,6 +1084,13 @@ pub struct BusinessProfileResponse {

/// Verified applepay domains for a particular profile
pub applepay_verified_domains: Option<Vec<String>>,

/// Client Secret Default expiry for all payments created under this business profile
#[schema(example = 900)]
pub session_expiry: Option<i64>,

/// Default Payment Link config for all payment links created under this business profile
pub payment_link_config: Option<serde_json::Value>,
}

#[derive(Clone, Debug, Deserialize, ToSchema, Serialize)]
Expand Down Expand Up @@ -1169,4 +1148,41 @@ pub struct BusinessProfileUpdate {

/// Verified applepay domains for a particular profile
pub applepay_verified_domains: Option<Vec<String>>,

/// Client Secret Default expiry for all payments created under this business profile
#[schema(example = 900)]
pub session_expiry: Option<u32>,

/// Default Payment Link config for all payment links created under this business profile
pub payment_link_config: Option<BusinessPaymentLinkConfig>,
}

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
pub struct BusinessPaymentLinkConfig {
pub domain_name: Option<String>,
#[serde(flatten)]
pub config: PaymentLinkConfigRequest,
}

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
pub struct PaymentLinkConfigRequest {
/// custom theme for the payment link
#[schema(value_type = Option<String>, max_length = 255, example = "#4E6ADD")]
pub theme: Option<String>,
/// merchant display logo
#[schema(value_type = Option<String>, max_length = 255, example = "https://i.pinimg.com/736x/4d/83/5c/4d835ca8aafbbb15f84d07d926fda473.jpg")]
pub logo: Option<String>,
/// Custom merchant name for payment link
#[schema(value_type = Option<String>, max_length = 255, example = "hyperswitch")]
pub seller_name: Option<String>,
}

#[derive(Clone, Debug, serde::Serialize, serde::Deserialize, PartialEq, ToSchema)]
pub struct PaymentLinkConfig {
/// custom theme for the payment link
pub theme: String,
/// merchant display logo
pub logo: String,
/// Custom merchant name for payment link
pub seller_name: String,
}
52 changes: 33 additions & 19 deletions crates/api_models/src/payments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -296,8 +296,14 @@ pub struct PaymentsRequest {

/// additional data that might be required by hyperswitch
pub feature_metadata: Option<FeatureMetadata>,
/// payment link object required for generating the payment_link
pub payment_link_object: Option<PaymentLinkObject>,

/// Whether to get the payment link (if applicable)
#[schema(default = false, example = true)]
pub payment_link: Option<bool>,

/// custom payment link config for the particular payment
#[schema(value_type = Option<PaymentCreatePaymentLinkConfig>)]
pub payment_link_config: Option<PaymentCreatePaymentLinkConfig>,

/// The business profile to use for this payment, if not passed the default business profile
/// associated with the merchant account will be used.
Expand All @@ -314,6 +320,11 @@ pub struct PaymentsRequest {
///Request for an incremental authorization
pub request_incremental_authorization: Option<bool>,

///Will be used to expire client secret after certain amount of time to be supplied in seconds
///(900) for 15 mins
#[schema(example = 900)]
pub session_expiry: Option<u32>,

/// additional data related to some frm connectors
pub frm_metadata: Option<serde_json::Value>,
}
Expand Down Expand Up @@ -3309,17 +3320,6 @@ mod tests {
}
}

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
pub struct PaymentLinkObject {
#[serde(default, with = "common_utils::custom_serde::iso8601::option")]
pub link_expiry: Option<PrimitiveDateTime>,
pub merchant_custom_domain_name: Option<String>,
#[schema(value_type = PaymentLinkConfig)]
pub payment_link_config: Option<admin::PaymentLinkConfig>,
/// Custom merchant name for payment link
pub custom_merchant_name: Option<String>,
}

#[derive(Default, Debug, serde::Deserialize, Clone, ToSchema, serde::Serialize)]
pub struct RetrievePaymentLinkRequest {
pub client_secret: Option<String>,
Expand All @@ -3339,10 +3339,10 @@ pub struct RetrievePaymentLinkResponse {
pub amount: i64,
#[serde(with = "common_utils::custom_serde::iso8601")]
pub created_at: PrimitiveDateTime,
#[serde(default, with = "common_utils::custom_serde::iso8601::option")]
pub link_expiry: Option<PrimitiveDateTime>,
#[serde(with = "common_utils::custom_serde::iso8601::option")]
pub expiry: Option<PrimitiveDateTime>,
pub description: Option<String>,
pub status: String,
pub status: PaymentLinkStatus,
#[schema(value_type = Option<Currency>)]
pub currency: Option<api_enums::Currency>,
}
Expand All @@ -3360,14 +3360,15 @@ pub struct PaymentLinkDetails {
pub pub_key: String,
pub client_secret: String,
pub payment_id: String,
#[serde(with = "common_utils::custom_serde::iso8601::option")]
pub expiry: Option<PrimitiveDateTime>,
#[serde(with = "common_utils::custom_serde::iso8601")]
pub session_expiry: PrimitiveDateTime,
pub merchant_logo: String,
pub return_url: String,
pub merchant_name: String,
pub order_details: Option<Vec<OrderDetailsWithStringAmount>>,
pub max_items_visible_after_collapse: i8,
pub sdk_theme: Option<String>,
pub theme: String,
pub merchant_description: Option<String>,
}

#[derive(Clone, Debug, serde::Deserialize, ToSchema, serde::Serialize)]
Expand Down Expand Up @@ -3424,6 +3425,13 @@ pub struct PaymentLinkListResponse {
pub data: Vec<PaymentLinkResponse>,
}

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
pub struct PaymentCreatePaymentLinkConfig {
#[serde(flatten)]
#[schema(value_type = Option<PaymentLinkConfigRequest>)]
pub config: admin::PaymentLinkConfigRequest,
}

#[derive(Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize, Clone, ToSchema)]
pub struct OrderDetailsWithStringAmount {
/// Name of the product that is being purchased
Expand All @@ -3437,3 +3445,9 @@ pub struct OrderDetailsWithStringAmount {
/// Product Image link
pub product_img_link: Option<String>,
}

#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, ToSchema)]
pub enum PaymentLinkStatus {
Active,
Expired,
}
11 changes: 7 additions & 4 deletions crates/common_utils/src/consts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,8 @@ pub const SURCHARGE_PERCENTAGE_PRECISION_LENGTH: u8 = 2;
/// Header Key for application overhead of a request
pub const X_HS_LATENCY: &str = "x-hs-latency";

/// SDK Default Theme const
pub const DEFAULT_SDK_THEME: &str = "#7EA8F6";

/// Default Payment Link Background color
pub const DEFAULT_BACKGROUND_COLOR: &str = "#E5E5E5";
pub const DEFAULT_BACKGROUND_COLOR: &str = "#212E46";

/// Default product Img Link
pub const DEFAULT_PRODUCT_IMG: &str = "https://i.imgur.com/On3VtKF.png";
Expand All @@ -50,3 +47,9 @@ pub const PROPHETPAY_REDIRECT_URL: &str = "https://ccm-thirdparty.cps.golf/hp/to

/// Variable which store the card token for Prophetpay
pub const PROPHETPAY_TOKEN: &str = "cctoken";

/// Payment intent fulfillment default timeout (in seconds)
pub const DEFAULT_FULFILLMENT_TIME: i64 = 15 * 60;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create a new time for client expiry.


/// Payment intent default client secret expiry (in seconds)
pub const DEFAULT_SESSION_EXPIRY: i64 = 15 * 60;
1 change: 1 addition & 0 deletions crates/data_models/src/payments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,5 @@ pub struct PaymentIntent {
pub request_incremental_authorization: Option<storage_enums::RequestIncrementalAuthorization>,
pub incremental_authorization_allowed: Option<bool>,
pub authorization_count: Option<i32>,
pub session_expiry: Option<PrimitiveDateTime>,
}
5 changes: 5 additions & 0 deletions crates/data_models/src/payments/payment_intent.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ pub struct PaymentIntentNew {
pub request_incremental_authorization: Option<storage_enums::RequestIncrementalAuthorization>,
pub incremental_authorization_allowed: Option<bool>,
pub authorization_count: Option<i32>,
pub session_expiry: Option<PrimitiveDateTime>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
Expand Down Expand Up @@ -162,6 +163,7 @@ pub enum PaymentIntentUpdate {
metadata: Option<pii::SecretSerdeValue>,
payment_confirm_source: Option<storage_enums::PaymentSource>,
updated_by: String,
session_expiry: Option<PrimitiveDateTime>,
},
PaymentAttemptAndAttemptCountUpdate {
active_attempt_id: String,
Expand Down Expand Up @@ -226,6 +228,7 @@ pub struct PaymentIntentUpdateInternal {
pub surcharge_applicable: Option<bool>,
pub incremental_authorization_allowed: Option<bool>,
pub authorization_count: Option<i32>,
pub session_expiry: Option<PrimitiveDateTime>,
}

impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
Expand All @@ -249,6 +252,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
metadata,
payment_confirm_source,
updated_by,
session_expiry,
} => Self {
amount: Some(amount),
currency: Some(currency),
Expand All @@ -268,6 +272,7 @@ impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
metadata,
payment_confirm_source,
updated_by,
session_expiry,
..Default::default()
},
PaymentIntentUpdate::MetadataUpdate {
Expand Down
12 changes: 12 additions & 0 deletions crates/diesel_models/src/business_profile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ pub struct BusinessProfile {
pub is_recon_enabled: bool,
#[diesel(deserialize_as = super::OptionalDieselArray<String>)]
pub applepay_verified_domains: Option<Vec<String>>,
pub payment_link_config: Option<serde_json::Value>,
pub session_expiry: Option<i64>,
}

#[derive(Clone, Debug, Insertable, router_derive::DebugAsDisplay)]
Expand All @@ -55,6 +57,8 @@ pub struct BusinessProfileNew {
pub is_recon_enabled: bool,
#[diesel(deserialize_as = super::OptionalDieselArray<String>)]
pub applepay_verified_domains: Option<Vec<String>>,
pub payment_link_config: Option<serde_json::Value>,
pub session_expiry: Option<i64>,
}

#[derive(Clone, Debug, Default, AsChangeset, router_derive::DebugAsDisplay)]
Expand All @@ -75,6 +79,8 @@ pub struct BusinessProfileUpdateInternal {
pub is_recon_enabled: Option<bool>,
#[diesel(deserialize_as = super::OptionalDieselArray<String>)]
pub applepay_verified_domains: Option<Vec<String>>,
pub payment_link_config: Option<serde_json::Value>,
pub session_expiry: Option<i64>,
}

impl From<BusinessProfileNew> for BusinessProfile {
Expand All @@ -97,6 +103,8 @@ impl From<BusinessProfileNew> for BusinessProfile {
payout_routing_algorithm: new.payout_routing_algorithm,
is_recon_enabled: new.is_recon_enabled,
applepay_verified_domains: new.applepay_verified_domains,
payment_link_config: new.payment_link_config,
session_expiry: new.session_expiry,
}
}
}
Expand All @@ -118,6 +126,8 @@ impl BusinessProfileUpdateInternal {
payout_routing_algorithm,
is_recon_enabled,
applepay_verified_domains,
payment_link_config,
session_expiry,
} = self;
BusinessProfile {
profile_name: profile_name.unwrap_or(source.profile_name),
Expand All @@ -136,6 +146,8 @@ impl BusinessProfileUpdateInternal {
payout_routing_algorithm,
is_recon_enabled: is_recon_enabled.unwrap_or(source.is_recon_enabled),
applepay_verified_domains,
payment_link_config,
session_expiry,
..source
}
}
Expand Down
Loading