Backend & SDK

Payments (m77.payments)

Accept card payments with your own Stripe account.

Let your app take one-off card payments through Stripe Checkout, paid straight into your own Stripe account. Available on Starter and above.

1. Connect Stripe

In the builder open Settings → Payments and paste your Stripe secret key (Developers → API keys). Use a sk_test_… key while testing. Keys are encrypted at rest.

2. Start a checkout

await m77.payments.checkout({
  items: [{ name: 'Yoga drop-in class', amount: 1500, quantity: 1 }], // amount in cents
  currency: 'usd',
  metadata: { classId: 'abc123' },
});

The visitor is redirected to a secure Stripe page and comes back to the same screen afterwards. Or just ask builder77: "add a Buy button that charges $15 per class".

3. Check the result

const r = await m77.payments.result; // null | { canceled: true } | { paid, payment }
if (r?.paid) m77.toast('Payment received — see you in class!');

Payment records

Every checkout is saved in your app's payments collection with status (pending, paid, expired), amount, currency, items and metadata — visible in the Data tab. Each checkout uses 1 integration credit.