Payments overview
How customers pay you through Mamo, and which endpoints you use at each step.
Every customer payment on Mamo goes through a payment link: a hosted checkout page with its own payment_url. You create the link, send the customer to it (or embed it), and Mamo handles the card form, 3D Secure, Apple Pay and Google Pay. Each completed payment is a payment object (also called a charge, ID PAY-...).
How a payment works
- Create a payment link with Create Payment Link: set the amount, currency, and your
return_url. - Send the customer to
payment_url. Redirect them, email the link, or embed the checkout with Inline checkout. - The customer pays. Mamo redirects them back to your
return_urlwith the payment's status in the query string. - Confirm the payment server-side with a webhook (
payment.succeeded/payment.failed) or Fetch Payment Info. Don't rely on the redirect params alone; they can be tampered with.
What else you can do with a payment
| You want to | Use |
|---|---|
| Charge a saved card later, without the customer present | Card on file and Initiate Payment |
| Authorise now and take the money later | hold_and_charge_later: true on the link, then Capture Payment or Reverse Payment |
| Give money back | Refund Payment (full or partial) |
| Accept Apple Pay or Google Pay in your own UI | Create Apple Pay Token / Create Google Pay Token, then Initiate Payment |
| Send an invoice by email | Create Invoice |
| Split a payment with a recipient | payouts_share on the link; see Marketplace & split payments |
| See every payment | Fetching Payments, filtered by date or by link |
Statuses to know
A payment you hear about by webhook is captured (money taken), failed, authorized (on hold, waiting for capture), card_verified (a zero-amount card check), or voided (hold released). Refunds move it through refund_initiated and refunded. The Payment Object page lists every field and status.
Try it
Follow the Accept a payment with a payment link recipe, then pay the link in the sandbox with a test card.
Updated about 3 hours ago