# Send Zinc Universal Checkout to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "universal-checkout",
    "name": "Zinc Universal Checkout",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/a5huynh/universal-checkout",
    "canonicalUrl": "https://clawhub.ai/a5huynh/universal-checkout",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/universal-checkout",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=universal-checkout",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "references/errors.md",
      "README.md",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "universal-checkout",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-11T13:33:11.404Z",
      "expiresAt": "2026-05-18T13:33:11.404Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=universal-checkout",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=universal-checkout",
        "contentDisposition": "attachment; filename=\"universal-checkout-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "universal-checkout"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/universal-checkout"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/universal-checkout",
    "downloadUrl": "https://openagent3.xyz/downloads/universal-checkout",
    "agentUrl": "https://openagent3.xyz/skills/universal-checkout/agent",
    "manifestUrl": "https://openagent3.xyz/skills/universal-checkout/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/universal-checkout/agent.md"
  }
}
```
## Documentation

### Zinc Orders

Place and manage orders on online retailers through the Zinc API (https://api.zinc.com).

### Prerequisites

ZINC_API_KEY env var must be set. Get one from https://app.zinc.com.

### Authentication

All requests use Bearer token auth:

Authorization: Bearer $ZINC_API_KEY

### Create Order — POST /orders

Place a new order. Orders process asynchronously.

Required fields:

products — array of { url, quantity?, variant? } objects

url: direct product page URL on a supported retailer
quantity: integer (default 1)
variant: array of { label, value } for size/color/etc.


shipping_address — object with first_name, last_name, address_line1, address_line2, city, state (2-letter), postal_code, phone_number, country (ISO alpha-2, e.g. "US")
max_price — integer, maximum price in cents

Optional fields:

idempotency_key — string (max 36 chars) to prevent duplicates
retailer_credentials_id — short ID like zn_acct_XXXXXXXX
metadata — arbitrary key-value object
po_number — purchase order number string

Response: order object with id (UUID), status, items, shipping_address, created_at, tracking_numbers, etc.

Order statuses: pending → in_progress → order_placed | order_failed | cancelled

### List Orders — GET /orders

Returns { orders: [...] } array of order objects.

### Get Order — GET /orders/{id}

Retrieve a single order by UUID.

### Example: Place an Order

curl -X POST https://api.zinc.com/orders \\
  -H "Authorization: Bearer $ZINC_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "products": [{ "url": "https://example.com/product", "quantity": 1 }],
    "max_price": 5000,
    "shipping_address": {
      "first_name": "Jane",
      "last_name": "Doe",
      "address_line1": "123 Main St",
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94105",
      "phone_number": "5551234567",
      "country": "US"
    }
  }'

### Error Handling

See references/errors.md for the full error code reference.

Key points:

HTTP errors return { code, message, details }
Order processing failures appear in webhook/order response as error_type
Common issues: max_price_exceeded, product_out_of_stock, invalid_shipping_address

### Order Status Tracking

Orders process asynchronously and typically take 5–10 minutes. After placing an order:

Schedule a cron job to check the order status ~7 minutes after creation.
Use GET /orders/{id} to poll.
Report the result back to the user in the same channel.
If still pending/in_progress, schedule another check in 5 minutes.

Terminal statuses: order_placed, order_failed, cancelled — stop polling.
Non-terminal: pending, in_progress — schedule another check in 3–5 minutes.

Example cron job (isolated, announce back to the channel):

{
  "name": "zinc-order-check-<short_id>",
  "schedule": { "kind": "at", "at": "<ISO-8601 ~7min from now>" },
  "payload": {
    "kind": "agentTurn",
    "message": "Check Zinc order <order_id> via GET https://api.zinc.com/orders/<order_id>"
  },
  "sessionTarget": "isolated",
  "delivery": {
    "mode": "announce",
    "channel": "<channel>",
    "to": "<channel_id>"
  }
}

### Safety

Always confirm with the user before placing an order (POST /orders). This spends real money.
Reading orders (GET) is always safe.
Validate that max_price is reasonable before submitting.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: a5huynh
- Version: 1.0.1
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-11T13:33:11.404Z
- Expires at: 2026-05-18T13:33:11.404Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/universal-checkout)
- [Send to Agent page](https://openagent3.xyz/skills/universal-checkout/agent)
- [JSON manifest](https://openagent3.xyz/skills/universal-checkout/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/universal-checkout/agent.md)
- [Download page](https://openagent3.xyz/downloads/universal-checkout)