Overview
Mint lets you create a payment on your backend, then choose who owns the buyer experience: Mint’s hosted page, the Mint React SDK, or your own client.
Start by creating a checkout and API keys in the Mint Dashboard. Keep the secret key on your server; use the public key only in browser code.
The payment lifecycle
- Your backend creates a payment for a checkout.
- The buyer pays through the hosted page, the React SDK, or your own flow.
- Mint records the payment attempt and confirms the payment.
- Your server receives a signed
payment.paidwebhook and fulfils the order.
The browser is useful for showing progress, but it is not the source of truth for fulfilment. Use a verified webhook or Mint’s authenticated API to make that decision.
Core concepts
Checkout
A checkout is the merchant configuration that defines how payments should be accepted and settled.
Payment
A payment is a single payment intent created against a checkout. It includes the amount, currency, and optional metadata such as order_id, customer_id, return_url, and line_items.
Payment URL
If hosted payments are enabled, Mint returns a payment_url when a payment is created. You can redirect the buyer to that URL instead of embedding the SDK yourself.
Payment attempt
When a buyer starts paying, Mint creates a payment attempt for the selected method. In the crypto flow, Mint computes the destination address and the settlement amount.
Payment status
The main payment statuses are:
pendingconfirming_paymentpaidfailed
confirming_payment means Mint has seen a buyer transaction but has not yet
completed the payment. Fulfil only after paid.
Choose your next guide
What the React SDK gives you
The @mintmoney/react package provides the client-side pieces needed to embed Mint checkout in a React application:
createConfig(...)MintMoneyProviderCheckoutgetPaymentById(...)
The SDK is designed to work with a server-side payment creation step. Your backend creates the payment with your Mint secret key, and the frontend uses the SDK with your public key.