Plugins and links / Shopware 6
Shopware 6
Adds Pay with USDC or USDT to the Shopware checkout. The order is placed with the payment status Open, the customer pays on the Mintage Pay payment page, and the payment status moves to Paid by itself when the payment is final.
Tested on 5 October 2026 with Shopware 6.7 and a storefront priced in euros, against the sandbox: connect, checkout, payment, status set to Paid, return to the "Thank you" page, and removal. Shopware 6.5 and 6.6 are supported by the plugin but have not been run yet, so test them with a sandbox key first.
What you need
- Shopware 6.5, 6.6 or 6.7.
- An admin user that can manage extensions, settings and sales channels.
- A way to install a plugin: zip upload in the admin, or server or repository access. Shopware cloud shops and some managed hosts do not allow zip uploads.
- An order currency Mintage Pay supports: USD, EUR, GBP, CAD, AUD, CHF, JPY, MXN, BRL, INR, SGD, AED, PLN, SEK, NOK, DKK, NZD, ZAR, TRY, KRW, HKD, NGN, ARS, PHP, IDR, VND, PKR, EGP, BDT, KES, GHS, TZS, COP, CLP, PEN, UYU, PYG, BOB, DOP, GTQ, CRC, THB, MYR, TWD, LKR, NPR, KZT, UAH, ILS, SAR, QAR, CZK, HUF, RON, ISK, XAF or XOF. Your customers always pay in US dollar stablecoins: a price in another currency is converted when they check out, and the payment page shows both amounts.
- Your shop on https, reachable from the internet. Mintage Pay tells your shop about payments by calling
https://your-shop/api/_action/mintagepay/webhook. Firewalls, bot rules and password protection must let that address through. - A Mintage Pay account with at least one payout address set.
Install
Download MintagePay-shopware6.zip.
In the admin, go to Extensions > My extensions, click Upload extension and choose the zip. Click Install, then Activate.
On a server instead: unpack the zip into
custom/plugins/, then runbin/console plugin:refresh bin/console plugin:install --activate MintagePay bin/console cache:clearGo to Sales Channels > (your storefront) > Payment methods, add Pay with USDC or USDT and save. Without this step the method does not appear at checkout.
In the Mintage Pay dashboard, open Developers > API keys and create a key. Copy it: it is shown only once.
Go to Extensions > My extensions > Mintage Pay > Configure. Paste the key and save. Reload the page: Connection status says Connected to (your business name). Webhook registered.
Leave API base URL empty. The key decides where the plugin connects.
If the plugin is active but the payment method is missing under Settings > Payment methods, the shop had no
supported currency when the plugin was installed. Add one, then run bin/console plugin:update MintagePay, or
deactivate and activate the plugin again.
Try it first with test money
- Create a free account at sandbox.mintagepay.com, set a payout address and create a key there.
- Paste the sandbox key in the plugin configuration and save. The connection status says sandbox, test money only.
- Place an order with a cheap product and choose Pay with USDC or USDT. You land on a payment page with a Test mode banner. The order's payment status is Open.
- Pay on the payment page with free test money. The page has a button to get some.
- Within a few minutes the payment status is Paid. The order's Mintage Pay: latest note gives the amount, the network and a link to the transaction. The payment page sends you back to the shop's "Thank you" page.
- When you are happy, paste your live key and save.
The payment window
Shopware's link back to the shop stops working after Settings > Cart > Time in minutes for a customer to finalize a transaction (30 by default). The plugin never gives the customer longer than that to pay, so by default they have 30 minutes. For 60 minutes, set that Shopware setting to 60.
What you will see
| What happened | Payment status |
|---|---|
| Customer sent to pay | Open |
| Payment seen, not final yet | In progress |
| Paid in full | Paid |
| Paid, but the amount does not match the order | In progress, with the tag "Mintage Pay: review". Check before you ship |
| Part paid, customer still paying | Paid (partially) |
| Part paid and the payment window closed | Paid (partially), with the tag "Mintage Pay: review". Refund or collect the rest |
| Customer cancelled on the payment page | Cancelled. They return to Shopware's "choose another method" page |
| Payment window closed with nothing paid | Cancelled |
| Paid after the order was cancelled | In progress, with the tag "Mintage Pay: review". Refund or restore the order |
| Refund recorded in Mintage Pay | Refunded or Refunded (partially) |
Setting "Refunded" in Shopware does not send any money. You send the refund yourself and record it in the Mintage Pay dashboard.
If something is wrong
- "Not connected": run
bin/console mintagepay:connectto see the reason. If the shop'sAPP_URLis not its public https address, set Webhook URL override in the plugin configuration and save. - An order did not update: run
bin/console mintagepay:sync (order number). It reads the payment again and updates the order. - Updates never arrive: from outside,
curl -X POST https://your-shop/api/_action/mintagepay/webhookmust answer 401 withmissing_signature. A 403, a 404 or a web page means something in front of Shopware is in the way.
Your key and webhook secret are never written to the log.
Update to a new version
- Replace the
MintagePayfolder incustom/plugins/with the new one. - Run
bin/console plugin:refresh, thenbin/console plugin:update MintagePay, thenbin/console cache:clear.
Your key, your connection and your orders are kept. An order that was waiting for payment when you updated is still marked paid when the payment arrives.
Remove the plugin
Extensions > My extensions > Mintage Pay > Uninstall, or bin/console plugin:uninstall MintagePay. This
switches off your shop's connection at Mintage Pay and deletes the plugin's settings. The payment method stays in the
list, inactive, because past orders refer to it.
Last updated . This page as Markdown. Something missing or wrong? Write to hello@mintagepay.com.