Core Concepts
Money Concepts
Forge handles the full payment lifecycle for paid events: ticket pricing, discount codes, fees, payment capture, and refunds. 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 / PayPal / Spreedly / TouchNet) |
| 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 supports multiple payment gateways: Stripe, Authorize.Net, PayPal, Spreedly, and TouchNet. 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) are managed by Blackthorn's own recurring engine using bt_stripe__Payment_Schedule__c records and the HighVolumeTransactionBatchScheduler. Forge never uses Stripe Subscriptions or Stripe Billing — recurrence runs on Salesforce infrastructure.
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 status to Refunded. Partial refunds are supported.