diff --git a/cypress-tests/cypress/e2e/PaymentTest/00003-ConnectorCreate.cy.js b/cypress-tests/cypress/e2e/PaymentTest/00003-ConnectorCreate.cy.js index 838b8b1ee597..3d002740e60e 100644 --- a/cypress-tests/cypress/e2e/PaymentTest/00003-ConnectorCreate.cy.js +++ b/cypress-tests/cypress/e2e/PaymentTest/00003-ConnectorCreate.cy.js @@ -1,7 +1,7 @@ import * as fixtures from "../../fixtures/imports"; import State from "../../utils/State"; import { payment_methods_enabled } from "../PaymentUtils/Commons"; -import { createProfileAndConnector } from "../PaymentUtils/Utils"; +import * as utils from "../PaymentUtils/Utils"; let globalState; describe("Connector Account Create flow test", () => { @@ -15,7 +15,7 @@ describe("Connector Account Create flow test", () => { cy.task("setGlobalState", globalState.data); }); - it("connector-create-call-test", () => { + it("Create merchant connector account", () => { cy.createConnectorCallTest( "payment_processor", fixtures.createConnectorBody, @@ -25,7 +25,26 @@ describe("Connector Account Create flow test", () => { }); // subsequent profile and mca ids should check for the existence of multiple connectors - it("check and create multiple connectors", () => { - createProfileAndConnector(fixtures, globalState, payment_methods_enabled); - }); + context( + "Create another business profile and merchant connector account if MULTIPLE_CONNECTORS flag is true", + () => { + it("Create business profile", () => { + utils.createBusinessProfile( + fixtures.businessProfile.bpCreate, + globalState, + { nextConnector: true } + ); + }); + + it("Create merchant connector account", () => { + utils.createMerchantConnectorAccount( + "payment_processor", + fixtures.createConnectorBody, + globalState, + payment_methods_enabled, + { nextConnector: true } + ); + }); + } + ); }); diff --git a/cypress-tests/cypress/e2e/PaymentTest/00024-ConnectorAgnosticNTID.cy.js b/cypress-tests/cypress/e2e/PaymentTest/00024-ConnectorAgnosticNTID.cy.js index b9b606eb880f..5d64cb2a6cf5 100644 --- a/cypress-tests/cypress/e2e/PaymentTest/00024-ConnectorAgnosticNTID.cy.js +++ b/cypress-tests/cypress/e2e/PaymentTest/00024-ConnectorAgnosticNTID.cy.js @@ -52,14 +52,6 @@ describe("Connector Agnostic Tests", () => { } }); - // it("Create Business Profile and Merchant connector account", () => { - // utils.createProfileAndConnector( - // fixtures, - // globalState, - // payment_methods_enabled - // ); - // }); - it("Create business profile", () => { utils.createBusinessProfile( fixtures.businessProfile.bpCreate, @@ -112,28 +104,13 @@ describe("Connector Agnostic Tests", () => { cy.listCustomerPMByClientSecret(globalState); }); - // it("Create Business Profile and Merchant connector account", () => { - // utils.createProfileAndConnector( - // fixtures, - // globalState, - // payment_methods_enabled, - // { - // flag: true, - // is_connector_agnostic_enabled: true, - // collect_billing_address_from_wallet_connector: false, - // collect_shipping_address_from_wallet_connector: false, - // always_collect_billing_address_from_wallet_connector: false, - // always_collect_shipping_address_from_wallet_connector: false, - // } - // ); - // }); - it("Create business profile", () => { utils.createBusinessProfile( fixtures.businessProfile.bpCreate, globalState ); }); + it("Create merchant connector account", () => { utils.createMerchantConnectorAccount( "payment_processor", @@ -214,28 +191,13 @@ describe("Connector Agnostic Tests", () => { } }); - it("Create Business Profile and Merchant connector account", () => { - utils.createProfileAndConnector( - fixtures, - globalState, - payment_methods_enabled, - { - flag: true, - is_connector_agnostic_enabled: true, - collect_billing_address_from_wallet_connector: false, - collect_shipping_address_from_wallet_connector: false, - always_collect_billing_address_from_wallet_connector: false, - always_collect_shipping_address_from_wallet_connector: false, - } - ); - }); - it("Create business profile", () => { utils.createBusinessProfile( fixtures.businessProfile.bpCreate, globalState ); }); + it("Create merchant connector account", () => { utils.createMerchantConnectorAccount( "payment_processor", @@ -291,22 +253,6 @@ describe("Connector Agnostic Tests", () => { cy.listCustomerPMByClientSecret(globalState); }); - it("Create Business Profile and Merchant connector account", () => { - utils.createProfileAndConnector( - fixtures, - globalState, - payment_methods_enabled, - { - flag: true, - is_connector_agnostic_enabled: true, - collect_billing_address_from_wallet_connector: false, - collect_shipping_address_from_wallet_connector: false, - always_collect_billing_address_from_wallet_connector: false, - always_collect_shipping_address_from_wallet_connector: false, - } - ); - }); - it("Create business profile", () => { utils.createBusinessProfile( fixtures.businessProfile.bpCreate, diff --git a/cypress-tests/cypress/e2e/PaymentUtils/Utils.js b/cypress-tests/cypress/e2e/PaymentUtils/Utils.js index 4b16b3dfbcb1..a81bda5aa690 100644 --- a/cypress-tests/cypress/e2e/PaymentUtils/Utils.js +++ b/cypress-tests/cypress/e2e/PaymentUtils/Utils.js @@ -1,4 +1,4 @@ -import { validateConfig } from "../../utils/featureFlags.js"; +import { execConfig, validateConfig } from "../../utils/featureFlags.js"; import { connectorDetails as adyenConnectorDetails } from "./Adyen.js"; import { connectorDetails as bankOfAmericaConnectorDetails } from "./BankOfAmerica.js"; @@ -193,101 +193,23 @@ export function extractIntegerAtEnd(str) { return match ? parseInt(match[0], 10) : 0; } -export function createProfileAndConnector( - fixtures, +export function createBusinessProfile( + createBusinessProfileBody, globalState, - paymentMethodsEnabled, - businessProfileUpdate = { flag: false } + multipleConnector = { nextConnector: false } ) { - const connectorConfigs = getConnectorDetails(globalState.get("connectorId"))[ - "multi_credential_config" - ] || { value: "connector_1" }; - - // Map connector names to their config - const connectorMap = { - connector_1: { index: 0, iterations: 1 }, - connector_2: { index: 1, iterations: 1 }, - }; - - const currentConnector = connectorMap[connectorConfigs.value]; - cy.task("getSharedState").then((state) => { const multipleConnectors = state.MULTIPLE_CONNECTORS; cy.log(`MULTIPLE_CONNECTORS: ${JSON.stringify(multipleConnectors)}`); - // If multiple connectors are enabled if (multipleConnectors?.status) { - // Create profiles and connectors for additional connectors - // Skip index 0 since default profile/connector already exists - - const i = currentConnector.index; - const profilePrefix = i === 0 ? "profile" : `profile${i}`; - const connectorPrefix = - i === 0 ? "merchantConnector" : `merchantConnector${i}`; - - // Create business profile with indexed prefix - cy.createBusinessProfileTest( - fixtures.businessProfile.bpCreate, - globalState, - profilePrefix - ); - - // Create connector with indexed prefix - cy.createConnectorCallTest( - "payment_processor", - fixtures.createConnectorBody, - paymentMethodsEnabled, - globalState, - profilePrefix, - connectorPrefix - ); - - // Update business profile if needed - if (businessProfileUpdate?.flag) { - cy.UpdateBusinessProfileTest( - fixtures.businessProfile.bpUpdate, - businessProfileUpdate.is_connector_agnostic_enabled, - businessProfileUpdate.collect_billing_address_from_wallet_connector, - businessProfileUpdate.collect_shipping_address_from_wallet_connector, - businessProfileUpdate.always_collect_billing_address_from_wallet_connector, - businessProfileUpdate.always_collect_shipping_address_from_wallet_connector, - globalState, - profilePrefix - ); - } - } else { - cy.log( - "Multiple connectors disabled - using default profile and connector only" - ); - } - }); -} - -// Helper function to get connector configuration -function getConnectorConfig(globalState) { - const connectorConfigs = getConnectorDetails(globalState.get("connectorId"))[ - "multi_credential_config" - ] || { value: "connector_1" }; - - const connectorMap = { - connector_1: { index: 0, iterations: 1 }, - connector_2: { index: 1, iterations: 1 }, - }; - - return connectorMap[connectorConfigs.value]; -} - -export function createBusinessProfile(createBusinessProfileBody, globalState) { - cy.task("getSharedState").then((state) => { - const multipleConnectors = state.MULTIPLE_CONNECTORS; - cy.log(`MULTIPLE_CONNECTORS: ${JSON.stringify(multipleConnectors)}`); - - if (multipleConnectors?.status) { - const currentConnector = getConnectorConfig(globalState); - const profilePrefix = - currentConnector.index === 0 - ? "profile" - : `profile${currentConnector.index}`; + // Get MCA config and determine profile prefix + const mcaConfig = getConnectorDetails(globalState.get("connectorId")); + const { profilePrefix } = execConfig({ + CONNECTOR_CREDENTIAL: multipleConnector?.nextConnector + ? multipleConnector + : mcaConfig?.multi_credential_config || multipleConnector, + }); cy.createBusinessProfileTest( createBusinessProfileBody, @@ -302,22 +224,21 @@ export function createMerchantConnectorAccount( paymentType, createMerchantConnectorAccountBody, globalState, - paymentMethodsEnabled + paymentMethodsEnabled, + multipleConnector = { nextConnector: false } ) { cy.task("getSharedState").then((state) => { const multipleConnectors = state.MULTIPLE_CONNECTORS; cy.log(`MULTIPLE_CONNECTORS: ${JSON.stringify(multipleConnectors)}`); if (multipleConnectors?.status) { - const currentConnector = getConnectorConfig(globalState); - const profilePrefix = - currentConnector.index === 0 - ? "profile" - : `profile${currentConnector.index}`; - const connectorPrefix = - currentConnector.index === 0 - ? "merchantConnector" - : `merchantConnector${currentConnector.index}`; + // Get MCA config + const mcaConfig = getConnectorDetails(globalState.get("connectorId")); + const { profilePrefix, merchantConnectorPrefix } = execConfig({ + CONNECTOR_CREDENTIAL: multipleConnector?.nextConnector + ? multipleConnector + : mcaConfig?.multi_credential_config || multipleConnector, + }); cy.createConnectorCallTest( paymentType, @@ -325,7 +246,7 @@ export function createMerchantConnectorAccount( paymentMethodsEnabled, globalState, profilePrefix, - connectorPrefix + merchantConnectorPrefix ); } }); @@ -345,11 +266,11 @@ export function updateBusinessProfile( cy.log(`MULTIPLE_CONNECTORS: ${JSON.stringify(multipleConnectors)}`); if (multipleConnectors?.status) { - const currentConnector = getConnectorConfig(globalState); - const profilePrefix = - currentConnector.index === 0 - ? "profile" - : `profile${currentConnector.index}`; + // Get MCA config and determine profile prefix + const mcaConfig = getConnectorDetails(globalState.get("connectorId")); + const { profilePrefix } = execConfig({ + CONNECTOR_CREDENTIAL: mcaConfig?.multi_credential_config, + }); cy.UpdateBusinessProfileTest( updateBusinessProfileBody, diff --git a/cypress-tests/cypress/support/commands.js b/cypress-tests/cypress/support/commands.js index e22fa2db7a70..fda182be1767 100644 --- a/cypress-tests/cypress/support/commands.js +++ b/cypress-tests/cypress/support/commands.js @@ -176,7 +176,7 @@ Cypress.Commands.add( const baseUrl = globalState.get("baseUrl"); const connectorId = globalState.get("connectorId"); const merchantId = globalState.get("merchantId"); - const profileName = `${connectorId}_${profilePrefix}_${RequestBodyUtils.generateRandomString()}`; + const profileName = `${profilePrefix}_${RequestBodyUtils.generateRandomString(connectorId)}`; const url = `${baseUrl}/account/${merchantId}/business_profile`; createBusinessProfile.profile_name = profileName; @@ -193,6 +193,7 @@ Cypress.Commands.add( failOnStatusCode: false, }).then((response) => { logRequestId(response.headers["x-request-id"]); + globalState.set(`${profilePrefix}Id`, response.body.profile_id); if (response.status === 200) { @@ -397,7 +398,7 @@ Cypress.Commands.add( connectorName, connectorLabel, profilePrefix = "profile", - mca_prefix = "merchantConnector" + mcaPrefix = "merchantConnector" ) => { const merchantId = globalState.get("merchantId"); const profile_id = globalState.get(`${profilePrefix}Id`); @@ -433,7 +434,7 @@ Cypress.Commands.add( if (response.status === 200) { expect(connectorName).to.equal(response.body.connector_name); globalState.set( - `${mca_prefix}Id`, + `${mcaPrefix}Id`, response.body.merchant_connector_id ); } else { @@ -460,7 +461,7 @@ Cypress.Commands.add( payment_methods_enabled, globalState, profilePrefix = "profile", - mca_prefix = "merchantConnector" + mcaPrefix = "merchantConnector" ) => { const api_key = globalState.get("adminApiKey"); const base_url = globalState.get("baseUrl"); @@ -512,7 +513,7 @@ Cypress.Commands.add( response.body.connector_name ); globalState.set( - `${mca_prefix}Id`, + `${mcaPrefix}Id`, response.body.merchant_connector_id ); } else { @@ -657,7 +658,7 @@ Cypress.Commands.add( const connector_id = globalState.get("connectorId"); const merchant_id = globalState.get("merchantId"); const merchant_connector_id = globalState.get("merchantConnectorId"); - const connectorLabel = `updated_${connector_id}_${RequestBodyUtils.generateRandomString()}`; + const connectorLabel = `updated_${RequestBodyUtils.generateRandomString(connector_id)}`; const url = `${base_url}/account/${merchant_id}/connectors/${merchant_connector_id}`; updateConnectorBody.connector_type = connectorType; @@ -960,8 +961,8 @@ Cypress.Commands.add( ); } - const config_info = execConfig(validateConfig(configs)); - const profile_id = globalState.get(config_info.profile_id); + const configInfo = execConfig(validateConfig(configs)); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { createPaymentBody[key] = reqData[key]; @@ -1230,10 +1231,10 @@ Cypress.Commands.add( const baseUrl = globalState.get("baseUrl"); const configInfo = execConfig(validateConfig(configs)); const merchantConnectorId = globalState.get( - configInfo.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); const paymentIntentID = globalState.get("paymentID"); - const profileId = globalState.get(configInfo.profile_id); + const profileId = globalState.get(`${configInfo.profilePrefix}Id`); const url = `${baseUrl}/payments/${paymentIntentID}/confirm`; confirmBody.client_secret = globalState.get("clientSecret"); @@ -1346,10 +1347,10 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const connectorId = globalState.get("connectorId"); const paymentIntentId = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { confirmBody[key] = reqData[key]; @@ -1450,9 +1451,9 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const paymentIntentID = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { confirmBody[key] = reqData[key]; @@ -1531,9 +1532,9 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const paymentId = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { confirmBody[key] = reqData[key]; @@ -1605,11 +1606,11 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const merchant_connector_id = globalState.get( - config_info.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); createConfirmPaymentBody.authentication_type = authentication_type; createConfirmPaymentBody.capture_method = capture_method; @@ -1722,12 +1723,12 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const merchant_connector_id = globalState.get( - config_info.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); const paymentIntentID = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); if (reqData.setup_future_usage === "on_session") { saveCardConfirmBody.card_cvc = reqData.payment_method_data.card.card_cvc; @@ -1829,9 +1830,9 @@ Cypress.Commands.add( (requestBody, data, amount_to_capture, globalState) => { const { Configs: configs = {}, Response: resData } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const payment_id = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); requestBody.amount_to_capture = amount_to_capture; requestBody.profile_id = profile_id; @@ -1864,9 +1865,9 @@ Cypress.Commands.add( Cypress.Commands.add("voidCallTest", (requestBody, data, globalState) => { const { Configs: configs = {}, Response: resData } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const payment_id = globalState.get("paymentID"); - const profile_id = globalState.get(config_info.profile_id); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); requestBody.profile_id = profile_id; @@ -1898,9 +1899,9 @@ Cypress.Commands.add( (globalState, data, autoretries = false, attempt = 1) => { const { Configs: configs = {} } = data || {}; - const config_info = execConfig(validateConfig(configs)); + const configInfo = execConfig(validateConfig(configs)); const merchant_connector_id = globalState.get( - config_info.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); const payment_id = globalState.get("paymentID"); @@ -2047,10 +2048,10 @@ Cypress.Commands.add( Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); - const profile_id = globalState.get(config_info.profile_id); + const configInfo = execConfig(validateConfig(configs)); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); const merchant_connector_id = globalState.get( - config_info.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); for (const key in reqData) { @@ -2170,15 +2171,15 @@ Cypress.Commands.add( Request: reqData, Response: resData, } = data || {}; - const config_info = execConfig(validateConfig(configs)); - const profile_id = globalState.get(config_info.profile_id); + const configInfo = execConfig(validateConfig(configs)); + const profile_id = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { requestBody[key] = reqData[key]; } const merchant_connector_id = globalState.get( - config_info.merchant_connector_id + `${configInfo.merchantConnectorPrefix}Id` ); requestBody.amount = amount; @@ -2285,7 +2286,7 @@ Cypress.Commands.add( } = data || {}; const configInfo = execConfig(validateConfig(configs)); - const profileId = globalState.get(configInfo.profile_id); + const profileId = globalState.get(`${configInfo.profilePrefix}Id`); const apiKey = globalState.get("apiKey"); const baseUrl = globalState.get("baseUrl"); @@ -2391,7 +2392,7 @@ Cypress.Commands.add( Response: resData, } = data || {}; const configInfo = execConfig(validateConfig(configs)); - const profileId = globalState.get(configInfo.profile_id); + const profileId = globalState.get(`${configInfo.profilePrefix}Id`); for (const key in reqData) { requestBody[key] = reqData[key]; diff --git a/cypress-tests/cypress/utils/RequestBodyUtils.js b/cypress-tests/cypress/utils/RequestBodyUtils.js index 69edff05ca75..9b9015cad83d 100644 --- a/cypress-tests/cypress/utils/RequestBodyUtils.js +++ b/cypress-tests/cypress/utils/RequestBodyUtils.js @@ -10,7 +10,7 @@ export const setApiKey = (requestBody, apiKey) => { requestBody["connector_account_details"]["api_key"] = apiKey; }; -export const generateRandomString = (prefix = "cypress_merchant_GHAction_") => { +export const generateRandomString = (prefix = "cyMerchant") => { const uuidPart = "xxxxxxxx"; const randomString = uuidPart.replace(/[xy]/g, function (c) { @@ -19,7 +19,7 @@ export const generateRandomString = (prefix = "cypress_merchant_GHAction_") => { return v.toString(16); }); - return prefix + randomString; + return `${prefix}_${randomString}`; }; export const setMerchantId = (merchantCreateBody, merchantId) => { diff --git a/cypress-tests/cypress/utils/featureFlags.js b/cypress-tests/cypress/utils/featureFlags.js index 646135c84646..fec8f11c937f 100644 --- a/cypress-tests/cypress/utils/featureFlags.js +++ b/cypress-tests/cypress/utils/featureFlags.js @@ -2,14 +2,6 @@ const config_fields = ["CONNECTOR_CREDENTIAL", "DELAY", "TRIGGER_SKIP"]; const DEFAULT_CONNECTOR = "connector_1"; -const DEFAULT_CREDENTIALS = { - profile_id: "profileId", - merchant_connector_id: "merchantConnectorId", -}; -const CONNECTOR_2_CREDENTIALS = { - profile_id: "profile1Id", - merchant_connector_id: "merchantConnector1Id", -}; // Helper function for type and range validation function validateType(value, type) { @@ -103,48 +95,37 @@ export function validateConfig(configObject) { return configObject; } -export function execConfig(configs) { - // Handle delay if present - if (configs?.DELAY?.STATUS) { - cy.wait(configs.DELAY.TIMEOUT); - } - if ( - typeof configs?.CONNECTOR_CREDENTIAL === "undefined" || - configs?.CONNECTOR_CREDENTIAL.value === "null" - ) { - return DEFAULT_CREDENTIALS; - } - - // Get connector configuration - const connectorType = determineConnectorConfig(configs.CONNECTOR_CREDENTIAL); - - // Return credentials based on connector type - return connectorType === "connector_2" - ? CONNECTOR_2_CREDENTIALS - : DEFAULT_CREDENTIALS; +export function getProfileAndConnectorId(connectorType) { + const credentials = { + connector_1: { + profileId: "profile", + connectorId: "merchantConnector", + }, + connector_2: { + profileId: "profile1", + connectorId: "merchantConnector1", + }, + }; + + return credentials[connectorType] || credentials.connector_1; } -function determineConnectorConfig(connectorConfig) { - // Return default if config is undefined or null +export function determineConnectorConfig(connectorConfig) { + if (connectorConfig?.nextConnector) { + return "connector_2"; + } + if (!connectorConfig || connectorConfig.value === "null") { return DEFAULT_CONNECTOR; } const { specName = null, value } = connectorConfig; - // If value is not provided, return default - if (!value) { - return DEFAULT_CONNECTOR; - } - - // If no specName or not an array, return value directly if (!specName || !Array.isArray(specName) || specName.length === 0) { return value; } - // Check if current spec matches any in specName const currentSpec = - // edge case for running in ui Cypress.spec.name.toLowerCase() === "__all" ? String( Cypress.mocha.getRunner().suite.ctx.test.invocationDetails @@ -164,3 +145,17 @@ function determineConnectorConfig(connectorConfig) { return DEFAULT_CONNECTOR; } } + +export function execConfig(configs) { + if (configs?.DELAY?.STATUS) { + cy.wait(configs.DELAY.TIMEOUT); + } + + const connectorType = determineConnectorConfig(configs?.CONNECTOR_CREDENTIAL); + const { profileId, connectorId } = getProfileAndConnectorId(connectorType); + + return { + profilePrefix: profileId, + merchantConnectorPrefix: connectorId, + }; +}