Core Concepts
Money Concepts
Forge handles ticket pricing, discount codes, fees, and payment capture for paid events. Charging from Forge works with Stripe, Authorize.net, and Spreedly gateways. All financial records live in Salesforce; Forge never stores card numbers or payment instrument data.
Ticket pricing
Each ticket (conference360__Event_Item__c) has a Price field. If the Free checkbox is checked, no payment is collected regardless of the price value. Multiple ticket tiers can coexist in one event — for example: Free GA, $25 Early Bird, $50 Standard, $249 VIP, $399 Premium, $799 Speaker, $1499 Sponsor.
Fees
A Fee is an additional charge applied at checkout — typically used to pass payment processing costs to registrants (e.g., a 3% + $0.30 credit card fee) or to add a service charge. Fees are configured as bt_stripe__Fee__c records and can be set at the org level (Admin > Fees) or overridden per event.
| Forge | SF Object | SF Field |
|---|---|---|
| Fee record | bt_stripe__Fee__c | Type (flat / percentage), Amount / Rate |
| Payment gateway | bt_stripe__Payment_Gateway__c | Provider (Stripe / Authorize.net / Spreedly today; TouchNet / CashNet coming soon) |
| Invoice / Order | bt_stripe__Sales_Document__c | Status, Total, Gateway |
| Transaction | bt_stripe__Transaction__c | Amount, Status (Completed / Refunded), Gateway |
Discount codes and promo codes
Discount codes reduce the ticket price during checkout. You can create them in the Tickets & Items tab > Discount Codes.
- Flat discount — reduces the price by a fixed amount (e.g., $25 off).
- Percentage discount — reduces the price by a percentage (e.g., 20% off).
- Max uses — limit the number of times a code can be redeemed.
- Eligibility — restrict codes to specific ticket types.
| Forge | SF Object | SF Field |
|---|---|---|
| Discount code | bt_stripe__Code__c | Name, bt_stripe__Discount_Type__c, bt_stripe__Discount_Amount__c, bt_stripe__Max_Uses__c |
Payment gateways
Forge can connect and charge through Stripe, Authorize.net, and other providers via Spreedly (for example PayPal's PayFlow Pro) today. TouchNet and CashNet are supported by the Blackthorn Payments package in Salesforce, but they are shown in Admin > Payment Gateways as coming soon: they cannot be connected or charged from Forge yet, so refunds and other money movement for those gateways stay in Salesforce. Gateways are configured in Admin > Payment Gateways and stored as bt_stripe__Payment_Gateway__c records. You can have multiple gateways configured and assign a specific gateway per event.
Card data never touches Forge or Salesforce
Payment card numbers, CVVs, and bank account details are handled exclusively by the payment gateway (e.g., Stripe's iframe / Stripe.js). Forge and Salesforce never see, transmit, or store raw card data. Transaction records in Salesforce contain only the charge amount, status, and a gateway reference ID.
Recurrence billing
Recurring payments (for donations or membership-style tickets) run on Blackthorn's own recurring engine — bt_stripe__Payment_Schedule__c records processed by scheduled Apex in Salesforce — rather than the gateway's native subscription billing. Forge never uses Stripe Subscriptions or Stripe Billing. Payment schedules are configured on the Salesforce side today; Forge does not yet have an admin toggle that sets them up for you.
Refunds
To refund an attendee, open their record in the Attendees tab, expand the Transactions section, and click "Refund" on the relevant transaction. Forge sends the refund request to the payment gateway and updates the bt_stripe__Transaction__c payment status to Refunded or Partially Refunded. Refunding is straightforward for Stripe, Authorize.net, and Spreedly; it does not automatically create an invoice line item, remove the attendee, or reverse other Salesforce automations tied to the transaction — check your org's invoice and attendee-status handling if you need those to follow a refund.