Integrating our payment system is simple and requires no additional setup or costs.
To start receiving payments, all you need is your Ethereum address. Just pass it as the ownerAddress along with a unique index (such as a user ID or transaction ID):
https://api.feemaker.io/getAddress?ownerAddress=0x1234...1234&index=1That's it — no extra configuration, no infrastructure, no hidden steps.
To receive notifications about incoming transactions, you can use our documentation at docs.feemaker.io.
For the simplest approach, we recommend using long polling — no need to run a public gateway. Just send a GET request:
https://api.feemaker.io/events?ownerAddress=0x1234...1234&secretSessionId=YOUR_SECRET_KEYThe secretSessionId is a unique key you generate to reserve resources for your application. Keep this key private and do not share it.
<button id="pay-btn">Pay 10 USDT</button>
<script>
document.getElementById('pay-btn')
.addEventListener('click', async () => {
// 1. Get unique index from your backend
const order = await fetch('/api/create-order');
const { index } = await order.json();
// 2. Get payment address from FeeMaker
const res = await fetch(
'https://api.feemaker.io/getAddress'
+ '?ownerAddress=0xYOUR_WALLET_ADDRESS'
+ '&index=' + index
);
const { address } = await res.json();
// 3. Redirect to checkout
const params = new URLSearchParams({
to: address,
value: '10',
data: '0x',
chainId: '137',
token: '0x3c49...3359',
description: 'Order #' + index
});
window.location.href =
'https://checkout.feemaker.io/?'
+ params.toString();
});
</script>
const SECRET_KEY = 'your-secret-session-id';
const OWNER = '0xYOUR_WALLET_ADDRESS';
async function listenForPayments() {
while (true) {
const res = await fetch(
'https://api.feemaker.io/events'
+ '?ownerAddress=' + OWNER
+ '&secretSessionId=' + SECRET_KEY
);
const events = await res.json();
for (const event of events) {
console.log('Payment received:', {
from: event.from,
amount: event.value,
token: event.token,
txHash: event.transactionHash
});
// Update order status in your database
}
}
}
listenForPayments();
<div id="invoice"></div>
<script>
async function createInvoice() {
// 1. Get unique index from your backend
const order = await fetch('/api/create-invoice');
const { index, amount } = await order.json();
// 2. Get payment address from FeeMaker
const res = await fetch(
'https://api.feemaker.io/getAddress'
+ '?ownerAddress=0xYOUR_WALLET_ADDRESS'
+ '&index=' + index
);
const { address } = await res.json();
// 3. Display invoice
document.getElementById('invoice')
.innerHTML = `
<p>Send <b>${amount} USDT</b> to:</p>
<code>${address}</code>
<p>Invoice #${index}</p>
`;
}
createInvoice();
</script>
const SECRET_KEY = 'your-secret-session-id';
const OWNER = '0xYOUR_WALLET_ADDRESS';
async function listenForPayments() {
while (true) {
const res = await fetch(
'https://api.feemaker.io/events'
+ '?ownerAddress=' + OWNER
+ '&secretSessionId=' + SECRET_KEY
);
const events = await res.json();
for (const event of events) {
console.log('Invoice paid:', {
invoiceId: event.index,
from: event.from,
amount: event.value,
token: event.token,
txHash: event.transactionHash
});
// Mark invoice as paid in your database
}
}
}
listenForPayments();
0x9f8e...1e0FWe also offer ready-made plugins for popular e-commerce platforms. Install in minutes — no coding required. View all plugins
Accept crypto payments through the Feemaker WooCommerce plugin. Integrate in a few steps.
Accept crypto payments through the Feemaker Magento 2 plugin. Quick setup for your store.
Accept crypto payments through the Feemaker OpenCart plugin. Easy payment setup.
Accept crypto payments through the Feemaker WHMCS plugin. Add crypto to your payment methods.
Accept crypto payments through the Feemaker PrestaShop plugin. Quick store integration.
Accept crypto payments through the Feemaker Ecwid plugin. Add crypto to your Ecwid store.
Accept crypto payments through the Feemaker Zen Cart plugin. Simple payment setup.