Skip to main content
Conto Commerce lets your platform’s agents buy from online stores for your users. Your server starts a purchase from a product URL and a task. Conto shops, checks out and pays with the buyer’s own card, and your user reviews each purchase on a Conto page. Your platform never handles card details. Test mode is open to every organization. A test card pays only Conto’s test stores, so this whole page runs without a real card, a real store or a charge.

1. Create a key

Create an organization API key in Settings > API Keys. The Standard preset covers buyers, setup and purchases. Setting allowed return origins needs org:write, which the Admin preset includes. Keep the key on your server. Purchases with one organization key need an @conto_finance/sdk release that includes admin.purchasing.purchases.

2. Set up a test buyer

Map one of your users to a buyer and send them to Conto’s setup page.
Open link.url in a browser. It works once and expires in 10 minutes. On the page, confirm the spending limits, add the test card and let the agent shop with it. The same externalId returns the same buyer, so reuse it while you test. Each buyer uses one agent in your plan.

3. Buy from a test store

The store asks for delivery details, which your server answers. The buyer then opens the review link, checks the items, total and delivery details, and approves.

4. Read the result

succeeded means the store confirmed the order. paymentEvidence reports authorization, the store’s confirmation and settlement separately.

Go live

Live purchases need Conto to enable them for your organization, a Builder or Enterprise plan, and the buyer’s own card. Until then, live setup links and live purchases are refused with LIVE_NOT_ENABLED. admin.purchasing.capabilities() reports environments.live.available for your organization. Your code does not change for live: create the setup link without environment: 'test' and buy from a real store URL. For events in production, use webhooks instead of holding a stream open.

Build it with a coding agent

Paste this into your coding agent from your app’s repository:

Next