AUTOMATED WEBSITE PAYMENTS

Accept USDT and USDC payments on your website

Your website creates an invoice for an order, plan or balance top-up. The buyer pays through a hosted checkout, GramPayBot verifies the on-chain transfer and sends the result back to your system. Funds go directly to your business wallet.

ORDER-4821● API
PRO PLAN · 30 DAYS
99.013427USDC
NETWORKBASE
CHECKOUT/i/inv_GU91XHr8AUNQ8l9r
● Waiting for payment
WEBHOOK RESULT{ "update_type": "invoice_paid", "payload": { "payload": "ORDER-4821", "status": "paid" } }✓ ORDER PAID
USDT · USDCStablecoin checkout
5.95–10¢Per confirmed payment · no percentage
→Directly to your wallet
APIOrder status automation

ORDER FLOW

Add crypto to your existing order flow

Your orders, users, plans and access logic stay in your system. GramPayBot provides the payment layer.

01Buyer selects product or plan↓
02Website creates the order↓
03Backend creates an invoice↓
04Buyer opens hosted checkout↓
05GramPayBot confirms payment↓
06Website marks the order paid

WHO IT IS FOR

Built for websites with their own order logic

Use it when the amount and next business action are determined by your system.

01

SaaS plans and account credits

02

E-commerce orders

03

VPN, hosting and API services

04

Bookings and professional services

API + CHECKOUT

How website payments work

The invoice is linked to your order before the buyer pays.

  1. 01Customer creates an order
  2. 02Backend requests an invoice
  3. 03GramPayBot returns checkout URL
  4. 04Customer sends USDT or USDC
  5. 05On-chain transfer is verified
  6. 06API or webhook returns the result

API · USDC

How to integrate USDC payments into your website

Create an invoice from your server for each order. Save its public_id with your order, open the returned web_app_invoice_url for the buyer, and fulfil only after an authenticated status check or a verified signed webhook reports paid. The buyer can choose USDC only on routes enabled for your app.

Keep the API token on your server. Reuse the same Idempotency-Key if the request times out and you retry.

POST https://app.grampaybot.com/api/createInvoice
GramPay-API-Token: gp_live_xxx
Idempotency-Key: order_184
Content-Type: application/json

{
  "amount": "10.00",
  "public_description": "Order 184",
  "payload": "order_184"
}

HOSTED CHECKOUT

A hosted checkout for each order

You do not need to build address, QR, timer and payment-status interfaces yourself.

01

Order name and exact amount

02

Token and selected network

03

Wallet address and QR code

04

Expiry timer and live status

PAYMENT RESULT

Your website receives an order-linked result

The signed invoice_paid event returns the invoice object, including the order reference you sent in payload.

WEBHOOK RESULT{ "update_id": 1024, "update_type": "invoice_paid", "request_date": "2026-09-23T10:00:00Z", "payload": { "public_id": "GU91XHr8AUNQ8l9r", "payload": "ORDER-4821", "status": "paid", "paid_token": "usdc", "paid_source": "base", "tx_hash": "0x71a4...93F2" } }✓ Order reference in payload✓ Public invoice ID and status✓ Invoice amount and paid token✓ Paid network and transaction hash

START

Three ways to start

Begin simply and automate when the order volume requires it.

02

API creates an invoice for every order

03

API and signed webhooks update orders automatically

EXTERNAL ORDER ID

Match crypto payment to the right order

Send your order ID in the payload field when creating the invoice. In the signed webhook, read it from payload.payload and match the public_id to your saved order.

YOUR SYSTEMORDER-4821 → GU91XHr8AUNQ8l9r → invoice_paidGRAM PAY

NON-CUSTODIAL

Funds go directly to the business wallet

GramPayBot never holds your revenue in an internal balance and does not require a private key.

  • ✓ No payout stage
  • ✓ Public address only
  • ✓ Every payment can be checked by transaction hash
BUYER→BLOCKCHAIN→YOUR WALLET
USDT: Ethereum · Optimism · BNB Smart Chain · Base · Polygon · Arbitrum · TRON · Solana
USDC: Ethereum · Optimism · BNB Smart Chain · Base · Polygon · Arbitrum · Solana

PRICING

Pay only for confirmed payments

5.95–10 cents per confirmed payment, depending on the package. The fee does not depend on the order amount.

5.95–10¢Per confirmed payment · no percentageorder → invoice → checkout → payment → webhook
  • ✓ Unpaid invoices are free
  • ✓ No percentage of turnover
  • ✓ Hosted checkout and tracking included
  • ✓ Larger packages reduce the unit price

SAAS EXAMPLE

Example: SaaS plan payment

A customer selects Pro for 30 days. The website creates ORDER-4821 and opens a USDC checkout. After confirmation, a verified invoice_paid webhook carries ORDER-4821 in payload.payload; the SaaS activates the plan once.

  1. 01ORDER-4821 · awaiting payment
  2. 0299.013427 USDC · Base
  3. 03invoice_paid · transaction hash
  4. 04ORDER-4821 · paid · Pro activated

FAQ

Website payment questions

01Can a normal website accept USDT and USDC?+

Yes. The backend creates an invoice and sends the buyer to hosted checkout.

02Do I need to build a checkout?+

No. GramPayBot provides the payment page, QR code, timer and status.

03How does the website know which order was paid?+

Send your order ID in the invoice payload; the signed invoice_paid webhook returns it as payload.payload.

04Where do funds go?+

Directly to the wallet configured for the project.

05Can I activate a service automatically?+

Yes. Your backend can act after verifying the paid status or signed webhook.

06Can I test without API first?+

Yes. Start with manual payment links, then add automatic invoice creation.

Connect USDT and USDC payments to your website

Your site creates the invoice, GramPayBot hosts checkout and verifies the transfer, and your system receives an order-linked result.

Hosted checkout · API and webhooks · no private key