Want crypto too? Our free Paymenter crypto module is the only crypto payment gateway with instant payouts for Solana, Monero, Zcash and Bitcoin. Read the Paymenter crypto guide.
What you need before you start
- Paymenter 1.4 or newer and an admin account (tested on 1.5.9).
- Paymenter reachable at its public https address, with that address set in Settings › General › App URL. Payment confirmations are sent to it.
- A USDC wallet address on Polygon (starts with
0x). Step 1 shows how.
Check that your business is allowed first: see the prohibited businesses list.
Get your USDC (Polygon) payout wallet
Card payments are paid out to a USDC wallet on the Polygon network. That is a normal wallet address that starts with 0x. Payouts may arrive as USDC, USDT (Polygon or BEP-20), ETH or the POL native token, and the same address receives all of them.
- Use a self-custodial wallet that only you control, for example Trust Wallet, MetaMask, Rabby or a hardware wallet. You can create a free one in a few minutes with the Trust Wallet app on your phone.
- Copy your Polygon address (it starts with
0x, 42 characters).
Never use an exchange deposit address (Binance, Coinbase, Kraken and so on). Exchanges can freeze or lose payouts sent to deposit addresses. Also do not paste the USDC token contract address: it is not a wallet.
Download the extension
Download the latest version from our GitHub repository: Paymenter-Instant-Payment-Gateway-main.zip. Keep it zipped. The extension is free and open source; you can read every line of code on GitHub.
Upload the extension to Paymenter
Paymenter installs extensions straight from the admin area, so you do not need FTP.
- In the Paymenter admin area, open Extensions › Available Extensions.
- Open the Ready to Install / Upload tab and click Upload Extension.
- Choose the
Paymenter-Instant-Payment-Gateway-main.zipfile you downloaded (do not unzip it) and click Submit. - Paymenter shows Extension uploaded successfully and installs it as the PayGateCard gateway.

Uploads blocked on your server? Unzip the file and copy its contents to extensions/Gateways/PayGateCard/ with FTP/SFTP or your hosting File Manager:
Paymenter-Instant-Payment-Gateway-main/ ├─ PayGateCard.php ├─ keys/ (PayGate.to public key) ├─ LICENSE └─ README.md
<paymenter>/extensions/Gateways/
├─ PayPal/
├─ Stripe/
└─ PayGateCard/
├─ PayGateCard.php
└─ keys/Add the gateway and paste your wallet
- Open Gateways and click New gateway.
- Name: the payment method name your clients see, for example “Credit / debit card”.
- Gateway: choose PayGateCard. Its settings appear below.

| Setting | What to enter |
|---|---|
| USDC (Polygon) wallet for payouts Required | Your Polygon address starting with 0x. |
| Provider | Leave empty for the hosted page with every provider that works for the client (recommended), or enter one provider id such as wert or stripe (provider list). |
| Fees tolerance | Share of the invoice total (in USD) that must arrive for the invoice to be paid. Providers take a fee, and a much lower amount means the client edited the payment link. Default 60%. |
| Dedicated API endpoint | Optional: your free endpoint such as api-yourshop-1a2b3c.paygate.to. See the custom domain guide. |
| Checkout domain, colour | Optional white-label settings for the hosted page. |
Click Create. The gateway is active straight away.

Every payment confirmation is signed by PayGate.to, and the callback URL is signed with your Paymenter APP_KEY. The extension checks both, checks that the payout went to your wallet, credits each payment once (even when confirmations arrive at the same moment) and compares the amount with the invoice before anything is marked paid.
Test with an invoice
Create a small invoice for a client (or place an order as a client) and open it in the client area. The client clicks Pay, chooses the card method and clicks Pay Now. They are taken to the secure payment page to pay with Visa, Mastercard, Apple Pay, Google Pay and more.

Card minimums range from about $1 to $30 depending on the provider (see the minimums), so test with an amount above the minimum.
The invoice is paid automatically
When the payment is confirmed, the invoice is marked Paid, so Paymenter activates the service and sends your usual emails. Each confirmation is a transaction with the blockchain transaction id, listed on the invoice and under Invoice › Invoice Transactions:
| Transaction | Meaning |
|---|---|
| Status Succeeded | The invoice was paid. |
| Status Failed, amount 0 | A payment arrived but did not pay the invoice: less than your fees tolerance, an unexpected token, a payout that did not go to your wallet, or an extra payment on an invoice that was already paid or cancelled. The reason is in the Paymenter log (storage/logs). Settle with the client. |

Confirmations that are not genuine, or were changed, are refused and nothing is recorded. Payouts usually arrive in USDC; when a provider pays out in POL, ETH or BNB, the amount is priced in USD before it is compared.
Account credit (Paymenter’s Add credit) cannot be paid by card: card providers take their fee from the payment, so the full credit would never arrive. Clients can add credit with the crypto gateway.
The payout reaches your wallet at the same time. Follow it with the payout tracker.
All settings explained
| Setting | What it does | Default |
|---|---|---|
| Name (Paymenter) | Name of the payment method for clients. | – |
| USDC (Polygon) wallet for payouts Required | Receives the payouts. | – |
| Provider | Empty = hosted page with every available provider; a provider id = that provider only. | Empty |
| Fees tolerance | Share of the total (in USD) that must arrive: 60%, 70%, 80%, 90% or disabled. | 60% |
| Dedicated API endpoint | Your free DDoS-protected API endpoint. | api.paygate.to |
| Checkout domain | Your white-label checkout domain. | checkout.paygate.to |
| Checkout colour | Branding for the hosted page. | Empty |
Building your own Laravel app instead? The Laravel package gives you the same wallets, payment links and signed callback checks in a few lines.
Troubleshooting and FAQ
PayGateCard is not in the Gateway list.
The upload did not finish, or the files are in the wrong place. The file must be at extensions/Gateways/PayGateCard/PayGateCard.php inside your Paymenter folder. Paymenter 1.4 or newer is required.
The client paid but the invoice is still unpaid.
Look for the invoice under Invoice › Invoice Transactions. No transaction at all means the confirmation could not reach your site: check that Settings › General › App URL is your public https address, and that nothing (maintenance mode, a firewall, IP allow-lists) blocks /extensions/gateways/paygatecard/callback. A Failed transaction means the payment did not pay the invoice; the reason is in storage/logs.
The client sees "Payment could not be started".
Check the USDC (Polygon) wallet: it must be your own Polygon address starting with 0x. If it is correct, try again in a minute, or set your dedicated API endpoint.
Do I need an account, API key or KYC?
No. Your wallet address is all you need. Never contact or create accounts at any of the payment providers.
Does it support subscriptions?
Each invoice is paid on its own, including renewal invoices. Card details are never stored, so payments are not charged automatically.
What are the fees?
1% plus the provider’s fees, which vary per provider and amount.
Can clients charge back?
No. Payments are final and you will not receive chargebacks.
How do I update the extension?
Upload the latest zip the same way. Paymenter replaces the files and keeps your gateway settings.
Other platforms and next steps
The same card gateway is available for every major platform:
Stuck? Our team replies fast.Send us your platform, a screenshot and the order number if you have one.
Chat with support