Skip to content

Accept crypto in Paymenter

The CoinsPay gateway lets your clients pay Paymenter invoices in USDT, BTC, ETH or any of 30+ coins. The payment is added to the invoice on its own, Paymenter activates or renews the service, and the money goes straight to your wallets.

Paymenter
1.4.0 and newer
PHP
8.2 and newer
Extension
free, GPL 3.0

What the gateway gives you

  • Services start on their own

    When the payment is confirmed, the gateway adds it to the invoice, and Paymenter does what it does after any payment: marks the invoice paid, activates or renews the service and emails the client. Nobody checks payments by hand.

  • Money lands in your wallets

    CoinsPay does not hold your revenue: every payment goes on to your wallets by the payout rule of your shop. Each network takes up to 5 addresses with shares, say 70% to you and 30% to a partner.

  • Prices stay in your currency

    The client pays what is left on the invoice, in its currency. CoinsPay converts it at the current rate and holds the coin amount for 30 minutes while the client opens a wallet. On invoices in a currency CoinsPay does not take, the gateway is hidden.

  • A key that cannot withdraw

    The gateway only needs a key with "Invoices only" access: it can create invoices and follow them, but it cannot move money. Paymenter stores the key and the webhook secret encrypted.

Set up in five minutes

You need a CoinsPay account with a shop and access to the Paymenter admin area. No developer required.

  1. 01Install the extensionDownload the archive and upload it under Extensions → Extensions → "Upload Extension". Or unpack it into the Paymenter folder, so that it lands in extensions/Gateways/CoinsPay.
  2. 02Add the gatewayUnder Extensions → Gateways press "New gateway", pick CoinsPay and give it the name clients will see. In the CoinsPay dashboard create a key with "Invoices only" access and paste it into "API key".
  3. 03Connect the webhookCopy the webhook address from the "Status" block of the gateway to the "Webhook" section of the dashboard, and the whsec_ signing secret back into the gateway.
  4. 04Save and checkAfter saving, the "Status" block shows the name of your CoinsPay shop and the live mode. Send a test event from the dashboard, and the block notes it. Clients already see CoinsPay on their invoices.
CoinsPay gateway settings in the Paymenter admin area: the status block with the webhook address, the shop in live mode and the test event, and the gateway fields

It handles the awkward cases too

Partial payments, changed or cancelled invoices, lost webhooks: the gateway adds to the invoice exactly what came and shows you what needs your decision.

  • Payment on its way

    While the network confirms a payment, it shows on the invoice as "processing", so the client sees that the money is coming. Once it is confirmed, the invoice is paid.

  • Underpayment

    If less arrives, the client can pay the rest on the same payment page. When the CoinsPay invoice expires, the part received is added to the invoice, and the client pays the rest with "Pay" again.

  • Each payment once

    The webhook, the return of the client and polling can arrive at the same moment, and the payment is still added once. Paymenter before 1.5.7 does not guard against that itself.

  • The invoice changed

    Cancel the invoice, change its amount or have it paid another way, and the gateway cancels the open CoinsPay invoice. The next "Pay" creates one for the new amount.

  • Payments for your decision

    A payment for an invoice cancelled meanwhile is not added: Paymenter would mark it paid and activate the service. Neither is anything above what the invoice still owes. Such payments wait in the "Status" block with a link to the invoice.

  • No payment gets lost

    Webhooks are signed, and the gateway checks the signature. Even without webhooks, the gateway asks CoinsPay about open invoices every minute through the scheduler of Paymenter, and when the client opens the invoice.

  • The client can pay the fee

    Turn these settings on and the CoinsPay fee and the network fee are added to the amount on the payment page. The invoice in Paymenter gets its own amount.

  • Everything in one block

    The "Status" block at the top of the settings shows the shop and the mode of the key, the webhook address, whether the test event came, and the currencies of your Paymenter that CoinsPay does not take.

  • Test mode

    With a cpk_test_ key, invoices are paid with a button on the payment page and no coins move. Only signed-in admins see the gateway, on their own invoices, so real clients never notice it.

Installation

The extension is one archive on GitHub, next to its source code. It installs like any other Paymenter extension: upload it in the admin area.

API documentation
Paymenter
1.4.0 and newer, tested up to 1.5.9
PHP
8.2 and newer, as Paymenter needs
Cron
the cron of Paymenter, every minute
License
GPL 3.0

Pay only when you get paid

  • First 10 days fee-free, on payouts up to $500
  • No monthly or setup fee
  • The fee can go on the buyer’s invoice
  • Network fees at cost, no markup

as low as0.3%of each payout, the rate depends on your volume

Connect your shopHow the fee works

Questions about the gateway

All questions
How much does the extension cost?

The extension is free. You only pay the CoinsPay fee on payouts: as low as 0.3%, going down as your turnover grows, with no monthly fee. For the first 10 days after your first payment, payouts up to $500 carry no fee.

Which coins can clients pay with?

More than 30 coins and tokens on TRON, Ethereum, BNB Smart Chain, Solana, Bitcoin and Litecoin: USDT, USDC, BTC, ETH, BNB, TRX, LTC, SOL and more. A gateway setting can limit the choice to stablecoins.

Does the service start right after the payment?

Yes. Once the gateway adds the payment, the invoice is paid, and Paymenter activates or renews the service as after any payment, a game server in Pterodactyl for one, and emails the client.

Do I need a cron job?

Paymenter needs its cron anyway, and the gateway adds its check to the scheduler of Paymenter: open invoices are checked every minute, even when a webhook does not arrive. Without the cron, such a payment arrives when the client opens the invoice.

Which languages does the gateway speak?

English and Russian. Paymenter itself has no Russian yet, so its admin and client areas are in English. The Russian texts of the gateway show once you add a Russian translation to Paymenter.

What client data goes to CoinsPay?

The invoice number, the amount and currency, and the address to send the client back to after payment. Client names, emails, addresses and phone numbers are not sent.

Can I connect a staging copy of my Paymenter?

Yes, but give it a separate CoinsPay shop. A shop has one webhook address, so its events would reach only one of the two sites.

Start taking crypto today

Signing up takes a minute and setting up a shop about five more. Connecting is free.

Paymenter is an open-source project, and the Paymenter name and logo belong to it. CoinsPay is not affiliated with Paymenter, and the extension is not sponsored or endorsed by it.