No bot: Meus apps → app → 🔑 API → Criar token. O gp_live_… aparece uma vez; guarde-o nos secrets do servidor. Girar token invalida o anterior.
curl -X POST https://app.grampaybot.com/api/createInvoice \
-H 'GramPay-API-Token: gp_live_xxx' -H 'Content-Type: application/json' \
-H 'Idempotency-Key: order_184' -d '{"amount":"10.00","public_description":"Acesso por 30 dias","payload":"order_184"}'
public_description é pública, internal_note é privada e payload é sua referência. Use Idempotency-Key. O resultado traz web_app_invoice_url e bot_invoice_url. Teste com GET /api/getMe; app_id é UUID. Depois configure webhooks.