SDKs and their status
The same methods and events on every platform: configure, openStore, purchase(sku), handle(url), onPurchaseCompleted, onPurchaseCanceled, onPurchaseFailed, onStoreClosed.
| SDK | Location | Verified on 2026-10-24 (updated after the toolchain install) |
|---|---|---|
| Web / JS | sdks/web (appside/web) | Unit tests + real-browser journey (Orbit Quest uses it: openStore, purchase, return, 40/40 E2E) |
| Node server | sdks/node (appside/node) | Unit tests; getOrder matched the signed webhook in the browser E2E |
| Python server | sdks/python | Unit test (ES256 signature, webhook tamper/age rejection, getOrder) |
| iOS (Swift Package) | sdks/ios | Core compiled with swiftc and smoke-tested (launch, purchase, result, replay and live rejection). Not yet: swift test / iOS UI build (needs Xcode) |
| React Native | sdks/react-native | JS bridge tests. Native host: source only |
| Android (Kotlin) | sdks/android | Builds with Gradle (JDK 17, Android SDK 35), 12 JUnit tests pass, release AAR produced. Not yet: on-device integration test |
| Unity (UPM) | sdks/unity | Source only, not compiled (no Unity yet) |
| Flutter | sdks/flutter | flutter analyze clean, 12 tests pass (Flutter 3.47). Not yet: native host build on a device |
PurchaseResult is { status, orderId, state, verified: false } everywhere: a UI hint. Grant items only from the webhook or getOrder.
This table is updated from each SDK's own tests on every release. "Preview source" means the code is written but hasn't been compiled and tested on that platform yet.