Commerce Financial Platforms (CFP) - Detailed Transaction Processing

This diagram provides a detailed view of the transaction processing flow in Microsoft's Commerce Financial Platforms (CFP), focusing on how customer payment data is handled.

flowchart TD %% Define styles classDef external fill:#f9f,stroke:#333,stroke-width:2px classDef process fill:#bbf,stroke:#333,stroke-width:1px classDef datastore fill:#dfd,stroke:#333,stroke-width:1px,shape:cylinder classDef sensitiveData fill:#fcb,stroke:#f66,stroke-width:2px classDef encrypted fill:#cfc,stroke:#393,stroke-width:1px %% External entities Customer(["Customer"]):::external PaymentProcessor(["Payment Processor"]):::external Bank(["Bank"]):::external %% Internal processes WebPortal["Web Purchase Portal"]:::process CommerceAPI["Commerce API"]:::process BillingService["Billing Service"]:::process TokenizationService["Payment Tokenization Service"]:::sensitiveData InvoiceGenerator["Invoice Generator"]:::process ProvisioningService["Service Provisioning System"]:::process %% Data stores CustomerDB[("Customer Info Database - Names, Contact details, Account IDs")]:::datastore BillingDB[("Billing Database - Transaction records, Payment tokens, Billing addresses")]:::datastore PaymentTokenStore[("Payment Token Store - Tokenized payment methods, No full card numbers")]:::datastore subgraph MicrosoftBoundary["Microsoft Internal Systems"] WebPortal CommerceAPI BillingService TokenizationService InvoiceGenerator ProvisioningService CustomerDB BillingDB PaymentTokenStore subgraph SecurePaymentZone["Secure Payment Processing Zone"] TokenizationService PaymentTokenStore end end %% Data flows - Collection Phase Customer -->|"Profile data (name, email, address) via TLS/SSL"| WebPortal Customer -->|"Payment details (CC#, exp date, CVV) via TLS/SSL"| WebPortal:::sensitiveData WebPortal -->|"Profile data"| CommerceAPI CommerceAPI -->|"Store customer data"| CustomerDB WebPortal -->|"Payment details (sensitive, temporary)"| TokenizationService:::sensitiveData %% Data flows - Processing Phase TokenizationService -->|"Tokenized payment (token only, no CVV)"| PaymentTokenStore TokenizationService -->|"Payment authorization request (with card details) encrypted"| PaymentProcessor PaymentProcessor -->|"Authorization response"| TokenizationService TokenizationService -->|"Payment token + authorization status"| BillingService BillingService -->|"Create billing record with customer ID & token"| BillingDB BillingService -->|"Request payment using token"| Bank Bank -->|"Payment confirmation"| BillingService %% Data flows - Post-Processing Phase BillingService -->|"Transaction details"| InvoiceGenerator InvoiceGenerator -->|"Invoice ID link"| BillingDB BillingService -->|"Activate subscription (customer ID)"| ProvisioningService ProvisioningService -->|"Subscription active confirmation"| Customer InvoiceGenerator -->|"Invoice (name, address, purchase details)"| Customer %% Indicators for PII handling WebPortal -.->|"PII collected here is encrypted in transit"| WebPortal TokenizationService -.->|"Card data tokenized immediately, CVV never stored"| TokenizationService PaymentTokenStore -.->|"Tokens stored with enhanced security controls"| PaymentTokenStore BillingDB -.->|"Contains customer ID but no raw payment data"| BillingDB

Detailed Transaction Sequence

The following sequence diagram shows the detailed step-by-step process of a customer transaction, highlighting the security measures in place for handling sensitive payment information.

Sequence Diagram

Legend

This detailed transaction flow diagram illustrates:

1. Sensitive Data Handling: Red-highlighted components handle sensitive payment information

2. Tokenization: Credit card details are immediately tokenized and the originals discarded

3. Secure Processing Zones: Additional security boundary around payment processing

4. Data Minimization: Each system only accesses the personal data it needs

5. Encryption: All external transfers are encrypted using TLS/SSL

Key Data Protection Elements:

Transaction Security Details

The transaction processing system incorporates multiple layers of protection:

1. Immediate Tokenization: Card details are tokenized as soon as possible after collection

2. Secure Processing Environment: Payment data is processed in a dedicated secure zone

3. Minimal Data Sharing: External parties only receive the data necessary for their function

4. PCI-DSS Compliance: Payment processing adheres to industry security standards

5. Access Controls: Only authorized personnel can access transaction data

6. Audit Logging: All access to payment systems is logged for security monitoring