DEV Community

MASUD SUHANDI
MASUD SUHANDI

Posted on

How to Accept USDC Payments in Node.js Using Web3indo (Stripe-Style Crypto Checkout)

How to Accept USDC Payments in Node.js Using Web3indo (Stripe-Style Crypto Checkout)

Accepting crypto payments in backend applications is still harder than it should be.

If you try to build it yourself, you usually need to:

– generate deposit wallets

– monitor blockchain transfers

– confirm ERC-20 events

– manage RPC reliability

– send webhook notifications

– sweep funds safely to treasury wallets

This quickly turns into infrastructure work instead of product work.

So I built Web3indo — a crypto payment infrastructure API designed for developers.

This article shows how to accept USDC payments in a Node.js backend using a Stripe-style workflow.


What Web3indo does

Web3indo provides:

– per-invoice deposit addresses

– automatic ERC-20 payment detection

– signed webhook delivery

– automatic treasury sweep

– project-scoped API keys

Currently supported:

Ethereum (ETH)

USDC

USDT


Step 1 — Create an API key

After creating a project inside the dashboard:

https://web3indo.com

generate a project-scoped API key.

Each project gets its own isolated API credentials.


Step 2 — Create an invoice

Example Node.js request:

import fetch from "node-fetch";

const response = await fetch("https://api.web3indo.com/v1/invoices", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
  },
  body: JSON.stringify({
    chain: "sepolia",
    token: "USDC",
    amount: "0.01"
  })
});

const data = await response.json();

console.log(data);
Enter fullscreen mode Exit fullscreen mode

Response includes:

– invoice ID

– deposit address

– payment status

– block tracking info


Step 3 — Wait for blockchain confirmation

Web3indo monitors ERC-20 transfer events automatically.

Invoice status transitions:

pending → paid


Step 4 — Receive webhook notification

Example webhook payload:

{
  "type": "invoice.paid",
  "invoiceId": "abc123",
  "chain": "sepolia",
  "token": "USDC",
  "amount": "0.01"
}
Enter fullscreen mode Exit fullscreen mode

This allows your backend to react instantly:

unlock features

activate subscription

confirm order


Step 5 — Automatic treasury sweep

After payment confirmation:

funds are automatically transferred to your treasury wallet.

No manual wallet management required.


Supported workflow

Typical integration looks like:

create project

generate API key

create invoice

wait for payment

receive webhook

funds swept automatically


Example use cases

Web3indo works well for:

SaaS subscriptions

digital product checkout

developer tools billing

API usage payments

automation platforms


Why I built Web3indo

Most crypto payment integrations today still require managing wallets manually or running custom blockchain listeners.

Web3indo abstracts that complexity into a simple developer API.


Try it here

Landing page:

https://web3indo.com

Demo video:

https://youtu.be/Z83AlNK2Gxw


Feedback welcome

I’m actively improving Web3indo and would love feedback from other developers building crypto-enabled products.

Example repo:
https://github.com/messut35/web3indo-nodejs-example

Top comments (0)