Get payment authorization before contractor work starts.

    Set the agreed job total and share a link. Your customer authorizes through Stripe, then reviews the finished work and approves capture.

    Contractor wearing a tool belt and homeowner reviewing a phone together on a front porch

    A pending authorization is temporary, may reduce available credit or balance, and may expire within several days. Timing varies by card, network and transaction. It is not a guarantee of payment; an expired authorization requires customer reauthorization.

    How payment works with ContractHold

    Agree the amount, check authorization, then request customer approval after completion.

    Create Job
    Step 1

    Create Job

    Agree the scope and total with your customer, then create the job.

    ↓
    Send Link
    Step 2

    Send Link

    Share a secure link for the customer to authorize the agreed total through Stripe.

    ↓
    Customer Authorizes
    Step 3

    Customer Authorizes

    Check that the card authorization is active and note its actual expiry before you start.

    Plan completion and customer review within the authorization window.

    ↓
    Customer Approves Capture
    Step 4

    Customer Approves Capture

    After completion, the customer reviews the work and approves capture. Stripe can then capture a still-valid authorization.

    Ready to stop starting jobs without payment authorization?

    See how ContractHold helps you authorize the job amount before work begins.

    What payment authorization does — and doesn't do

    Authorization is a temporary card status, not money paid to you. Customer approval and a valid authorization are required for capture.

    A temporary authorization

    • ✓The bank may display a pending authorization
    • ✓Available credit or balance may be temporarily reduced
    • ✓Authorization is not a charge or money available to the contractor
    • ✓Check the actual status and expiry, not an email or screenshot alone

    Limits to plan around

    • ✓Expiry varies by card, network and transaction, typically several days
    • ✓An expired authorization requires a new one with customer consent
    • ✓Finishing the job alone is not permission to capture
    • ✓Authorization does not resolve customer silence, scope disagreements or disputes

    Authorization is not guaranteed payment

    ContractHold does not hold customer funds or provide escrow. Stripe handles authorization and capture; a valid authorization and customer approval do not eliminate payment failure or dispute risk.

    For short, fixed-price homeowner service jobs

    Leaf removal & yard cleanupPressure washingOne-time home cleaning

    Best for one-time jobs with a written scope and agreed total, where work, customer review and capture fit within the actual authorization window. Not for weekly recurring mowing, long projects, funding materials or work that requires guaranteed payment.

    Planning a seasonal cleanup? See how to collect lawn care payments for leaf removal and seasonal cleanups.

    For other short home-service jobs, use the contractor payment checklist to agree scope, check authorization expiry and plan customer review.

    For Contractors

    ✓

    Check card authorization before starting work

    ✓

    Set a clear payment rule upfront

    ✓

    Set payment expectations before work begins

    ✓

    Request customer approval for capture after completion

    For Clients

    ✓

    Authorize payment without being charged

    ✓

    Approve release only when work is done

    ✓

    See the full amount upfront

    ✓

    Review the work before approving capture

    Platform Benefits

    ✓

    See the job's card authorization status before work

    ✓

    Create a clear authorization step before work begins

    ✓

    Use a defined customer release step after the work is done

    ✓

    Send a job approval link instead of "just checking in"

    Customers authorize the agreed total before work and approve capture after review, while the authorization is still valid.

    Simple Pricing

    $19.99 for your first month, then $39.99/month.

    Payment processing is handled securely through Stripe. You control how you price your jobs, including how fees are handled.

    View Pricing Details

    Secure Payments Powered by Stripe

    All payments are processed securely through Stripe. ContractHold never stores payment details or controls customer funds.

    • • Card details handled by Stripe
    • • ContractHold does not store card data

    Start With Payment Authorization

    Check payment authorization before you start. Plan a short job and customer review within its actual expiry window.

    Get Started

    ContractHold is not an escrow service and does not guarantee payment. All payments are processed by Stripe.