# Send Paddle 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. 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. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "paddle",
    "name": "Paddle",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ivangdavila/paddle",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/paddle",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/paddle",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=paddle",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "api.md",
      "memory-template.md",
      "setup.md",
      "webhooks.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "paddle",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T23:32:35.974Z",
      "expiresAt": "2026-05-07T23:32:35.974Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=paddle",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=paddle",
        "contentDisposition": "attachment; filename=\"paddle-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "paddle"
      },
      "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/paddle"
    },
    "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/paddle",
    "downloadUrl": "https://openagent3.xyz/downloads/paddle",
    "agentUrl": "https://openagent3.xyz/skills/paddle/agent",
    "manifestUrl": "https://openagent3.xyz/skills/paddle/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/paddle/agent.md"
  }
}
```
## Documentation

### Setup

On first use, read setup.md for integration guidelines.

### When to Use

User needs to integrate Paddle for SaaS payments. Agent handles API calls, webhook verification, checkout setup, subscription management, and tax compliance configuration.

### Architecture

Memory lives in ~/paddle/. See memory-template.md for structure.

~/paddle/
├── memory.md     # API keys, environment, product IDs
└── webhooks.md   # Webhook endpoints and event handling

### Quick Reference

TopicFileSetup processsetup.mdMemory templatememory-template.mdAPI endpointsapi.mdWebhook handlingwebhooks.md

### 1. Always Use Sandbox First

Test ALL integrations in sandbox before production
Sandbox API: https://sandbox-api.paddle.com
Production API: https://api.paddle.com
Never skip sandbox testing for payment flows

### 2. Verify Webhook Signatures

Every webhook MUST be verified before processing
Use the webhook secret from Paddle dashboard
Reject requests with invalid signatures immediately
Log failed verifications for debugging

### 3. Handle Subscription States Correctly

StateMeaningActionactivePaying customerGrant accesstrialingIn trial periodGrant access, remind before endpast_duePayment failedRetry period, warn userpausedUser pausedRestrict access, allow resumecanceledSubscription endedRevoke access at period end

### 4. Store Paddle IDs Correctly

customer_id (ctm_xxx) — unique per customer
subscription_id (sub_xxx) — unique per subscription
transaction_id (txn_xxx) — unique per payment
price_id (pri_xxx) — your pricing configuration
Map these to your internal user/subscription records

### 5. Use Paddle Retain for Dunning

Enable Paddle Retain in dashboard for failed payments
It handles retry logic and customer communication
Track subscription.past_due events but let Paddle retry first
Only take action after subscription.canceled from failed payments

### Common Traps

Hardcoding price IDs → Use environment variables, prices change between sandbox/production
Processing webhooks without verification → Security vulnerability, anyone can fake events
Ignoring past_due state → User loses access during retry window, bad UX
Not handling proration → Confusing charges when users upgrade/downgrade mid-cycle
Testing with production keys → Real charges, angry customers, refund headaches

### External Endpoints

EndpointData SentPurposehttps://api.paddle.comCustomer data, subscription infoPayment processinghttps://sandbox-api.paddle.comTest customer dataSandbox testing

No other data is sent externally.

### Security & Privacy

Data that leaves your machine:

Customer email and name sent to Paddle for billing
Payment amounts and subscription details
IP addresses for tax calculation

Data that stays local:

API keys stored in environment variables
Webhook secrets never logged
Internal user mappings

This skill does NOT:

Store credit card numbers (Paddle handles PCI compliance)
Access payment methods directly
Share customer data with third parties beyond Paddle

### Trust

By using this skill, customer and payment data is sent to Paddle.
Only install if you trust Paddle with your billing data.

### Related Skills

Install with clawhub install <slug> if user confirms:

billing — General billing patterns
payments — Payment processing
subscriptions — Subscription management

### Feedback

If useful: clawhub star paddle
Stay updated: clawhub sync
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ivangdavila
- Version: 1.0.0
## 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-04-30T23:32:35.974Z
- Expires at: 2026-05-07T23:32:35.974Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/paddle)
- [Send to Agent page](https://openagent3.xyz/skills/paddle/agent)
- [JSON manifest](https://openagent3.xyz/skills/paddle/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/paddle/agent.md)
- [Download page](https://openagent3.xyz/downloads/paddle)