Skip to main content
Version: v2

Overview

This document explains about the ER diagram for Split tender sessions. It encapsulates all relevant data including customer, merchant, payment, configuration, and session lifecycle metadata.

ER Diagram For Split Tender Sessions

The following table contains fields with their respective description.

The CheckoutSession table represents the core entity for managing and tracking a user's payment session. It serves as a comprehensive snapshot of everything involved in a checkout flow from the initial request to the final payment outcome

FieldDescription
idPrimary key for the session. Auto-generated if null.
checkout_requestFull request payload for the checkout, including customer and merchant details. Stored as JSON.
merchant_idInternal identifier for the merchant initiating the session.
statusRepresenting the current status of the session.
customer_idIdentifier for the customer involved in the session.
vendor_merchant_idExternal merchant ID used by vendors or third-party systems.
payment_idID of the associated payment transaction.
payment_method_idID of the selected payment method.
child_session_idID of a child session, if this session spawned another.
child_sessionFull details of the child session, stored as JSON.
request_configConfiguration settings for the session.
appearanceUI appearance settings for the checkout session.
sourceSource identifier. Used internally.
created_atTimestamp when the session was created. Stored with timezone.
expires_atTimestamp when the session expires.Stored with timezone.
errorError details if the session failed.Stored as JSON.
payment_methodFull details of the selected payment method.
paymentFull payment transaction details.
warningAny warnings related to the payment method.Stored as json
featuresFeature flags enabled for this session.
telephonic_entry_detailsDetails if the session involves telephonic entry.
transaction_idThis is the column representing the overarching split-tender transaction.
transaction_detailsThis field contains the entire Payment Service payload, including nested payment splits.

checkoutRequest subfields and description

Field NameDescription
authorizeCardIndicates whether the card should be authorized immediately.
partialAuthorizationAllows partial authorization if full amount isn't available.
merchantTransactionIdUnique ID for the transaction from the merchant’s system.
amountTotal amount to be charged or authorized.
statementDescriptorSuffixSuffix for the statement descriptor shown on the customer’s bank statement.
paymentDescriptionDescription of the payment, used in receipts or logs.
phoneNumberCustomer’s phone number for contact or verification.
emailCustomer’s email address for communication or receipts.
firstNameCustomer’s first name, used for personalization.
configConfiguration settings for the checkout session.
agentThe agent initiating or handling the checkout.
assistedByAgentAn agent assisting another agent in the transaction.
metadataCustom key-value pairs for additional transaction context.
paymentDetailsDetailed information about the payment.
paymentMethodSpecifies the payment method used .
consentCaptures user consent for the transaction, often required for compliance.

childSession subfields and description

Field NameDescription
idUnique identifier for the child session.
statusCurrent status of the session.
modeIndicates the operational mode of the session.
errorError message or code if the session encountered a failure.
createdAtTimestamp when the session was created.
expiresAtTimestamp when the session is set to expire.
notificationNotification details related to the session.Stored as json
warningWarnings related to the payment method used in the session.

requestConfig subfields and description

Field NameDescription
modesSpecifies the operational modes for the session.
paymentMethodChannelContains available payment method channels like card or bank account.
privacyPolicyUrlURL pointing to the merchant's privacy policy.
senderEmailAddressEmail address used to send communications; validated for proper format.
optionsAdditional configuration options for the session.
merchantMerchant-specific information .Stored as json

apperance subfields and decription

Field NameDescription
fontDefines the font style and properties used in the UI.Stored as json
paletteSpecifies the color scheme for the interface.Stored as json
visibilityControls visibility settings for UI elements.
merchantLogoURL or path to the merchant’s logo image for branding purposes.
borderDefines border styling such as width, color, and radius for UI components.
heightSpecifies height-related layout settings.

Error subfields and description

Field NameDescription
errorGroupCategorizes the error into a logical group.
errorCodeA unique code representing the specific error type, useful for tracking/debugging.
messageA human-readable explanation of the error, intended for display or logging.
httpStatusThe HTTP status code associated with the error.
errorDetailsAdditional structured information about the error, such as field-level issues or context.

paymentMethod subfields and decription

