Back to Resources
    Guide

    How to Accept Credit Card Payments as a Contractor

    Short answer: set up a payment processor that supports payment links or invoices, complete its business verification, agree on scope and price in writing, then send the homeowner a secure checkout link hosted by the provider. Decide whether to charge now, take a deposit, or place a temporary card authorization before work — and confirm the real payment status before you start.

    Step by step

    1. 1

      Choose a payment processor that fits contractor work

      Pick a processor that lets you send a payment link or invoice to a homeowner and supports the way you want to collect: an immediate charge, a deposit, or a temporary card authorization. Check which card types and payment methods it supports, how payouts reach your bank, and whether it can separate authorization from capture if you need that.

    2. 2

      Complete the processor's business verification

      Your processor will ask you to verify your business and payout details. Expect to provide business details, identity information, and bank account information. Finish this before you send your first payment request so payouts aren't delayed.

    3. 3

      Agree on written scope, amount, and how change orders work

      Put the job scope, the total amount, and what happens if the scope changes in writing before you ask for payment. A payment step does not settle disagreements about what was included — a clear written agreement is what you and the customer refer back to.

    4. 4

      Send a secure, provider-hosted card checkout

      Send the customer a link to a checkout page hosted by your payment provider. Never ask a customer to text, email, or read out their full card number, expiration date, or security code. Hosted checkout keeps card details with the processor instead of in your messages.

    5. 5

      Decide: immediate charge, deposit, or authorization before work

      An immediate charge or a deposit moves money right away. A card authorization reserves an eligible amount on the customer's card without charging it yet, but only for a limited time. Choose based on job length and what you and the customer agreed.

    6. 6

      Confirm the actual payment status before you start

      Check the status in your processor or payment tool — not a screenshot or a message saying it was paid. Confirm the payment succeeded, or that the authorization is active and when it expires. If a card was declined or an authorization expired, get a new valid payment or authorization before relying on it.

    7. 7

      Capture only as agreed, within the actual hold window

      If you used an authorization, capture only according to what was agreed with the customer — for example after they approve release — and before the authorization expires. Once it expires, the reserved funds are released and it can no longer be captured.

    8. 8

      Send receipts and reconcile

      Make sure the customer receives a receipt, then match each payment and payout in your processor to the job in your records. This makes taxes, refunds, and customer questions much easier to handle.

    Invoice vs. charged deposit vs. temporary card authorization

    InvoiceCharged depositCard authorization
    When money movesOnly when the customer pays itImmediately, when chargedNot until it is captured
    What happens before work?Invoice alone reserves nothingDeposit has already been charged; it is not a temporary reservationEligible amount temporarily reserved
    Time limitPayment terms you setNone once charged (refunds and disputes still possible)Expires; the window depends on card network and transaction type
    Guarantee of final payment?NoNo — covers only the deposit and can still be disputedNo — it can expire, be canceled, or need re-authorization
    Typical fitEstablished customers, post-job billingMaterials up front, longer projectsShort jobs completed within the hold window

    For more on the difference, see deposits vs. authorization.

    How long does a card authorization last?

    There is no single universal hold period. According to Stripe's documentation on placing a hold on a payment method , a standard online, customer-initiated card authorization is often valid for about 7 days, but the window varies by card network and transaction type and can be shorter.

    • The actual expiry for a specific payment is the one the processor reports (Stripe exposes it as capture_before).
    • If an authorization expires before capture, the funds are released and the payment is canceled.
    • How a pending hold appears on the customer's statement varies by bank.
    • Not every payment method supports separate authorization and capture.

    Practical checklist

    • ☐Processor account created and business verification complete
    • ☐Payout bank account connected
    • ☐Written scope, total amount, and change-order process agreed
    • ☐Payment approach chosen: charge, deposit, or authorization
    • ☐Customer sent a provider-hosted checkout link (no card details in messages)
    • ☐Payment status confirmed in your processor before starting
    • ☐If authorized: expiry date noted, and job fits inside the window
    • ☐Capture done only as agreed and before expiry
    • ☐Receipt sent and payment reconciled to the job

    How ContractHold fits

    ContractHold is built for one part of this process: payment authorization before work starts. You send a job link, the customer authorizes the job amount through Stripe, and payment is captured after the customer approves release. See the customer approval flow.

    It fits best when:

    • the job is short enough that the authorization stays valid through customer release and capture
    • you want to see that the job amount was authorized before you start

    It is not a fit for:

    • long projects that run past the authorization window
    • financing multi-week materials purchases

    Authorization is not a guarantee of payment. The customer still has to approve release, so it does not resolve a non-responsive customer, disputes, or disagreements about scope or completion. If an authorization is declined or expires, a new valid authorization is needed before relying on it. More answers are in the Q&A.

    Lawn care or seasonal cleanup work? Read how to collect lawn care payments.

    Authorize the job amount before short jobs start

    See the flow, check pricing, or create an account.