Zero-dependency client with TypeScript typings and an Express middleware that verifies every webhook before your handler runs.
npm install oxialinkNode 18+, no dependencies, typings included.
const Oxialink = require('oxialink');
const oxialink = new Oxialink({
apiKey: 'ak_...',
apiSecret: 'as_...',
});
const invoice = await oxialink.createInvoice({
amount: 10,
coin: 'USDT_TON',
externalId: 'order-1234',
callbackUrl: 'https://your-site.com/oxialink-webhook',
});
res.redirect(invoice.url);app.post(
'/oxialink-webhook',
express.raw({ type: 'application/json' }),
Oxialink.expressWebhook('whsec_...', ({ event, data }) => {
if (event === 'payment.completed') {
markOrderPaid(data.external_id, data.tx_hash);
}
})
);Built on the fetch and crypto that ship with Node 18+. Nothing to audit.
index.d.ts included; autocomplete for every call and webhook payload.
expressWebhook verifies the signature and never lets a handler error trigger retries.
Pass your order id at creation; every webhook echoes it back.
createTelegramInvoiceButton returns a paste-ready inline keyboard for your bot.
Crypto is final. Orders complete only after real on-chain confirmation.
Fees are flat and public on the fees page. Not on JavaScript? There is also a WooCommerce plugin, a WHMCS module and a plain REST API.
FAQ