Test vs. live mode
| Feature | Test mode | Live mode |
|---|---|---|
| API key prefix | mk_test_ | mk_live_ |
| Real blockchain transactions | No | Yes |
| Webhook delivery | Yes | Yes |
| Settlement | Simulated | Real USDC on Solana |
| Rate limits | Same | Same |
Getting test credentials
Sign in to the dashboard
Go to the Maash Dashboard and log in with your
account.
Creating a test checkout session
Create a checkout session the same way you would in production:Testing webhooks locally
Use a tunneling tool to expose your local server for webhook testing:Verifying webhook signatures in test mode
Webhook signatures work the same way in test and live modes. Use your test webhook secret to verify signatures during development:Pre-launch testing checklist
Before going live, verify the following:Create checkout sessions
Confirm that
POST /checkout/sessions returns a valid checkout_url and
session_id.Load the checkout page
Open the
checkout_url in a browser and verify that your merchant name and
amount display correctly.Select a payment method
Select a token and chain on the checkout page. Verify that a wallet address
and QR code are displayed.
Handle all event types
Test your handler for each event:
payment.completed, payment.expired,
payment.underpaid, payment.overpaid, and payment.failed.Check idempotency
Verify that your webhook handler processes each event only once using the
X-Maash-Idempotency-Key.Going live
When your integration passes all tests:Next steps
Quickstart
Review the quickstart guide for your first live integration.
Webhooks
Set up production webhook verification and event handling.
Error handling
Handle API errors gracefully in production.
Supported chains
Review chain confirmation times for production planning.
