Skip to main content
Version: v2

Enterprise Settings

Enterprise Settings must be configured for any merchant who wants to use the enterprise wallet feature. These settings define how customers are identified and matched between merchant and enterprise systems, enabling seamless onboarding and wallet upgrades.

Merchants configure multiple search criteria (such as SubscriptionId, DependentCode, ExchangeID, etc.) that CCG uses to locate or create enterprise customer records and wallets. This configuration supports advanced workflows like upgrading a local wallet to an enterprise wallet by searching for existing records using prioritized criteria.

The process ensures each customer has a single enterprise wallet, consolidates payment methods, and prevents duplicates. Enterprise Settings are essential for seamless onboarding, accurate customer identification, and smooth wallet upgrades in integrated environments.

For more details on how enterprise customer identities are managed and retrieved, see the EIMP documentation.

Overview

The customerSearchCriteria array defines the rules and precedence for matching customer records. Each criterion specifies how a particular field from the merchant's data maps to the enterprise's data, along with its importance and requirements.

Key Fields

  • value: The expected value for the search.
  • merchantSearchKey: JSONPath or key where merchant passes identifier to CCG.
  • enterpriseSearchKey: The corresponding key in the enterprise system.
  • enterpriseValueKey: The key in the enterprise value object (if applicable).
  • merchantMetadataKey: The key in the merchant's metadata (if applicable).
  • enterpriseResponseSearchPath: Path to extract the value from the enterprise response (optional). Refer Enterprise Wallet Upgrade and Local to Enterprise Wallet merge for more details.
  • precedence: Determines the order in which criteria are evaluated (lower numbers are higher priority).
  • required: Whether this criterion must be satisfied for a match.

Example Configuration

{
"customerSearchCriteria": [
{
"value": { "patientId": "xxxxxx" },
"merchantSearchKey": "$.metadata.patientId",
"enterpriseSearchKey": "identifiers.rx_patientId",
"enterpriseValueKey": "patientId",
"merchantMetadataKey": "patientId",
"precedence": 1,
"required": true
},
{
"value": null,
"merchantSearchKey": "$.firstName",
"enterpriseSearchKey": "givenName",
"enterpriseValueKey": null,
"merchantMetadataKey": null,
"enterpriseResponseSearchPath": null,
"precedence": 2,
"required": false
},
{
"value": null,
"merchantSearchKey": "$.lastName",
"enterpriseSearchKey": "familyName",
"enterpriseValueKey": null,
"merchantMetadataKey": null,
"enterpriseResponseSearchPath": null,
"precedence": 3,
"required": false
}
],
"precedence": 1
}

Configuration Parameter Reference

The following table provides a comprehensive reference for all parameters in the enterpriseSettings configuration:

ParameterLocationRequiredDescriptionExample Value
customerSearchCriteriaRootYesArray of criteria sets for identifying customers[{...}, {...}]
precedenceRootYesOrder in which to try criteria sets (lowest first)1
valueWithin criteriaNoTemplate object for complex matches{"type": "SubscriberId", "sourceCode": "EEMS"}
merchantSearchKeyWithin criteriaYesJSONPath to extract value from customer request$.metadata.subscriberId
enterpriseSearchKeyWithin criteriaYesPath to find match field in enterprise dataidentifiers.payer_memberId
enterpriseValueKeyWithin criteriaNoField within found object to extract for comparisonsubscriberId
merchantMetadataKeyWithin criteriaNoKey to store in metadata for referencesubscriberId
enterpriseResponseSearchPathWithin criteriaNoJSONPath for special response extraction$.[*].identifiers.payer_memberId[*]['subscriberId']
requiredWithin criteriaYesWhether match must succeed for identificationtrue or false

Best Practices

  • Set required: true for fields that are essential for identification (e.g., unique IDs).
  • Use precedence to control the order of evaluation; lower numbers are evaluated first.