Clink Customer Pay
Customer-side Clink payment app via protocol-injected OAuth Bearer (provider=clink). v2.2.0 — checkout-create tools now carry a canonical buyer JSON object (email + optional first_name/last_name/phone_number) per Clink spec, unblocking merchants like eats365 that require buyer fields beyond email. 35 tools covering: UCP external checkout lifecycle, internal merchant-scoped UCP checkout, broad + merchant catalog search, public skills marketplace (list + download ticket), skill tipping and Alipay QR charge (inactive pending consent), wallet bootstrap, card binding & management, direct/session charges, VIC spending instructions, refunds, events, risk rules. Card-management tools served from agent.clinkbill.com.
Broad/cross-merchant catalog search across all Clink-onboarded merchants without a merchant ID. Anonymous-friendly entry point for discovery; returns product groups grouped by merchant and channel. Money in filtersJson uses minor units (1000 = $10.00). Pass the merchantId from results to Clink_SearchMerchantCatalog.
Initialize a Clink customer wallet. First call (no OTP) emails a verification code and returns code 71160015; call again with the 6-digit OTP to get customerId and customerAPIKey. With the OAuth flow this is usually handled by wallet init.
Generate a card binding link the user opens in their own browser (agents never open, preview or fill it). Returns the URL plus current paymentMethodsVoList; the fragment after # is the binding token for card management tools. Completion is proven via Clink_CustomerEventsPoll.
Delete a payment method from the wallet. Destructive - use only behind explicit user authorization.
Get detailed information about one payment method by instrument ID (pi_*). Read-only. bindingToken is sent in the binding-token header, matching the other card tools.
Set a payment method as the default for future transactions.
Update the billing address of a payment method.
Acknowledge webhook events returned by Clink_CustomerEventsPoll so they stop reappearing. Pass event IDs as a JSON array.
Poll pending webhook events for the customer wallet (card binding completion, instruction activation, 3DS order results, charges). Success of any money flow is proven here, never assumed. Acknowledge processed events with Clink_CustomerEventsAck.
Get current server time as epoch milliseconds, e.g. before any timestamp-dependent operation. Read-only.
Create a VIC spending instruction (agent-authorized repeat charges). A Passkey URL may be returned for the user to sign in their own browser; activation is proven via Clink_CustomerEventsPoll plus Clink_CustomerInstructionGet. Mandate keys: currencyCode, description, amountLimit. Path corrected 2026-09-09 per Clink operator: POST /agent/cwallet/instructions (was /agent/cwallet/customer/instruction, which 404s).
Get a VIC spending instruction by ID (ins_*). Use to verify an instruction is ACTIVE before pinning or reusing it; PENDING is never usable. Path aligned 2026-09-09 to corrected instruction base /agent/cwallet/instructions per Clink operator (create path confirmed; list/get alignment pending live verification behind wallet gate).
List VIC spending instructions for the customer; the reuse-before-create check for recurring flows. Pass empty strings to skip filters. Path aligned 2026-09-09 to corrected instruction base /agent/cwallet/instructions per Clink operator (create path confirmed; list/get alignment pending live verification behind wallet gate).
List all payment methods bound to the customer wallet, with instrument IDs (pi_*) for charges. bindingToken comes from the fragment after # in a Clink_CustomerCardBindingLink URL and is sent in the binding-token header, matching the other card tools.
Direct charge against a saved card using merchant ID, amount, currency. Moves real money - run only behind explicit user authorization for the exact target and amount. If 3DS is required a redirectUrl is returned for the user's browser.
Charge using a pre-created payment session ID. If 3DS is required a redirectUrl is returned for the user's browser; completion is proven by Clink_CustomerEventsPoll. Moves real money - run only behind explicit user authorization for the exact target and amount.
Create a refund for a completed order. Returns refund details including status; follow up with Clink_CustomerRefundGet. Run only behind explicit user authorization.
Get details and status of a specific refund by refund ID (rfd_*). Read-only.
Get the customer wallet's risk rules (single recharge limit, daily limit, frequency controls). Read-only; check before proposing large charges.
Fetch Clink's public list of onboarded UCP merchants (.well-known/ucp-merchants.json). Feed a merchant id into Clink_SearchMerchantCatalog or the InternalUcpCheckout tools. Anonymous, read-only.
Get full detail for one product in a merchant's catalog; body key id = productId from Clink_SearchMerchantCatalog. Anonymous POST with Request-Id tracing header. NOTE: merchants without an exposed catalog return catalog_not_supported - not a tool failure.
Get a time-limited download ticket (downloadUrl, expireSeconds, fileName, sizeBytes, optional skillId) for a marketplace skill. Anonymous read-only. publisher and skillName come from Clink_SearchPublicSkills rows; empty versionNo means latest.
Cancel an internal UCP checkout session (sets status to cancelled). No body required.
Complete (charge) an internal UCP checkout session in ready_for_complete status; instrument ID is constructed as customerId#paymentInstrumentId. Moves real money - run only behind explicit user authorization for the exact target and amount.
Create an internal UCP checkout session scoped to a merchantId (from Clink_GetInternalUcpMerchants). Body mirrors the external create (merchant_url, minor-unit line_items, canonical buyer JSON). Returns a chk_* ID; create is reversible - cancel with Clink_InternalUcpCheckoutCancel.
Read the status of an internal UCP checkout session (ready_for_complete, complete_in_progress, complete, cancelled) scoped to a merchant. Read-only.
Search one merchant's product catalog by merchantId (from Clink_GetInternalUcpMerchants). Anonymous POST with a Request-Id tracing header. Returns matching products; pass a product id to Clink_GetMerchantCatalogProduct. NOTE: merchants without an exposed catalog return catalog_not_supported - not a tool failure.
List public skills in the Clink marketplace (anonymous, no wallet contact). Rows carry id, publisher, name, category, summary, version, verified and the publisher merchantId. Pass a row's merchantId to Clink_TipSkill; pass publisher/skillName to Clink_GetSkillDownloadTicket. Server caps pageSize at 50.
Start a charge that renders a payment QR code (e.g. paymentMethodType ALIPAY); the response carries channelPaymentResponse QR image/content and expiry. Session-mode QR is not covered. Moves real money - run only behind explicit user authorization for the exact amount.
Send a USD tip (1-100) to a marketplace skill publisher via direct card charge. merchantId comes from a Clink_SearchPublicSkills row. Moves real money - run only behind explicit user authorization for the exact amount.
Cancel a UCP external checkout session (chk_*). No body required; sets status to cancelled.
Complete a UCP external checkout session by charging a payment instrument; the session must be ready_for_complete. Moves real money - run only behind explicit user authorization for the exact amount. If 3DS is required, redirect data is returned for the user's browser.
Create a UCP external checkout session from a product or merchant URL (custom domain or .myshopify.com). Clink resolves the merchant; returns a chk_* ID for Get/Complete. Line-item prices use MINOR units (1410 = $14.10). buyerJson must include email; merchants like eats365 may also require first_name/last_name/phone_number in the buyer object. Creating is reversible; completing charges the card.
Get the status of a UCP external checkout session (chk_*): ready_for_complete, complete_in_progress, complete or cancelled. Poll until ready_for_complete before completing.
Update a UCP external checkout session (line_items, buyer, shipping_address, metadata). Send only changed fields as a raw JSON body.
Overview
Customer-side Clink payment app via protocol-injected OAuth Bearer (provider=clink). v2.2.0 — checkout-create tools now carry a canonical buyer JSON object (email + optional first_name/last_name/phone_number) per Clink spec, unblocking merchants like eats365 that require buyer fields beyond email. 35 tools covering: UCP external checkout lifecycle, internal merchant-scoped UCP checkout, broad + merchant catalog search, public skills marketplace (list + download ticket), skill tipping and Alipay QR charge (inactive pending consent), wallet bootstrap, card binding & management, direct/session charges, VIC spending instructions, refunds, events, risk rules. Card-management tools served from agent.clinkbill.com. It gives your AI agent 35 built-in tools, including clink catalog search broad, clink customer bootstrap and clink customer card binding link. Apps are free to equip, and once equipped your AI Mind can use Clink Customer Pay automatically while it works. Clink Customer Pay is currently equipped on 8 Minds.
Frequently asked questions
What is Clink Customer Pay?
Customer-side Clink payment app via protocol-injected OAuth Bearer (provider=clink). v2.2.0 — checkout-create tools now carry a canonical buyer JSON object (email + optional first_name/last_name/phone_number) per Clink spec, unblocking merchants like eats365 that require buyer fields beyond email. 35 tools covering: UCP external checkout lifecycle, internal merchant-scoped UCP checkout, broad + merchant catalog search, public skills marketplace (list + download ticket), skill tipping and Alipay QR charge (inactive pending consent), wallet bootstrap, card binding & management, direct/session charges, VIC spending instructions, refunds, events, risk rules. Card-management tools served from agent.clinkbill.com. It bundles 35 tools your AI agent can call on your behalf.
What can Clink Customer Pay do for my AI agent?
Once equipped, your AI Mind can use Clink Customer Pay to clink catalog search broad, clink customer bootstrap, clink customer card binding link, clink customer card delete and clink customer card detail, and more — without you having to do any of it manually.
How do I connect Clink Customer Pay to my AI Mind?
Open Clink Customer Pay in the Ethoswarm Bazaar and select Equip to add it to one of your AI Minds. Your Mind can then use it automatically. Some apps ask you to authorize access the first time they run.
Is Clink Customer Pay free?
Yes — Clink Customer Pay is free to equip on your AI Mind in the Ethoswarm Bazaar.