Stripe Payments
Accept secure online payments via Stripe. MenuLogic uses Stripe Connect with Destination Charges to split funds between restaurants and the platform automatically.
Setup
- Navigate to Integrations.
- Connect your Stripe account or enter your API keys.
- Payments will be processed through your Stripe account and deposited according to your Stripe payout schedule.
Payment flow
- At checkout, a Stripe Payment Intent is created with the exact order total (including items, tax, delivery fee, tip, minus discounts and point redemptions).
- The customer enters their card details in a secure Stripe Elements form embedded in the checkout page. Card data never touches MenuLogic's servers.
- Once payment succeeds, the order is confirmed and the restaurant is notified.
- The
stripe_payment_intent_idis stored on the order for reference.
Destination Charges & fund splitting
MenuLogic uses Stripe Connect Destination Charges to automatically split each payment between the restaurant and the platform:
- Restaurant receives: Food subtotal + tax — transferred to the restaurant's connected Stripe account via
transfer_data. - Platform retains: Delivery fees + driver tips — kept on the MenuLogic platform account.
This ensures restaurants receive their food revenue directly into their own Stripe account while the platform handles delivery logistics separately.
Statement descriptors
Each transaction includes a sanitized statement descriptor suffix (max 22 alphanumeric characters) containing the restaurant name. Customers see this on their bank statement as:
MENULOGIC* RESTAURANT NAME
Processing fees
| Fee type | Rate |
|---|---|
| Domestic card (Canada) | 2.9% + CA$0.30 |
| International card | 3.9% + CA$0.30 |
| Currency conversion | +1% |
Stripe fees are deducted from the platform's portion of the charge. Check your Stripe dashboard for your specific rate.
Webhook-driven order confirmation
When Stripe confirms a payment, the following automated flow is triggered:
payment_intent.succeededwebhook fires from Stripe.- Order status transitions from "pending" → "paid".
- SMS confirmation is sent to the customer via Twilio.
- Order is synced to Clover POS (if connected) for kitchen printing.
- For delivery orders, courier dispatch is triggered automatically.
Pay in person
As an alternative to online payment, you can enable Pay in Person in Order Settings. This allows customers to select "Pay at pickup" during checkout — the order is placed without payment and marked for in-person card/cash collection.
Refunds
Refunds are processed through the admin panel. The refund logic uses reverse_transfer: true for food and tax components, which claws back the transferred amount from the restaurant's connected account. Delivery fees and tips are refunded from the platform's own balance.