--- title: "Checkout Flow" slug: "event-checkout-flow" updated: 2026-03-30T14:27:11Z published: 2026-03-30T14:27:11Z canonical: "docs.blackthorn.io/event-checkout-flow" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt > Use this file to discover all available pages before exploring further. # Checkout Flow When an Attendee completes the checkout process for an Event, many records are created and updated automatically. ## Matching and Duplication - Blackthorn Events will attempt to match an existing Contact, Lead, or Account by active duplicate rules. By default, we use the out of the box Salesforce Matching and Duplication rules, but we support custom rules as well. - If there is a match, the following steps will relate to the existing Contact. If there isn't a match, a Contact record will be created. **Where does the information go?** All of the following records go to the log in the Contact record. For more information about Matching and Duplication, click [here](https://docs.blackthorn.io/docs/matching-in-salesforce). ## Order of Execution in Salesforce 1. An Attendee record is created in Salesforce. The Attendee record related to the Contact, Lead, or Account and the Event. The **Registration Status** is set to "Registered". 2. Form Elements are processed next. This includes any Custom Questions added to the Event. 3. Invoice & Line Items are created. - **Invoice:** An Invoice is created, and the Contact, Lead, or Account related fields, **Status** field, **Subject Line** field, and additional fields are populated. - **Line Item(s):** One Line Item is created for each Event Item in the checkout. Each Event Item purchased will create one Line Item, referencing the **Event Item** purchased, **Quantity**, **Unit Price**, and **Event**. 4. The **Contact (Bill To)** is linked to the Invoice. 5. The Contact is set on the Payment Method and Transaction. - **Payment Method (Paid Events):** - The Payment Method's sensitive information is sent immediately to Stripe and a token is received (PCI compliant fashion, Blackthorn does not store sensitive Payment Method information, such as card numbers and banking account/routing information). - The token along with the rest of the payload (card holder name, address, etc.) is inserted to Salesforce to create the Payment Method. Stripe's response with a valid 'Card ID' or similar **Payment Method ID** (for other Payment Method) is updated on the Payment Method record. The Payment Method **Contact** is populated. - **Transaction:** A Transaction is created with the related Payment Method, populating applicable fields (**Currency ISO**, **Amount**, **Contact**, and additional fields as configured), can be Captured immediately. The response is returned to the Attendee if the Transaction fails. If it's successful, the checkout process continues. - **Transaction Update:** The Transaction is updated to reference the Invoice, setting the **Payment Status** to "Paid". 6. Event Item records are created. - **Line Item:** The Line Item record is updated to reference the Attendee record.