Field NameDescription
idUnique identifier for the payment method.
paymentMethodTypeType of payment method.
vendorPaymentMethodIdIdentifier assigned by the vendor for this payment method.
customerIdID of the customer who owns this payment method.
vendorVendor details associated with the payment method.
statusCurrent status of the payment method.
isDefaultIndicates if this is the default payment method for the customer.
zipCodeZIP code associated with the payment method, often for billing verification.
errorError details if the payment method is invalid or failed.
nicknameUser-defined nickname for easy identification of the payment method.
lastModifiedBySourceSource system or actor that last modified the payment method.
lastModifiedByMerchantIdMerchant ID that last modified the payment method.
lastModifiedByAgentAgent who last modified the payment method.
paymentMethodDetailsDetailed attributes of the payment method.
warningWarning messages related to the payment method. Stored as json
deletedPaymentMethodIdID of a previously deleted payment method, if applicable.
eventContextContextual metadata for events involving this payment method.
metadataCustom key-value pairs for additional information.
authRequiredIndicates if authentication is required for using this payment method.
partialAuthorizationAllows partial authorization if full amount isn't available.
sourceProviderIdentifies the source system or provider of the payment method.
savePaymentMethodIndicates if the payment method should be saved for future use.
attachRequiredSpecifies if the payment method must be attached to a session or entity.
validateIndicates whether the payment method should be validated before use.
sessionIdID of the session associated with this payment method.
initialVendorPaymentMethodIdOriginal vendor-assigned ID before any updates or changes.

payment subfields and description

Field NameDescription
idUnique identifier for the payment.
amountTotal amount intended for the transaction.
capturedAmountAmount that has been successfully captured.
authorizedAmountAmount that has been authorized but not yet captured.
descriptionDescription of the payment, often used for display or logging.
merchantTransactionIdMerchant-provided transaction identifier.
merchantIdIdentifier for the merchant initiating the payment.
paymentTypeType of payment.
currencyCodeISO currency code.
statusCurrent status of the payment.
paymentMethodIdID of the payment method used.
metadataCustom key-value pairs for additional context or tracking.
errorError details if the payment fails or encounters issues.
statementDescriptorSuffixSuffix added to the statement descriptor shown on the customer’s bank record.
paymentDetailsDetailed information about the payment.
paymentMethodFull details of the payment method used.
consentCaptures user consent for the transaction.
partialAuthorizationIndicates if partial authorization is allowed.

warning subfields and description

Field NameDescription
codeA short identifier representing the type of warning.
titleA brief, user-friendly title for the warning message.
descriptionA detailed explanation of the warning, providing context or recommended action.

Telephonic EntryDetails subfields and description

Field NameDescription
requestIdUnique identifier for the telephonic entry request.
urlURL associated with the telephonic entry, possibly for accessing a resource.
statusCurrent status of the telephonic entry.
errorError details if the telephonic entry encounters a failure or issue.

TransactionDetails Subfields and description

Field NameDescription
idUnique identifier for the transaction.
amountTotal amount of the payment.
authorizedAmountMaximum amount approved for capture.
capturedAmountTotal amount that has been settled or successfully captured.
descriptionDescription of the payment transaction used for initiating the payment.
merchantTransactionIdUnique identifier used to initiate the transaction.
merchantIdUnique identifier for the merchant associated with this payment.
vendorMerchantIdIdentifier assigned by the payment vendor for this merchant. Used to uniquely identify the merchant in the vendor's system.
paymentTypeType of payment used.
authorizeCardIndicates whether the card was authorized for the specified amount. If true, the card must be captured using the Capture API within 7 days.
partialAuthorizationWhen true, indicates the payment could have been partially authorized based on the card issuer and the maximum amount available for capture can be referred from authorizedAmount field.
currencyCodeISO currency code for the payment, e.g. USD
statusIndicates the current status of the payment.
vendorName or ID of the vendor facilitating the transaction.
customerIdUnique identifier for the customer associated with the payment.
paymentDetailsContains HelathCare info that is iias and vision amount.
agentInformation about the agent when a request is submitted on behalf of a customer.
statementDescriptorSuffixThis value is directly propagated from request.Typically used to customize how a transaction
checkoutIdUnique identifier for the checkout session associated with this payment. This ID will be populated only if the payment made using CCG Widget.
metadataProvides additional, merchant-defined or system-generated information to enhance payment traceability, reporting, and integration with external systems.
consentInformation about customer consent.
paymentAllocationsThe paymentAllocations field is an array of split tender payment records, each representing a distinct portion of a transaction that has been allocated to a specific payment method. This structure supports scenarios where a single order is paid using multiple payment sources

PaymentAllocations fields and description

Field NameDescription
idUnique identifier for the payment allocation record.
amountTotal amount allocated for this split.
authorizedAmountAmount that has been authorized for payment.
capturedAmountAmount that has been successfully captured from the payment method.
paymentMethodIdIdentifier linking to the specific payment method used.
statusCurrent status of the payment allocation.
vendorPaymentIdExternal payment reference or transaction ID from the payment vendor.
paymentMethodDetails of the payment method used.
paymentCancellationReasonReason for cancellation, if the payment was voided or rolled back.
paymentCancellationMessageAdditional message or context related to the cancellation.
errorError details if the payment attempt failed.
metadataCustom key-value pairs for storing additional contextual information.