Overview
The Charge Card on File action charges a customer's saved payment method for a booking. Use this to automatically process payments for bookings when the customer has a payment method on file.
Configuration
Customer ID (Required)
The ID of the customer whose card to charge. The customer must have a payment method on file (pm_id). Supports variables.
Booking ID (Required)
The ID of the booking to charge. Supports variables.
Amount (Required)
The amount to charge. Must be a positive number. Supports variables.
Note: Amount is specified in the tenant's currency units (e.g., 100.00 for $100.00).
Output
Returns a transaction object in the workflow context with payment details:
Transaction ID
Booking ID
Customer ID
Amount charged
Payment method
Charge ID (from payment provider)
Currency
Payment provider information
Accessing Transaction Data
After this action, you can access:
{transaction.id}
{transaction.amount}
{transaction.charge_id}
{transaction.payment_method}
{transaction.currency}Prerequisites
Customer must have payment method on file - Customer must have a
pm_idsetActive payment provider - Tenant must have an active Stripe payment provider configured
Valid booking - Booking must exist and belong to the workflow's business unit
Examples
1. Charge Full Booking Amount
Customer ID: {booking.customer_id}
Booking ID: {booking.id}
Amount: {booking.gross_price}2. Charge Partial Amount
Customer ID: {customer.id}
Booking ID: {booking.id}
Amount: 250.003. Charge from Webhook
Customer ID: {webhook_payload.customer_id}
Booking ID: {webhook_payload.booking_id}
Amount: {webhook_payload.amount}Payment Processing
Uses Stripe Payment Intents API
Charges are processed off-session (no customer interaction required)
Automatically creates a booking transaction record
Updates your revenue statistics
Handles currency conversion if needed
Error Handling
The action will fail if:
Customer doesn't have a payment method on file
No active payment provider (stripe only) is found
Customer or booking is not found
Card charge fails (declined, insufficient funds, etc.)
Best Practices
Verify payment method exists - Check customer has
pm_idbefore chargingValidate amount - Ensure amount is positive and reasonable
Handle card errors - Set up error notifications for failed charges
Log transactions - Transaction is automatically logged in booking transactions
Test with small amounts - Test payment processing before production use
