Appearance
Onboarding
Onboarding gives you access to the merchant portal, the API credentials you generate there, and a payment-ready payout account.
Onboarding is email-based today, so you'll complete it with the Maytes team. It will become self-service in the future, but the steps will stay the same.
The steps
1. Contact Maytes
Email the Maytes team to start onboarding. We'll collect your registered business name, contact email, country, and payout currency.
2. Get access to the merchant portal
The Maytes team provisions your merchant account and access to the merchant portal. Each environment has a separate portal, accounts, and data:
| Environment | Portal |
|---|---|
| Sandbox | sandbox-portal.maytes.co |
| Production | portal.maytes.co |
Start in the sandbox. The setup works the same in both environments, but the sandbox never moves real money.
Configure your integration in the portal. These details aren't sent by email:
- Generate your API credentials — your backend uses the
client_idandclient_secretfor every API call. Each portal issues credentials for its own environment, so sandbox and production credentials are separate and never interchangeable. The secret is shown once; store it in your secret manager immediately. - Set up your webhook — register the endpoint URL and events, then copy the signing secret used to verify deliveries. This secret is also shown once. Send a
webhook.testevent from the portal to confirm your endpoint works before relying on it for a real payment.
You also get a dedicated Stripe connected account, provisioned with your merchant account. Every customer payment flows through it, so you remain the merchant of record. Your settlements are paid from this account.
3. Complete your Stripe account setup (production only)
The sandbox doesn't require this step. It uses a shared test payout account, so you can integrate and take test payments end to end without setting up Stripe. Complete this step only for production.
For production, use the Stripe-hosted onboarding link to verify your business identity and connect your bank account for payouts. You enter these details on Stripe's secure pages; Maytes never sees or stores them.
Onboarding links are single-use and expire in minutes
The Stripe setup link is single-use and expires minutes after it's generated. This is a Stripe security property, not a configurable timeout. Don't bookmark the link or forward it for later.
An expired link doesn't lose your progress. Generate a fresh link on demand from the merchant portal; it resumes setup for the same account where you left off.
Until setup is complete, your production account can't process payments. You can create checkouts, but customers can't pay. The sandbox is unaffected.
What you end up with
| Artifact | Where it comes from | Used for |
|---|---|---|
| Merchant account | Provisioned by Maytes | Your checkouts, settlements, and portal access. |
| Merchant portal access (per environment) | Set up by Maytes | Generating credentials, configuring webhooks, watching settlements. |
client_id / client_secret (per environment) | You generate them in the portal | Authenticating every API call. |
| Webhook endpoint + signing secret (per environment) | You configure them in the portal | Receiving and verifying checkout.authorized. |
| Stripe connected account | Stripe (managed via Maytes) | Processing customer payments and paying out your settlements. You remain the merchant of record. |
Next
After onboarding:
- How it works — pick your integration flow.
- Quickstart — a captured payment against the sandbox.
- Merchant portal — where your settlements and configuration live.
