Create a product, share its link, and watch a test payment land. No code required.
By the end of this guide you’ll have a shareable payment link, a completed test payment against it, and a confirmed record in your dashboard. Every step runs in test mode: test money, no real card, nothing to lose.You can do all of this from the dashboard. No code required. If you’d rather create links and detect payments programmatically, jump to Do it in code.
All you need is an AgentaOS account. Sign up at app.agentaos.ai, no card required.
Open Catalog → Products and click New product. Give it a name and a price (for example, Pro plan, 49.00), choose one-time or subscription, and save. Amounts are plain currency units: 49.00 means €49.00, never cents.
The product builder. Name it, price it, and your shareable payment link is generated as you type.
The moment you save, the product gets its own reusable payment link and a QR code.
2
Copy the payment link
On the product page, click Copy link. It looks like https://app.agentaos.ai/pay/{id}. Paste it anywhere: a button, an email, a chat message, an invoice, or share the QR code. Every visitor who opens it gets their own checkout, and there’s nothing for the buyer to install.
3
Open the checkout and pay with a test card
Open the link in a browser. This is the page your buyer sees. AgentaOS is the merchant of record, so the checkout collects the buyer’s country, calculates the right VAT, and shows one clear total before payment.
The live checkout in test mode. The buyer's country drives the VAT; AgentaOS is the merchant of record.
In test mode, the checkout renders the real secure card form, not a mock. Pay with the standard test card:
Field
Value
Card number
4242 4242 4242 4242
Expiry
Any future date
CVC
Any 3 digits
Type the test card directly into the checkout page. Never send a card number to any AgentaOS API call yourself, in test mode or in live. We (and our card processor) never accept a raw card number over the API.
4
Confirm the payment landed
Open app.agentaos.ai → Home or Finance → Payments. Your test payment shows up in the balance and the activity feed within seconds. A tax-correct invoice appears under Finance → Invoices, and a customer record is created for the email that paid.
That one payment created a customer, a transaction, and a tax-correct invoice, all visible in the dashboard. No code, no integration, no card data touching your systems.
The dashboard is enough to get paid. Reach for the API when you want to create links or checkouts programmatically, or detect a payment from your own system (fulfil an order, provision access, update your database) the moment it clears. Everything the dashboard does is available over the SDK, CLI, and REST API.
1
Install the SDK or CLI
SDK
CLI
npm install @agentaos/pay
@agentaos/pay is server-side only (Node.js 20+, ESM). Never ship your API key to a browser. Grab a test key (sk_test_...) from Settings → Developers → API Keys.
curl -fsSL https://agentaos.ai/install | bash
agenta login
agenta login opens your browser to sign in, no API key needed. See Login for the details.
2
Create a payment link
A payment link is a reusable, shareable URL. Every visitor who opens it gets their own checkout. Amounts are plain currency units: 49.99 means €49.99, never cents.
SDK
cURL
CLI
import { AgentaOS } from '@agentaos/pay';const agentaos = new AgentaOS(process.env.AGENTAOS_API_KEY!); // sk_test_...const link = await agentaos.paymentLinks.create({ amount: 49.99, currency: 'EUR', description: 'Pro plan', successUrl: 'https://myshop.com/success', webhookUrl: 'https://myshop.com/webhooks',});console.log(link.checkoutUrl);// → https://app.agentaos.ai/pay/7rr6S9ml4BMp829wV5WeAA
There’s no CLI command to create a reusable payment link yet. agenta pay checkout creates a one-off checkout instead. To create a real reusable link, use the SDK, the REST API, or the dashboard’s Catalog → Products page.
Share the checkoutUrl exactly as you’d share a link from the dashboard. The buyer’s checkout page is identical.
3
Detect the payment
Webhook
Status check
If you set a webhookUrl, AgentaOS POSTs a checkout.session.completed event the moment payment clears, with sessionId, amount (a string, "49.99"), and currency in the payload. This is the reliable way to react to a payment server-side. See Handle webhooks to build a verified handler.
Poll the checkout with checkouts.retrieve() (SDK), agenta pay get <sessionId> (CLI), or a GET against the REST API. It moves from open to completed when the payment clears.
Don’t trust the successUrl redirect as proof of payment. The buyer’s browser might close before it fires. A webhook or a status check against the checkout is the source of truth.