Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
    Overview
    What is Terminal
    Design an integration
    Example applications
    Quickstart
    Accept an in-person payment
    Set up your reader
    Set up your integration
    Connect to a reader
    Collect payments
    Regional considerations
    Supported card brands
    Terminal payments features
    Multiparty payments with Connect
    Collect tips
      Collect on-receipt tips
      Collect on-reader tips
    Save cards for future use
    Refund transactions
    Provide receipts
    Cart display
    Incremental authorizations
    Extended authorizations
    Operate offline
    Deploy at scale
    Order hardware
    Manage locations
    Configure readers
    References
    API references
    Bluetooth readers
    Smart readers
    SDK migration guide
    Testing
    Deployment checklist
    Stripe Terminal reader product sheets
Multiparty payments
After the payment
Add payment methods
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
Terminal
·
HomePaymentsIn-person paymentsCollect tips

Collect on-receipt tips

Available in:

Some business types allow customers to add a tip to a transaction after authorizing the card. This is most common for businesses in the dining and hospitality space (for example, a restaurant or bar), where a customer can add a tip onto the receipt.

In the US, after you confirm a PaymentIntent, you can collect a tip by capturing more than the authorized amount. This is known as over-capture. After you capture the PaymentIntent, your customer sees the full captured amount reflected on their statement.

To collect a tip, you must create and confirm a PaymentIntent following the steps outlined in collecting in-person payments. You can verify that a given PaymentIntent is eligible for over-capture by accessing overcapture_supported.

Next, capture more than the authorized amount by providing an amount_to_capture that’s equal to the sum of the confirmed PaymentIntent and tip amount.

Command Line
curl https://api.stripe.com/v1/payment_intents/{{PAYMENT_INTENT_ID}}/capture \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d amount_to_capture=1800

Over-capturing updates the PaymentIntent amount to reflect the new total, inclusive of the tip. This doesn’t result in an additional authorization, so your customer won’t see any immediate updates on their credit card statement. To see the original amount authorized, use the amount_authorized field in the PaymentIntent’s underlying Charge object.

Availability

On-receipt tipping is available for United States merchants with eligible merchant category codes (MCCs), for payments using Visa, Mastercard, Discover, and American Express card brands.

Merchants in the following categories are eligible to collect tips using over-capture:

  • Taxicabs and limousines
  • Eating places and restaurants
  • Drinking places (alcoholic beverages)
  • Fast food restaurants
  • Beauty and barber shops
  • Health and beauty spas
Merchant category codes (MCCs)

If you’re not sure about the eligibility of your merchant category, you can contact support. If you’re a Connect user, set the merchant category codes for your connected accounts to match their businesses.

Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$