Developer docs

Mintage Pay lets you take payments in USDC and USDT, the US dollar stablecoins. Every payment goes straight to your own wallet. Mintage Pay never holds the money. These pages cover the store plugins, payment links, the API, webhooks and the sandbox.

Pick how to connect

Option Best for Code needed
Store plugin WooCommerce and other store platforms None
Payment links and the buy button Any website, social posts, emails, one-off invoices None, or one snippet
API and webhooks Your own checkout, app or billing system A few HTTP calls

Running a store? Start with the store plugins. The rest of this page is for developers.

How a payment works

  1. Your server creates an invoice for the order, with the amount and your own order number.
  2. You send the customer to the invoice's checkout_url. This is a payment page hosted by Mintage Pay.
  3. The customer chooses a network and pays from their wallet, or straight from an exchange on Base and Polygon.
  4. Mintage Pay watches for the payment. Once it is confirmed, the invoice changes to paid and your server receives an invoice.paid webhook.
  5. Your store marks the order as paid and ships it.

How the money reaches you:

Quickstart

This takes about ten minutes in the sandbox, with free test money.

  1. Create a free test account at sandbox.mintagepay.com.
  2. In Payout addresses, add an address for at least one network.
  3. In Developers > API keys, create a key. Test keys start with mp_test_. You only see the key once, so copy it.
  4. Create an invoice:
curl https://sandbox.mintagepay.com/v1/invoices \
  -H "Authorization: Bearer mp_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042" \
  -d '{"amount": "15.00", "order_id": "1042", "redirect_url": "https://example.com/thank-you"}'
  1. Open the checkout_url from the response and pay it. The sandbox payment page has a button that gives you test money.
  2. Tell Mintage Pay where to send order updates:
curl https://sandbox.mintagepay.com/v1/webhook-endpoints \
  -H "Authorization: Bearer mp_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/mintagepay/webhook"}'

The response includes a secret starting with whsec_. You only see it once. Use it to check that each update really came from Mintage Pay. 7. When your server receives invoice.paid, mark the order as paid.

No public web address yet? Read the invoice with GET /v1/invoices/{id} and check its status instead.

Going live

Live accounts are by application: apply on the home page. Once you are approved:

  1. Sign in at app.mintagepay.com and add your payout addresses.
  2. Create a live key. Live keys start with mp_live_.
  3. Change your base URL to https://app.mintagepay.com/v1, and register your webhook address again with the live key.
Sandbox Live
Dashboard https://sandbox.mintagepay.com https://app.mintagepay.com
API base URL https://sandbox.mintagepay.com/v1 https://app.mintagepay.com/v1
Payment pages https://sandbox.mintagepay.com/i/... https://pay.mintagepay.com/i/...
API keys mp_test_... mp_live_...
Money Free test coins on test networks Real USDC and USDT

Test keys do not work on live, and live keys do not work in the sandbox, so you cannot mix them up by accident.

Networks

What the customer pays with Where they can pay from How it reaches you
USDC on Base Any wallet or exchange Its own payment address per invoice. The fee is taken on the way
USDC or USDT on Polygon Any wallet or exchange Same as Base
USDC or USDT on Solana A Solana wallet (Phantom, Solflare, Backpack) Solana Pay. The customer needs no SOL
USDT on TRON A TRON wallet (TronLink, Trust) Straight to your own address. The fee comes from fee credit

A network only appears at checkout once you have added a payout address for it. For USDC on Base and Polygon, customers with a browser wallet do not need any gas: they sign once and Mintage Pay pays the network fee.

Customers with no crypto: Cash App

Cash App can send USDC from a customer's cash balance, with no fee, on Polygon. So a customer with a verified Cash App account can pay even if they have never owned crypto. Cash App's minimum is $1, and it is not available in New York. See Cash App's help page, Stablecoins.

To let these customers pay, add a USDC on Polygon payout address, even if you mostly use Base. If you use an exchange account, choose USDC and the Polygon network on its Receive screen, and check the page says USDC, not POL or MATIC.

Reference

Questions? Write to hello@mintagepay.com.

Last updated . This page as Markdown. Something missing or wrong? Write to hello@mintagepay.com.