mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 09:07:09 +08:00
feat(payments): [Payment links] add hide card nickname field config for secure payment links (#6554)
Co-authored-by: Chikke Srujan <chikke.srujan@Chikke-Srujan-N7WRTY72X7.local> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
@ -11948,7 +11948,8 @@
|
|||||||
"seller_name",
|
"seller_name",
|
||||||
"sdk_layout",
|
"sdk_layout",
|
||||||
"display_sdk_only",
|
"display_sdk_only",
|
||||||
"enabled_saved_payment_method"
|
"enabled_saved_payment_method",
|
||||||
|
"hide_card_nickname_field"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"theme": {
|
"theme": {
|
||||||
@ -11975,6 +11976,10 @@
|
|||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "Enable saved payment method option for payment link"
|
"description": "Enable saved payment method option for payment link"
|
||||||
},
|
},
|
||||||
|
"hide_card_nickname_field": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Hide card nickname field option for payment link"
|
||||||
|
},
|
||||||
"allowed_domains": {
|
"allowed_domains": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
@ -12039,6 +12044,13 @@
|
|||||||
"example": true,
|
"example": true,
|
||||||
"nullable": true
|
"nullable": true
|
||||||
},
|
},
|
||||||
|
"hide_card_nickname_field": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Hide card nickname field option for payment link",
|
||||||
|
"default": false,
|
||||||
|
"example": true,
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
"transaction_details": {
|
"transaction_details": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|||||||
@ -15074,7 +15074,8 @@
|
|||||||
"seller_name",
|
"seller_name",
|
||||||
"sdk_layout",
|
"sdk_layout",
|
||||||
"display_sdk_only",
|
"display_sdk_only",
|
||||||
"enabled_saved_payment_method"
|
"enabled_saved_payment_method",
|
||||||
|
"hide_card_nickname_field"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"theme": {
|
"theme": {
|
||||||
@ -15101,6 +15102,10 @@
|
|||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "Enable saved payment method option for payment link"
|
"description": "Enable saved payment method option for payment link"
|
||||||
},
|
},
|
||||||
|
"hide_card_nickname_field": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Hide card nickname field option for payment link"
|
||||||
|
},
|
||||||
"allowed_domains": {
|
"allowed_domains": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
@ -15165,6 +15170,13 @@
|
|||||||
"example": true,
|
"example": true,
|
||||||
"nullable": true
|
"nullable": true
|
||||||
},
|
},
|
||||||
|
"hide_card_nickname_field": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Hide card nickname field option for payment link",
|
||||||
|
"default": false,
|
||||||
|
"example": true,
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
"transaction_details": {
|
"transaction_details": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|||||||
@ -2692,6 +2692,9 @@ pub struct PaymentLinkConfigRequest {
|
|||||||
/// Enable saved payment method option for payment link
|
/// Enable saved payment method option for payment link
|
||||||
#[schema(default = false, example = true)]
|
#[schema(default = false, example = true)]
|
||||||
pub enabled_saved_payment_method: Option<bool>,
|
pub enabled_saved_payment_method: Option<bool>,
|
||||||
|
/// Hide card nickname field option for payment link
|
||||||
|
#[schema(default = false, example = true)]
|
||||||
|
pub hide_card_nickname_field: Option<bool>,
|
||||||
/// Dynamic details related to merchant to be rendered in payment link
|
/// Dynamic details related to merchant to be rendered in payment link
|
||||||
pub transaction_details: Option<Vec<PaymentLinkTransactionDetails>>,
|
pub transaction_details: Option<Vec<PaymentLinkTransactionDetails>>,
|
||||||
}
|
}
|
||||||
@ -2735,6 +2738,8 @@ pub struct PaymentLinkConfig {
|
|||||||
pub display_sdk_only: bool,
|
pub display_sdk_only: bool,
|
||||||
/// Enable saved payment method option for payment link
|
/// Enable saved payment method option for payment link
|
||||||
pub enabled_saved_payment_method: bool,
|
pub enabled_saved_payment_method: bool,
|
||||||
|
/// Hide card nickname field option for payment link
|
||||||
|
pub hide_card_nickname_field: bool,
|
||||||
/// A list of allowed domains (glob patterns) where this link can be embedded / opened from
|
/// A list of allowed domains (glob patterns) where this link can be embedded / opened from
|
||||||
pub allowed_domains: Option<HashSet<String>>,
|
pub allowed_domains: Option<HashSet<String>>,
|
||||||
/// Dynamic details related to merchant to be rendered in payment link
|
/// Dynamic details related to merchant to be rendered in payment link
|
||||||
|
|||||||
@ -6556,6 +6556,7 @@ pub struct PaymentLinkDetails {
|
|||||||
pub merchant_description: Option<String>,
|
pub merchant_description: Option<String>,
|
||||||
pub sdk_layout: String,
|
pub sdk_layout: String,
|
||||||
pub display_sdk_only: bool,
|
pub display_sdk_only: bool,
|
||||||
|
pub hide_card_nickname_field: bool,
|
||||||
pub locale: Option<String>,
|
pub locale: Option<String>,
|
||||||
pub transaction_details: Option<Vec<admin::PaymentLinkTransactionDetails>>,
|
pub transaction_details: Option<Vec<admin::PaymentLinkTransactionDetails>>,
|
||||||
}
|
}
|
||||||
@ -6563,6 +6564,7 @@ pub struct PaymentLinkDetails {
|
|||||||
#[derive(Debug, serde::Serialize, Clone)]
|
#[derive(Debug, serde::Serialize, Clone)]
|
||||||
pub struct SecurePaymentLinkDetails {
|
pub struct SecurePaymentLinkDetails {
|
||||||
pub enabled_saved_payment_method: bool,
|
pub enabled_saved_payment_method: bool,
|
||||||
|
pub hide_card_nickname_field: bool,
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
pub payment_link_details: PaymentLinkDetails,
|
pub payment_link_details: PaymentLinkDetails,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
//! Commonly used constants
|
//! Commonly used constants
|
||||||
|
|
||||||
use std::collections::HashSet;
|
|
||||||
|
|
||||||
/// Number of characters in a generated ID
|
/// Number of characters in a generated ID
|
||||||
pub const ID_LENGTH: usize = 20;
|
pub const ID_LENGTH: usize = 20;
|
||||||
|
|
||||||
@ -51,26 +49,12 @@ pub const SURCHARGE_PERCENTAGE_PRECISION_LENGTH: u8 = 2;
|
|||||||
/// Header Key for application overhead of a request
|
/// Header Key for application overhead of a request
|
||||||
pub const X_HS_LATENCY: &str = "x-hs-latency";
|
pub const X_HS_LATENCY: &str = "x-hs-latency";
|
||||||
|
|
||||||
/// Default Payment Link Background color
|
|
||||||
pub const DEFAULT_BACKGROUND_COLOR: &str = "#212E46";
|
|
||||||
|
|
||||||
/// Default product Img Link
|
|
||||||
pub const DEFAULT_PRODUCT_IMG: &str =
|
|
||||||
"https://live.hyperswitch.io/payment-link-assets/cart_placeholder.png";
|
|
||||||
|
|
||||||
/// Default Merchant Logo Link
|
|
||||||
pub const DEFAULT_MERCHANT_LOGO: &str =
|
|
||||||
"https://live.hyperswitch.io/payment-link-assets/Merchant_placeholder.png";
|
|
||||||
|
|
||||||
/// Redirect url for Prophetpay
|
/// Redirect url for Prophetpay
|
||||||
pub const PROPHETPAY_REDIRECT_URL: &str = "https://ccm-thirdparty.cps.golf/hp/tokenize/";
|
pub const PROPHETPAY_REDIRECT_URL: &str = "https://ccm-thirdparty.cps.golf/hp/tokenize/";
|
||||||
|
|
||||||
/// Variable which store the card token for Prophetpay
|
/// Variable which store the card token for Prophetpay
|
||||||
pub const PROPHETPAY_TOKEN: &str = "cctoken";
|
pub const PROPHETPAY_TOKEN: &str = "cctoken";
|
||||||
|
|
||||||
/// Default SDK Layout
|
|
||||||
pub const DEFAULT_SDK_LAYOUT: &str = "tabs";
|
|
||||||
|
|
||||||
/// Payment intent default client secret expiry (in seconds)
|
/// Payment intent default client secret expiry (in seconds)
|
||||||
pub const DEFAULT_SESSION_EXPIRY: i64 = 15 * 60;
|
pub const DEFAULT_SESSION_EXPIRY: i64 = 15 * 60;
|
||||||
|
|
||||||
@ -80,15 +64,6 @@ pub const DEFAULT_INTENT_FULFILLMENT_TIME: i64 = 15 * 60;
|
|||||||
/// Payment order fulfillment time (in seconds)
|
/// Payment order fulfillment time (in seconds)
|
||||||
pub const DEFAULT_ORDER_FULFILLMENT_TIME: i64 = 15 * 60;
|
pub const DEFAULT_ORDER_FULFILLMENT_TIME: i64 = 15 * 60;
|
||||||
|
|
||||||
/// Default bool for Display sdk only
|
|
||||||
pub const DEFAULT_DISPLAY_SDK_ONLY: bool = false;
|
|
||||||
|
|
||||||
/// Default bool to enable saved payment method
|
|
||||||
pub const DEFAULT_ENABLE_SAVED_PAYMENT_METHOD: bool = false;
|
|
||||||
|
|
||||||
/// Default allowed domains for payment links
|
|
||||||
pub const DEFAULT_ALLOWED_DOMAINS: Option<HashSet<String>> = None;
|
|
||||||
|
|
||||||
/// Default ttl for Extended card info in redis (in seconds)
|
/// Default ttl for Extended card info in redis (in seconds)
|
||||||
pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60;
|
pub const DEFAULT_TTL_FOR_EXTENDED_CARD_INFO: u16 = 15 * 60;
|
||||||
|
|
||||||
|
|||||||
@ -542,6 +542,7 @@ pub struct PaymentLinkConfigRequest {
|
|||||||
pub sdk_layout: Option<String>,
|
pub sdk_layout: Option<String>,
|
||||||
pub display_sdk_only: Option<bool>,
|
pub display_sdk_only: Option<bool>,
|
||||||
pub enabled_saved_payment_method: Option<bool>,
|
pub enabled_saved_payment_method: Option<bool>,
|
||||||
|
pub hide_card_nickname_field: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
common_utils::impl_to_sql_from_sql_json!(BusinessPaymentLinkConfig);
|
common_utils::impl_to_sql_from_sql_json!(BusinessPaymentLinkConfig);
|
||||||
|
|||||||
@ -152,6 +152,8 @@ pub struct PaymentLinkConfigRequestForPayments {
|
|||||||
pub display_sdk_only: Option<bool>,
|
pub display_sdk_only: Option<bool>,
|
||||||
/// Enable saved payment method option for payment link
|
/// Enable saved payment method option for payment link
|
||||||
pub enabled_saved_payment_method: Option<bool>,
|
pub enabled_saved_payment_method: Option<bool>,
|
||||||
|
/// Hide card nickname field option for payment link
|
||||||
|
pub hide_card_nickname_field: Option<bool>,
|
||||||
/// Dynamic details related to merchant to be rendered in payment link
|
/// Dynamic details related to merchant to be rendered in payment link
|
||||||
pub transaction_details: Option<Vec<PaymentLinkTransactionDetails>>,
|
pub transaction_details: Option<Vec<PaymentLinkTransactionDetails>>,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -190,6 +190,7 @@ impl ApiModelToDieselModelConvertor<api_models::admin::PaymentLinkConfigRequest>
|
|||||||
sdk_layout: item.sdk_layout,
|
sdk_layout: item.sdk_layout,
|
||||||
display_sdk_only: item.display_sdk_only,
|
display_sdk_only: item.display_sdk_only,
|
||||||
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: item.hide_card_nickname_field,
|
||||||
transaction_details: item.transaction_details.map(|transaction_details| {
|
transaction_details: item.transaction_details.map(|transaction_details| {
|
||||||
transaction_details
|
transaction_details
|
||||||
.into_iter()
|
.into_iter()
|
||||||
@ -210,6 +211,7 @@ impl ApiModelToDieselModelConvertor<api_models::admin::PaymentLinkConfigRequest>
|
|||||||
sdk_layout,
|
sdk_layout,
|
||||||
display_sdk_only,
|
display_sdk_only,
|
||||||
enabled_saved_payment_method,
|
enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field,
|
||||||
transaction_details,
|
transaction_details,
|
||||||
} = self;
|
} = self;
|
||||||
api_models::admin::PaymentLinkConfigRequest {
|
api_models::admin::PaymentLinkConfigRequest {
|
||||||
@ -219,6 +221,7 @@ impl ApiModelToDieselModelConvertor<api_models::admin::PaymentLinkConfigRequest>
|
|||||||
sdk_layout,
|
sdk_layout,
|
||||||
display_sdk_only,
|
display_sdk_only,
|
||||||
enabled_saved_payment_method,
|
enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field,
|
||||||
transaction_details: transaction_details.map(|transaction_details| {
|
transaction_details: transaction_details.map(|transaction_details| {
|
||||||
transaction_details
|
transaction_details
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
@ -3,6 +3,8 @@ pub mod opensearch;
|
|||||||
pub mod user;
|
pub mod user;
|
||||||
pub mod user_role;
|
pub mod user_role;
|
||||||
|
|
||||||
|
use std::collections::HashSet;
|
||||||
|
|
||||||
use common_utils::consts;
|
use common_utils::consts;
|
||||||
pub use hyperswitch_interfaces::consts::{NO_ERROR_CODE, NO_ERROR_MESSAGE};
|
pub use hyperswitch_interfaces::consts::{NO_ERROR_CODE, NO_ERROR_MESSAGE};
|
||||||
// ID generation
|
// ID generation
|
||||||
@ -145,6 +147,32 @@ pub const RECON_FEATURE_TAG: &str = "RECONCILIATION AND SETTLEMENT";
|
|||||||
// Length of the unique reference ID generated for connector mandate requests
|
// Length of the unique reference ID generated for connector mandate requests
|
||||||
pub const CONNECTOR_MANDATE_REQUEST_REFERENCE_ID_LENGTH: usize = 18;
|
pub const CONNECTOR_MANDATE_REQUEST_REFERENCE_ID_LENGTH: usize = 18;
|
||||||
|
|
||||||
|
/// Default allowed domains for payment links
|
||||||
|
pub const DEFAULT_ALLOWED_DOMAINS: Option<HashSet<String>> = None;
|
||||||
|
|
||||||
|
/// Default hide card nickname field
|
||||||
|
pub const DEFAULT_HIDE_CARD_NICKNAME_FIELD: bool = false;
|
||||||
|
|
||||||
|
/// Default bool for Display sdk only
|
||||||
|
pub const DEFAULT_DISPLAY_SDK_ONLY: bool = false;
|
||||||
|
|
||||||
|
/// Default bool to enable saved payment method
|
||||||
|
pub const DEFAULT_ENABLE_SAVED_PAYMENT_METHOD: bool = false;
|
||||||
|
|
||||||
|
/// Default Merchant Logo Link
|
||||||
|
pub const DEFAULT_MERCHANT_LOGO: &str =
|
||||||
|
"https://live.hyperswitch.io/payment-link-assets/Merchant_placeholder.png";
|
||||||
|
|
||||||
|
/// Default Payment Link Background color
|
||||||
|
pub const DEFAULT_BACKGROUND_COLOR: &str = "#212E46";
|
||||||
|
|
||||||
|
/// Default product Img Link
|
||||||
|
pub const DEFAULT_PRODUCT_IMG: &str =
|
||||||
|
"https://live.hyperswitch.io/payment-link-assets/cart_placeholder.png";
|
||||||
|
|
||||||
|
/// Default SDK Layout
|
||||||
|
pub const DEFAULT_SDK_LAYOUT: &str = "tabs";
|
||||||
|
|
||||||
/// Vault Add request url
|
/// Vault Add request url
|
||||||
#[cfg(all(feature = "v2", feature = "payment_methods_v2"))]
|
#[cfg(all(feature = "v2", feature = "payment_methods_v2"))]
|
||||||
pub const ADD_VAULT_REQUEST_URL: &str = "/vault/add";
|
pub const ADD_VAULT_REQUEST_URL: &str = "/vault/add";
|
||||||
|
|||||||
@ -5,11 +5,7 @@ use api_models::{
|
|||||||
payments::{PaymentLinkData, PaymentLinkStatusWrap},
|
payments::{PaymentLinkData, PaymentLinkStatusWrap},
|
||||||
};
|
};
|
||||||
use common_utils::{
|
use common_utils::{
|
||||||
consts::{
|
consts::{DEFAULT_LOCALE, DEFAULT_SESSION_EXPIRY},
|
||||||
DEFAULT_ALLOWED_DOMAINS, DEFAULT_BACKGROUND_COLOR, DEFAULT_DISPLAY_SDK_ONLY,
|
|
||||||
DEFAULT_ENABLE_SAVED_PAYMENT_METHOD, DEFAULT_LOCALE, DEFAULT_MERCHANT_LOGO,
|
|
||||||
DEFAULT_PRODUCT_IMG, DEFAULT_SDK_LAYOUT, DEFAULT_SESSION_EXPIRY,
|
|
||||||
},
|
|
||||||
ext_traits::{AsyncExt, OptionExt, ValueExt},
|
ext_traits::{AsyncExt, OptionExt, ValueExt},
|
||||||
types::{AmountConvertor, StringMajorUnitForCore},
|
types::{AmountConvertor, StringMajorUnitForCore},
|
||||||
};
|
};
|
||||||
@ -25,7 +21,11 @@ use super::{
|
|||||||
payments::helpers,
|
payments::helpers,
|
||||||
};
|
};
|
||||||
use crate::{
|
use crate::{
|
||||||
consts,
|
consts::{
|
||||||
|
self, DEFAULT_ALLOWED_DOMAINS, DEFAULT_BACKGROUND_COLOR, DEFAULT_DISPLAY_SDK_ONLY,
|
||||||
|
DEFAULT_ENABLE_SAVED_PAYMENT_METHOD, DEFAULT_HIDE_CARD_NICKNAME_FIELD,
|
||||||
|
DEFAULT_MERCHANT_LOGO, DEFAULT_PRODUCT_IMG, DEFAULT_SDK_LAYOUT,
|
||||||
|
},
|
||||||
errors::RouterResponse,
|
errors::RouterResponse,
|
||||||
get_payment_link_config_value, get_payment_link_config_value_based_on_priority,
|
get_payment_link_config_value, get_payment_link_config_value_based_on_priority,
|
||||||
headers::ACCEPT_LANGUAGE,
|
headers::ACCEPT_LANGUAGE,
|
||||||
@ -125,6 +125,7 @@ pub async fn form_payment_link_data(
|
|||||||
sdk_layout: DEFAULT_SDK_LAYOUT.to_owned(),
|
sdk_layout: DEFAULT_SDK_LAYOUT.to_owned(),
|
||||||
display_sdk_only: DEFAULT_DISPLAY_SDK_ONLY,
|
display_sdk_only: DEFAULT_DISPLAY_SDK_ONLY,
|
||||||
enabled_saved_payment_method: DEFAULT_ENABLE_SAVED_PAYMENT_METHOD,
|
enabled_saved_payment_method: DEFAULT_ENABLE_SAVED_PAYMENT_METHOD,
|
||||||
|
hide_card_nickname_field: DEFAULT_HIDE_CARD_NICKNAME_FIELD,
|
||||||
allowed_domains: DEFAULT_ALLOWED_DOMAINS,
|
allowed_domains: DEFAULT_ALLOWED_DOMAINS,
|
||||||
transaction_details: None,
|
transaction_details: None,
|
||||||
}
|
}
|
||||||
@ -265,6 +266,7 @@ pub async fn form_payment_link_data(
|
|||||||
merchant_description: payment_intent.description,
|
merchant_description: payment_intent.description,
|
||||||
sdk_layout: payment_link_config.sdk_layout.clone(),
|
sdk_layout: payment_link_config.sdk_layout.clone(),
|
||||||
display_sdk_only: payment_link_config.display_sdk_only,
|
display_sdk_only: payment_link_config.display_sdk_only,
|
||||||
|
hide_card_nickname_field: payment_link_config.hide_card_nickname_field,
|
||||||
locale,
|
locale,
|
||||||
transaction_details: payment_link_config.transaction_details.clone(),
|
transaction_details: payment_link_config.transaction_details.clone(),
|
||||||
};
|
};
|
||||||
@ -322,6 +324,7 @@ pub async fn initiate_secure_payment_link_flow(
|
|||||||
PaymentLinkData::PaymentLinkDetails(link_details) => {
|
PaymentLinkData::PaymentLinkDetails(link_details) => {
|
||||||
let secure_payment_link_details = api_models::payments::SecurePaymentLinkDetails {
|
let secure_payment_link_details = api_models::payments::SecurePaymentLinkDetails {
|
||||||
enabled_saved_payment_method: payment_link_config.enabled_saved_payment_method,
|
enabled_saved_payment_method: payment_link_config.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: payment_link_config.hide_card_nickname_field,
|
||||||
payment_link_details: *link_details.to_owned(),
|
payment_link_details: *link_details.to_owned(),
|
||||||
};
|
};
|
||||||
let js_script = format!(
|
let js_script = format!(
|
||||||
@ -607,7 +610,15 @@ pub fn get_payment_link_config_based_on_priority(
|
|||||||
(default_domain_name, None, None)
|
(default_domain_name, None, None)
|
||||||
};
|
};
|
||||||
|
|
||||||
let (theme, logo, seller_name, sdk_layout, display_sdk_only, enabled_saved_payment_method) = get_payment_link_config_value!(
|
let (
|
||||||
|
theme,
|
||||||
|
logo,
|
||||||
|
seller_name,
|
||||||
|
sdk_layout,
|
||||||
|
display_sdk_only,
|
||||||
|
enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field,
|
||||||
|
) = get_payment_link_config_value!(
|
||||||
payment_create_link_config,
|
payment_create_link_config,
|
||||||
business_theme_configs,
|
business_theme_configs,
|
||||||
(theme, DEFAULT_BACKGROUND_COLOR.to_string()),
|
(theme, DEFAULT_BACKGROUND_COLOR.to_string()),
|
||||||
@ -618,7 +629,8 @@ pub fn get_payment_link_config_based_on_priority(
|
|||||||
(
|
(
|
||||||
enabled_saved_payment_method,
|
enabled_saved_payment_method,
|
||||||
DEFAULT_ENABLE_SAVED_PAYMENT_METHOD
|
DEFAULT_ENABLE_SAVED_PAYMENT_METHOD
|
||||||
)
|
),
|
||||||
|
(hide_card_nickname_field, DEFAULT_HIDE_CARD_NICKNAME_FIELD)
|
||||||
);
|
);
|
||||||
let payment_link_config = PaymentLinkConfig {
|
let payment_link_config = PaymentLinkConfig {
|
||||||
theme,
|
theme,
|
||||||
@ -627,6 +639,7 @@ pub fn get_payment_link_config_based_on_priority(
|
|||||||
sdk_layout,
|
sdk_layout,
|
||||||
display_sdk_only,
|
display_sdk_only,
|
||||||
enabled_saved_payment_method,
|
enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field,
|
||||||
allowed_domains,
|
allowed_domains,
|
||||||
transaction_details: payment_create_link_config
|
transaction_details: payment_create_link_config
|
||||||
.and_then(|payment_link_config| payment_link_config.theme_config.transaction_details),
|
.and_then(|payment_link_config| payment_link_config.theme_config.transaction_details),
|
||||||
@ -729,6 +742,7 @@ pub async fn get_payment_link_status(
|
|||||||
sdk_layout: DEFAULT_SDK_LAYOUT.to_owned(),
|
sdk_layout: DEFAULT_SDK_LAYOUT.to_owned(),
|
||||||
display_sdk_only: DEFAULT_DISPLAY_SDK_ONLY,
|
display_sdk_only: DEFAULT_DISPLAY_SDK_ONLY,
|
||||||
enabled_saved_payment_method: DEFAULT_ENABLE_SAVED_PAYMENT_METHOD,
|
enabled_saved_payment_method: DEFAULT_ENABLE_SAVED_PAYMENT_METHOD,
|
||||||
|
hide_card_nickname_field: DEFAULT_HIDE_CARD_NICKNAME_FIELD,
|
||||||
allowed_domains: DEFAULT_ALLOWED_DOMAINS,
|
allowed_domains: DEFAULT_ALLOWED_DOMAINS,
|
||||||
transaction_details: None,
|
transaction_details: None,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,6 +56,7 @@ function initializeSDK() {
|
|||||||
height: 55,
|
height: 55,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
hideCardNicknameField: false,
|
||||||
};
|
};
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
unifiedCheckout = widgets.create("payment", unifiedCheckoutOptions);
|
unifiedCheckout = widgets.create("payment", unifiedCheckoutOptions);
|
||||||
|
|||||||
@ -63,6 +63,7 @@ if (!isFramed) {
|
|||||||
: paymentDetails.sdk_layout;
|
: paymentDetails.sdk_layout;
|
||||||
|
|
||||||
var enableSavedPaymentMethod = paymentDetails.enabled_saved_payment_method;
|
var enableSavedPaymentMethod = paymentDetails.enabled_saved_payment_method;
|
||||||
|
var hideCardNicknameField = paymentDetails.hide_card_nickname_field;
|
||||||
var unifiedCheckoutOptions = {
|
var unifiedCheckoutOptions = {
|
||||||
displaySavedPaymentMethodsCheckbox: enableSavedPaymentMethod,
|
displaySavedPaymentMethodsCheckbox: enableSavedPaymentMethod,
|
||||||
displaySavedPaymentMethods: enableSavedPaymentMethod,
|
displaySavedPaymentMethods: enableSavedPaymentMethod,
|
||||||
@ -79,6 +80,7 @@ if (!isFramed) {
|
|||||||
height: 55,
|
height: 55,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
hideCardNicknameField: hideCardNicknameField,
|
||||||
};
|
};
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
unifiedCheckout = widgets.create("payment", unifiedCheckoutOptions);
|
unifiedCheckout = widgets.create("payment", unifiedCheckoutOptions);
|
||||||
|
|||||||
@ -3518,6 +3518,7 @@ impl ForeignFrom<api_models::admin::PaymentLinkConfigRequest>
|
|||||||
sdk_layout: config.sdk_layout,
|
sdk_layout: config.sdk_layout,
|
||||||
display_sdk_only: config.display_sdk_only,
|
display_sdk_only: config.display_sdk_only,
|
||||||
enabled_saved_payment_method: config.enabled_saved_payment_method,
|
enabled_saved_payment_method: config.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: config.hide_card_nickname_field,
|
||||||
transaction_details: config.transaction_details.map(|transaction_details| {
|
transaction_details: config.transaction_details.map(|transaction_details| {
|
||||||
transaction_details
|
transaction_details
|
||||||
.iter()
|
.iter()
|
||||||
@ -3570,6 +3571,7 @@ impl ForeignFrom<diesel_models::PaymentLinkConfigRequestForPayments>
|
|||||||
sdk_layout: config.sdk_layout,
|
sdk_layout: config.sdk_layout,
|
||||||
display_sdk_only: config.display_sdk_only,
|
display_sdk_only: config.display_sdk_only,
|
||||||
enabled_saved_payment_method: config.enabled_saved_payment_method,
|
enabled_saved_payment_method: config.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: config.hide_card_nickname_field,
|
||||||
transaction_details: config.transaction_details.map(|transaction_details| {
|
transaction_details: config.transaction_details.map(|transaction_details| {
|
||||||
transaction_details
|
transaction_details
|
||||||
.iter()
|
.iter()
|
||||||
|
|||||||
@ -1987,6 +1987,7 @@ impl ForeignFrom<api_models::admin::PaymentLinkConfigRequest>
|
|||||||
sdk_layout: item.sdk_layout,
|
sdk_layout: item.sdk_layout,
|
||||||
display_sdk_only: item.display_sdk_only,
|
display_sdk_only: item.display_sdk_only,
|
||||||
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: item.hide_card_nickname_field,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2002,6 +2003,7 @@ impl ForeignFrom<diesel_models::business_profile::PaymentLinkConfigRequest>
|
|||||||
sdk_layout: item.sdk_layout,
|
sdk_layout: item.sdk_layout,
|
||||||
display_sdk_only: item.display_sdk_only,
|
display_sdk_only: item.display_sdk_only,
|
||||||
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
enabled_saved_payment_method: item.enabled_saved_payment_method,
|
||||||
|
hide_card_nickname_field: item.hide_card_nickname_field,
|
||||||
transaction_details: None,
|
transaction_details: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user