Fastest

Set up with your AI agent

Vend16 has an MCP server, so a coding agent can do the whole setup with you: sign you in, create the app, put the code in, and check the store connections. You only do the parts the stores keep for humans.

1Connect your agent

Claude Code

Terminal
claude mcp add --transport http vend16 https://vend16.com/mcp

Prefer a plugin? This one teaches Claude the whole integration and works alongside the MCP server:

Claude Code
/plugin marketplace add spruikco/vend16-skill
/plugin install vend16@vend16

Cursor

Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in your project):

mcp.json
{
  "mcpServers": {
    "vend16": { "url": "https://vend16.com/mcp" }
  }
}

Codex

Add this to ~/.codex/config.toml:

config.toml
[mcp_servers.vend16]
url = "https://vend16.com/mcp"

VS Code (Copilot agent mode)

Add this to .vscode/mcp.json:

mcp.json
{
  "servers": {
    "vend16": { "type": "http", "url": "https://vend16.com/mcp" }
  }
}

Any other agent that speaks MCP over HTTP takes the same address: https://vend16.com/mcp.

2Ask for it

Open your app’s project and ask:

Prompt
Add in-app purchases to this app with Vend16

The first time, it gives you a link to approve in your browser, so it never sees your password. Then it works out your stack, creates your app in Vend16, puts the public key and the purchase code in, and lists what’s left: the two store settings only you can change.

3No MCP? Paste this instead

Any agent can do it from the written guide. Create your app in the dashboard first, then paste this with your public key filled in:

Prompt
Integrate Vend16 in-app purchase verification into this app. Read https://vend16.com/llms-full.txt first and follow it exactly. Use my public key pk_REPLACE_ME. Report every completed purchase to POST /v1/receipts with the store token and my user ID, only call finish() after Vend16 replies, and unlock features from GET /v1/subscribers/:appUserId, never from the device. If this is a Capacitor app, install the plugin with: npm install github:spruikco/capacitor-iap. Tell me which App Store Connect and Play Console settings I still need to change.

The guide it reads is llms-full.txt: the whole integration in one Markdown file.

4Check its work

Whatever wrote the code, these are the rules it has to follow. Read the diff for them.

Three rules that protect your money
  1. Tell the store a purchase is finished only after Vend16 answers recorded, duplicate or revoked. If the answer is pending, or Vend16 can’t be reached (a 502 or no network), leave it unfinished. The store hands it back on the next launch and you try again.
  2. If Vend16 answers 422 invalid_receipt, finish it and unlock nothing. The store says it isn’t a real purchase.
  3. Unlock from active_product_ids in GET /v1/subscribers/:appUserId, never from a flag on the phone. Check it at launch and after every purchase.

Use a stable user ID from your own sign-in (or a UUID you keep on the device), never an email address.

Then make a test purchase: Test and go live.

Stuck? Email hello@spruik.co and a real person replies.