> For the complete documentation index, see [llms.txt](https://docs.webtonative.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.webtonative.com/javascript-apis/wallet/wallet-creating-passes.md).

# Wallet Creating Passes

This covers the part that happens **before** you ever call `Wallet.addPasses` — building and signing the pass itself, on your own backend. WebToNative never creates, edits, or signs a pass; it only hands whatever you give it to the OS wallet app. See [Google Wallet / Apple Wallet](/javascript-apis/wallet.md) for the JS API this feeds into.

The setup is different enough per platform that each has its own page:

* [**Google Wallet (Android)**](/javascript-apis/wallet/wallet-creating-passes/wallet-creating-passes-android.md) — Google Wallet Console setup, tester/demo mode, pass classes, and signing the save JWT (via jwt.io for testing, or Node/PHP for production).
* [**Apple Wallet (iOS)**](/javascript-apis/wallet/wallet-creating-passes/wallet-creating-passes-ios.md) — Pass Type ID + certificates in Keychain Access, building a pass bundle from Apple's sample materials, and signing it into a `.pkpass` with the `signpass` tool.
