Stripe Connect takes card payments for a restaurant through the platform's own Stripe account, with the restaurant as a connected account. It lets the platform keep a fee from every payment — the application fee — and share refunds between the platform and the restaurant.

Setting it up#

  1. The restaurant connects its Stripe account to the platform. Its account ID (acct_…) is shown in the platform's Stripe dashboard under Connected accounts.
  2. In Company View, open Finance → Payment Integration, click + on the Stripe card and choose Stripe Connect at the top of the form.
  3. Fill in the fields below — the keys are the platform's own — and click Save.
  4. In Location View, open Finance → Payment Methods and choose this integration on the Card payment method.

The first fields are the same as for Stripe: Identifier Name, Public Key, Secret Key, Webhook Signing Secret, Auto Settle Payments, Apple Pay, Google Pay and iOS Merchant ID. Stripe Connect adds:

FieldWhat it is
Account TypeStandard (the restaurant has its own full Stripe account) or Express (a lighter account the platform manages).
Connect AccountThe restaurant's connected account ID, acct_….
Charge TypeDirect Charges or Destination Charges — see below.
Card Commission FeeA percentage of the order's item value added to the application fee, to pass on card costs.
Fixed Card FeeA fixed amount added to the application fee on every payment.
Subtract Delivery Fee, Subtract Driver Tip, Subtract Tip, Subtract Service FeeWhen on, that whole amount goes to the platform: it is added to the application fee instead of staying with the restaurant. Use it when the platform runs the delivery or charges the service fee.
Fixed Application Fee AmountA fixed amount added to the application fee on every payment.
Percentage Commission FeeThe platform's commission, as a percentage.
Commission Fee RuleWhat the commission is charged on: Total (the whole amount the customer pays), or any of Subtotal (the items), Service Fee, Delivery Fee, Tip, Taxes and Driver Tip.

Direct charges and destination charges#

Direct ChargesDestination Charges
Where the payment is madeOn the restaurant's connected accountOn the platform's account, then passed on to the restaurant
Name on the customer's card statementThe restaurant'sThe restaurant's
Who pays Stripe's card processing feeThe restaurantThe platform
How the platform is paidThe application fee is moved from the restaurant to the platformThe platform keeps the application fee and passes on the rest
Who sees the payment in StripeThe restaurant in full; the platform sees its feeThe platform in full; the restaurant sees the amount passed on
Typical fitStandard accounts: restaurants with their own Stripe businessExpress accounts: the platform runs payments for the restaurant

The application fee#

The application fee is worked out for each order when the customer pays, and is the sum of:

  • Percentage Commission Fee × what the Commission Fee Rule covers;
  • Card Commission Fee × the order's item value;
  • Fixed Card Fee and Fixed Application Fee Amount;
  • each amount whose Subtract … switch is on (delivery fee, driver tip, tip, service fee).

Subtotal is the items after discounts when the location's usage plan charges commission after discounts (the usual setting), otherwise before them.

Example. An order of a lasagna ($32.00, discounted to $22.40) and three tiramisu ($42.00), with $5.72 sales tax and an $11.10 tip, costs the customer $81.22. With a Percentage Commission Fee of 8 on Subtotal and nothing else set, the application fee is 8% × $64.40 = $5.15. Tax and tip carry no commission.

How a card order is marked paid#

As with Stripe, the order waits as Card Pending until Stripe confirms the payment through OrderTiger's webhook. For Stripe Connect the webhook is created on the platform's Stripe account with Events from: Connected accounts, so it receives the payments made on the restaurants' accounts. Its signing secret is saved in Webhook Signing Secret when it is created.

Refunds#

Refunds are made from Orders, with the refund button on the order. For an order paid through Stripe Connect, the refund form asks Is the merchant liable for this refund? — ticked by default. The answer decides who pays for the refund.

Merchant liable (ticked)Platform liable (unticked)
CustomerGets the refund amount backGets the refund amount back
RestaurantPays the refund, including Stripe's card processing feesKeeps the original amount minus the original application fee, as if the order had not been refunded. With direct charges it still pays Stripe's card processing fee, as on any sale
PlatformReturns its share of the application feePays the whole refund and keeps its application fee
InvoicesThe refund is included and taken off the restaurant's earningsThe refund is not included: the platform has already paid it

For a merchant-liable refund, the platform's share of the application fee is the application fee × the refund ÷ the order total; a full refund returns the whole application fee. A platform-liable refund leaves the application fee as it was.

Example — the $81.22 order above, with its $5.15 application fee. Stripe's card processing fee is left out for simplicity.

Refund the lasagna ($22.40)Refund the whole order ($81.22)
Merchant liable: share of the application fee returned$5.15 × 22.40 ÷ 81.22 = $1.42$5.15
Merchant liable: restaurant ends with$76.07 − $22.40 + $1.42 = $55.09$0.00
Merchant liable: platform ends with$5.15 − $1.42 = $3.73$0.00
Platform liable: restaurant ends with$81.22 − $5.15 = $76.07$81.22 − $5.15 = $76.07
Platform liable: platform ends with$5.15 − $22.40 = −$17.25$5.15 − $81.22 = −$76.07

Without any refund the restaurant would have ended with $81.22 − $5.15 = $76.07 and the platform with $5.15.

Troubleshooting#

ProblemWhat to check
A paid order stays on Card PendingIn the platform's Stripe dashboard, check Developers → Webhooks has OrderTiger's webhook with Events from: Connected accounts, and look at its recent deliveries.
The application fee is not what you expectedCheck the Commission Fee Rule boxes: Total charges commission on everything the customer pays, tax and tip included.
Payments fail with an account errorConnect Account must be a connected account of the platform account the keys belong to, in the same mode (test or live).