# Process a Payment (/how-to/payments/process-a-payment)



Resytech supports two categories of payments: **card payments** processed through Stripe, and **manual payments** recorded by staff for offline transactions. Both types update the booking balance and appear in the payment history.

Prerequisites [#prerequisites]

* An existing booking in any status (draft, pending, or confirmed).
* For card payments: a connected Stripe account (see [Set Up Stripe](/how-to/payments/set-up-stripe)).
* Appropriate user permissions to add payments.

Card Payments [#card-payments]

Card payments are processed through Stripe and create a real charge on the customer's card.

Charge a New Card [#charge-a-new-card]

1. Open the booking from **Dashboard > Bookings** or the calendar.
2. Click **Add Payment**.
3. Select **Card** as the payment type.
4. Enter the **amount** to charge.
5. The Stripe payment form appears. The customer (or staff member) enters card details.
6. Click **Pay**.

Behind the scenes, Resytech:

* Creates a Stripe PaymentIntent for the amount.
* Sends the confirmation token to Stripe for processing.
* If the card requires 3D Secure authentication, the customer is prompted to complete it.
* On success, records the payment and updates the booking balance.

Use a Saved Card [#use-a-saved-card]

If the customer has previously paid with a card, their payment method is saved in Stripe.

1. Open the booking and click **Add Payment**.
2. Select **Card** as the payment type.
3. If saved cards are available, they appear as options showing the card brand and last 4 digits (e.g., "Visa ending in 4242").
4. Select the saved card.
5. Enter the amount and click **Pay**.

Saved cards are charged off-session, meaning the customer does not need to be present or re-enter their details.

Payment Statuses [#payment-statuses]

After creating a card payment, the system may return different statuses:

| Status                    | Meaning                                       | What Happens                                                |
| ------------------------- | --------------------------------------------- | ----------------------------------------------------------- |
| `succeeded`               | Payment completed                             | Balance updated, payment recorded                           |
| `requires_action`         | 3D Secure or additional authentication needed | Customer must complete authentication in the browser        |
| `requires_capture`        | Payment authorized but not yet captured       | Used for authorize-only flows; must be captured separately  |
| `processing`              | Payment is being processed by the bank        | Typically resolves within seconds; webhook confirms success |
| `requires_payment_method` | Card was declined or invalid                  | Customer must try a different card                          |

Capture an Authorized Payment [#capture-an-authorized-payment]

If you use authorize-only mode (`AutoCapture` set to false), the payment is held but not charged. To capture:

1. Open the booking.
2. Find the authorized payment in the payment history.
3. Click **Capture**.
4. Optionally adjust the capture amount (you can capture less than the authorized amount but not more).

Authorized payments must be captured within 7 days (Stripe's limit) or they expire automatically.

Manual Payments [#manual-payments]

Manual payments are records of offline transactions. No money moves through Stripe -- you are simply logging that payment was received.

Record a Manual Payment [#record-a-manual-payment]

1. Open the booking and click **Add Payment**.
2. Select the payment type from the dropdown.
3. Fill in the required fields and click **Save**.

Payment Types [#payment-types]

| Type              | Code            | Description                                         |
| ----------------- | --------------- | --------------------------------------------------- |
| **Cash**          | `cash`          | Cash received at the counter or on location         |
| **Check**         | `check`         | Personal or business check                          |
| **Electronic**    | `electronic`    | Digital payment apps (see electronic methods below) |
| **ACH**           | `ach`           | ACH bank transfer                                   |
| **Bank Transfer** | `bank-transfer` | Direct bank-to-bank transfer                        |
| **Wire Transfer** | `wire-transfer` | Wire transfer                                       |
| **Other**         | `other`         | Any payment method not listed above                 |

Electronic Payment Methods [#electronic-payment-methods]

When you select **Electronic** as the payment type, you can specify the method:

| Method      | Description                     |
| ----------- | ------------------------------- |
| **Zelle**   | Zelle person-to-person transfer |
| **CashApp** | Cash App payment                |
| **Venmo**   | Venmo payment                   |
| **Wire**    | Electronic wire                 |

Manual Payment Fields [#manual-payment-fields]

| Field                | Required | Description                                                                                                                                             |
| -------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Payment Type**     | Yes      | The type of payment (cash, check, electronic, etc.)                                                                                                     |
| **Payment Method**   | No       | Additional detail about the method (e.g., "Zelle" for electronic payments)                                                                              |
| **Amount**           | Yes      | The dollar amount received. Must be greater than $0.00.                                                                                                 |
| **Reference ID**     | No       | An external reference such as a check number or transaction ID. If left blank, the system generates one automatically (e.g., `CASH-20260402-A1B2C3D4`). |
| **Apply to Balance** | Yes      | Whether this payment should reduce the booking balance. Usually set to **Yes**.                                                                         |

Auto-Generated Reference IDs [#auto-generated-reference-ids]

If you do not provide a reference ID, the system generates one using the payment type prefix:

| Payment Type  | Prefix | Example                  |
| ------------- | ------ | ------------------------ |
| Cash          | `CASH` | `CASH-20260402-A1B2C3D4` |
| Check         | `CHK`  | `CHK-20260402-E5F6G7H8`  |
| Electronic    | `ELEC` | `ELEC-20260402-I9J0K1L2` |
| ACH           | `ACH`  | `ACH-20260402-M3N4O5P6`  |
| Bank Transfer | `BANK` | `BANK-20260402-Q7R8S9T0` |
| Wire Transfer | `WIRE` | `WIRE-20260402-U1V2W3X4` |
| Other         | `OTH`  | `OTH-20260402-Y5Z6A7B8`  |

How Payments Affect the Balance [#how-payments-affect-the-balance]

When **Apply to Balance** is enabled (the default), the payment amount is subtracted from the booking's outstanding balance. For example:

* Booking total: $500.00
* Current balance: $500.00
* Payment of $200.00 with Apply to Balance = Yes
* New balance: $300.00

If you record a payment with Apply to Balance disabled, the payment appears in the history but does not change the balance. This is useful for recording deposits or payments that were already reflected in a manual balance adjustment.

Audit Trail [#audit-trail]

Every payment -- card or manual -- creates an event in the booking's audit log. The event records:

* Amount
* Payment type and method
* Reference ID (Stripe PaymentIntent ID for cards, generated or provided ID for manual)
* The user who processed the payment
* Timestamp

Tips [#tips]

* **Always verify the amount before processing a card payment.** Card payments cannot be edited after they are charged. You would need to issue a refund and re-process if the amount is wrong.
* **Use the Reference ID field for checks** so you can cross-reference with your bank statements later.
* **Electronic payments** are manual records. Resytech does not integrate directly with Zelle, Venmo, or Cash App. You must confirm receipt of funds before recording the payment.

What to Do Next [#what-to-do-next]

* [Issue a Refund](/how-to/payments/issue-a-refund) -- reverse a payment if needed.
* [Create an Invoice](/how-to/payments/create-an-invoice) -- send the customer a link to pay online.
* [Adjust Booking Pricing](/how-to/payments/adjust-pricing) -- set a custom grand total using Pricing Override.
