[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70FFAQFVPWMN7BRY7XKDYCV":3,"skill-same:01M70FFAQFVPWMN7BRY7XKDYCV":51},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":14,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M70FFAQFVPWMN7BRY7XKDYCV","subscriptions",null,"Work with Revolut Subscriptions API — plans, subscriptions, billing cycles","isap-ou\u002Flaravel-cashier-revolut","isap-ou","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F156415959?v=4","01M70FF3WW9TE0F7QJ3C2NSNA6","ISAPP","01M70FF3XGRYPYBFQFVX1SHFYR",0,"MIT","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsubscriptions\u002FSKILL.md",[],[5,19,20,21,22,23,24],"api","work","revolut","plans","billing","with","2026-11-10 10:12:30",false,"---\ndescription: Work with Revolut Subscriptions API — plans, subscriptions, billing cycles\n---\n\n# Subscriptions\n\nRevolut has a native Subscriptions API with a plan-based model.\n\n## Endpoints\n\n- **Plans**: `POST\u002FGET \u002Fapi\u002Fsubscription-plans` — plan contains variations (e.g. monthly\u002Fyearly), each with phases\n- **Subscriptions**: `POST\u002FGET\u002FPATCH \u002Fapi\u002Fsubscriptions`, `POST ...\u002Fcancel`, `POST ...\u002Fchange-plan`\n- **Billing Cycles**: `GET \u002Fapi\u002Fsubscriptions\u002F{id}\u002Fcycles`\n\n## Key differences from Stripe\n\n- Plan-based (plan → variation → phases) vs Stripe's price-based model\n- No native pause\u002Fresume endpoints (`paused` state exists but no API trigger)\n- Swap exists, but as a **command**, not a field: `POST \u002Fapi\u002Fsubscriptions\u002F{id}\u002Fchange-plan`.\n  It is scheduled `at_cycle_end` (the only accepted value) — deferred, never\n  prorated, and a trial on the target variation is skipped. Do NOT simulate it\n  with cancel + create.\n- `PATCH` update limited to `external_reference` only\n- Trial via `trial_duration` (ISO 8601, e.g. `P14D`) on plan or subscription level\n\n## Webhook events\n\n`SUBSCRIPTION_INITIATED`, `SUBSCRIPTION_FINISHED`, `SUBSCRIPTION_CANCELLED`, `SUBSCRIPTION_OVERDUE`\n\n## Statuses\n\n`pending`, `active`, `overdue`, `paused`, `cancelled`, `finished`","# Subscriptions\n\nRevolut has a native Subscriptions API with a plan-based model.\n\n## Endpoints\n\n- **Plans**: `POST\u002FGET \u002Fapi\u002Fsubscription-plans` — plan contains variations (e.g. monthly\u002Fyearly), each with phases\n- **Subscriptions**: `POST\u002FGET\u002FPATCH \u002Fapi\u002Fsubscriptions`, `POST ...\u002Fcancel`, `POST ...\u002Fchange-plan`\n- **Billing Cycles**: `GET \u002Fapi\u002Fsubscriptions\u002F{id}\u002Fcycles`\n\n## Key differences from Stripe\n\n- Plan-based (plan → variation → phases) vs Stripe's price-based model\n- No native pause\u002Fresume endpoints (`paused` state exists but no API trigger)\n- Swap exists, but as a **command**, not a field: `POST \u002Fapi\u002Fsubscriptions\u002F{id}\u002Fchange-plan`.\n  It is scheduled `at_cycle_end` (the only accepted value) — deferred, never\n  prorated, and a trial on the target variation is skipped. Do NOT simulate it\n  with cancel + create.\n- `PATCH` update limited to `external_reference` only\n- Trial via `trial_duration` (ISO 8601, e.g. `P14D`) on plan or subscription level\n\n## Webhook events\n\n`SUBSCRIPTION_INITIATED`, `SUBSCRIPTION_FINISHED`, `SUBSCRIPTION_CANCELLED`, `SUBSCRIPTION_OVERDUE`\n\n## Statuses\n\n`pending`, `active`, `overdue`, `paused`, `cancelled`, `finished`",{"description":7},"main","fa6952436652f11218a0d1b3c08beb5457ee83ca",".claude\u002Fskills\u002Fsubscriptions","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut","https:\u002F\u002Fgithub.com\u002Fisap-ou","https:\u002F\u002Fisapp.be","2026-07-24 06:17:47",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add isap-ou\u002Flaravel-cashier-revolut --skill subscriptions",{"tool":43,"command":44},"bunx","bunx skills add isap-ou\u002Flaravel-cashier-revolut --skill subscriptions",{"tool":46,"command":47},"pnpm","pnpm dlx skills add isap-ou\u002Flaravel-cashier-revolut --skill subscriptions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsubscriptions\u002FSKILL.md",true,[],[52,60,71,89,105],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":25},"01M70FFBWNPT7SH1PT13C3RRN4","webhook","Handle Revolut webhook events","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwebhook\u002FSKILL.md",[],[54,59,21],"events",{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":25},"01M70FF9WT5HABRX31EAS5XMVA","migration","Create or modify database migrations","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fmigration\u002FSKILL.md",[],[62,67,68,69,70],"database","migrations","database migrations","create",{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":25},"01M70FF8TEH4V3WAMDRTK0GJVW","implement-contract","Implement a contract (interface) from isapp\u002Flaravel-cashier-support","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fimplement-contract\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,85,86,87,88],"contract","implement contract","implement","laravel","support","interface",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":25},"01M70FF7X6B3ZKD9X7A0ZKG3FX","check","Run quality checks — tests, static analysis, code style","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcheck\u002FSKILL.md",[],[91,96,97,98,99,100,101,102,103,104],"code style","quality","code","analysis","static","run","static analysis","style","tests",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":119,"publishedAt":25},"01M70FF6BT4H51PJE5QKVSJHAE","api-request","Make an HTTP request to the Revolut Merchant API via RevolutClient","https:\u002F\u002Fgithub.com\u002Fisap-ou\u002Flaravel-cashier-revolut\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fapi-request\u002FSKILL.md",[111,116],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000030","开发工程师",[120,19,121,122,123,124,125,126,21],"api request","request","make","http request","via","merchant","http"]