Overview
Firetip Payments is the payment communication layer inside Firetip. Stripe is responsible for processing the actual payment while Firetip controls the request, communication, tracking and automation lifecycle.
A payment request can be dispatched through one or multiple communication channels.
| Layer | Responsibility |
|---|---|
| Stripe | Secure Checkout and payment processing. |
| Firetip | Payment request, dispatch, tracking and automation. |
| Payment request delivery through Firetip Email. | |
| SMS | Payment reminders and recovery messages. |
| Conversational payment delivery and recovery. |
Payment Architecture
The intended Firetip payment flow is:
Stripe Integration
Firetip uses Stripe Checkout as the payment destination. Firetip should not collect or store raw card details.
Connection
A connected Stripe account is represented by the Firetip Stripe connection layer.
Email Dispatch
Firetip Email can deliver the payment request directly to the customer's email address.
Typical message
SMS Dispatch
SMS is intended primarily for short payment notifications and reminders.
WhatsApp Payment Dispatch
WhatsApp provides a conversational payment channel. The customer receives the payment request within their WhatsApp conversation rather than having to return to an email.
Example payment message
Recommended WhatsApp variables
| Variable | Description |
|---|---|
{{customer_name}}
|
Customer or company name. |
{{amount}}
|
Payment amount. |
{{currency}}
|
Payment currency. |
{{reference}}
|
Firetip payment reference. |
{{checkout_url}}
|
Secure Stripe Checkout destination. |
Payment Events
Payment state should be represented as events so downstream Firetip automation can react without tightly coupling the communication channel to the payment processor.
| Event | Meaning | Typical Action |
|---|---|---|
payment.created
|
Payment request created. | Dispatch payment communication. |
payment.pending
|
Customer has not completed payment. | Schedule reminder. |
payment.completed
|
Stripe confirms successful payment. | Send confirmation. |
payment.failed
|
Payment attempt failed. | Start recovery workflow. |
payment.expired
|
Payment request is no longer active. | Notify or create replacement. |
payment.cancelled
|
Request cancelled. | Stop pending communication. |
Payment Automation
Payment events can become automation triggers inside Firetip.
Example recovery workflow
Payment Creation Payload
The dashboard sends the payment request to the Firetip payment creation endpoint.
Endpoint
Expected response
Security Model
Firetip should treat the payment system as an orchestration and communication layer rather than a card-storage system.
- Stripe handles payment processing.
- Firetip stores payment request metadata rather than raw card details.
- Checkout destinations should be generated by the authenticated payment backend.
- Payment events should be validated before changing a request to paid.
- Customer communication should use authenticated Firetip dispatch infrastructure.
- WhatsApp numbers should be validated and associated with the intended customer before dispatch.