passkit — Claude Code skill: Apple Pay and Wallet
A PassKit skill that walks through Apple Pay buttons, payment requests and Wallet passes, and keeps the merchant setup in order.
npx skills add dpearson2699/swift-ios-skills --skill passkit -a claude-codeWhat passkit does
The skill covers an Apple Pay checkout on Swift from the first line to the token: the button, a PKPaymentRequest carrying the cart lines, presenting the sheet with PKPaymentAuthorizationController, then handing the result to your server. It is written against Swift 6.3 and iOS 26+. SwiftUI gets PayWithApplePayButton; UIKit gets PKPaymentButton. A custom control dressed up with the Apple Pay mark is out.
Setup comes before any code. Turn on the Apple Pay capability in Xcode, register a Merchant ID such as merchant.com.example.app in the Apple Developer portal, issue a Payment Processing Certificate, add the ID to entitlements. Skip the certificate and authorization fails.
One limit worth knowing up front: a single request holds one advanced mode only, be it recurring billing, automatic reload, deferred payment, Apple Pay Later eligibility or multi-token contexts. Two modes in one checkout means two requests. Amounts go in as NSDecimalNumber, never Double, and the last entry of paymentSummaryItems is what the sheet reads as the total.
What it helps with
- add an Apple Pay button to a SwiftUI checkout screen
- build a
PKPaymentRequestwith line items and a final total - collect a shipping address and email inside the payment sheet
- register a merchant ID and payment processing certificate
- surface a Wallet pass with
PKAddPassesViewController
Example prompts for the agent
- Add an Apple Pay buy button to the checkout view with
PayWithApplePayButton. - Build a
PKPaymentRequestwith standard and express shipping methods. - Keep a strong reference to the
PKPaymentAuthorizationControllerso the sheet stays up.
How to install passkit
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill passkit -a claude-code2Manually: put the files in place
~/.claude/skills/passkit/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/passkit/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill passkit -a codex2Manually: put the files in place
.agents/skills/passkit/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill passkit -a cursor2Manually: put the files in place
.cursor/skills/passkit/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills passkit2Manually: put the files in place
.github/skills/passkit/SKILL.md1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill passkit -a gemini-cli2Platform CLI
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/passkitManually: put the files in place
.devin/skills/passkit/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill passkit -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about passkit
How do I install passkit in Claude Code?
Run npx skills add dpearson2699/swift-ios-skills --skill passkit -a claude-code. The skill file then sits at ~/.claude/skills/passkit/SKILL.md.
What does passkit do?
It explains Apple Pay checkout and Wallet passes in Swift: the button, the payment request, the sheet, authorization and merchant configuration.
Does passkit need a real merchant ID?
Yes. A Merchant ID from the Apple Developer portal plus a Payment Processing Certificate go into entitlements first, otherwise payment authorization cannot complete.