Invoisio supports these HTTPS entry points (the custom invoisio:// scheme is
retained for backwards compatibility):
| URL | Mobile destination | Browser fallback |
|---|---|---|
https://invoisio.com/payment/:id |
Public payment screen | /pay/:id |
https://invoisio.com/pay/:id |
Public payment screen | /pay/:id |
https://invoisio.com/invoice/:id |
Authenticated invoice details | /invoices/:id |
https://invoisio.com/receipt/:id |
Public receipt | /invoices/:id |
Only HTTPS links on invoisio.com and the invoisio custom scheme are accepted
by the app parser. IDs and query values are URL-decoded before navigation.
The website serves both verification documents from /.well-known. Configure
these variables in the production web deployment before releasing the app:
IOS_APP_TEAM_ID: the 10-character Apple Developer Team ID used to signcom.invoisio.mobile.ANDROID_APP_SHA256_FINGERPRINT: the SHA-256 fingerprint of the Android production signing certificate. Multiple fingerprints (for example Play App Signing and an internal build) may be supplied as a comma-separated list.
The files must be available over HTTPS, without authentication or redirects:
https://invoisio.com/.well-known/apple-app-site-association
https://invoisio.com/.well-known/assetlinks.json
Both endpoints deliberately return 503 when their signing values are absent,
instead of publishing a verification document that can never match a release.
After changing either document, reinstall the app because both operating
systems cache domain association results.
The Expo config declares the iOS associated domains entitlement and verified Android intent filters. A new native binary is required after changing those settings; Expo Go cannot verify an app-owned domain.
Use a signed development/production build on physical devices. Replace 123
with a reachable invoice ID.
- Force-quit the app, open each supported HTTPS URL from Mail or Notes, and confirm payment, invoice, and receipt land on their corresponding screens.
- Leave the app foregrounded, open each link again, and confirm navigation happens without restarting the process.
- Sign out and open a payment and receipt link; both remain public. Open an invoice link, sign in, and confirm the queued invoice opens afterward.
- Uninstall the app and repeat; the same URLs must reach their documented web fallbacks.
Useful Android diagnostics:
adb shell pm verify-app-links --re-verify com.invoisio.mobile
adb shell pm get-app-links com.invoisio.mobile
adb shell am start -a android.intent.action.VIEW -d https://invoisio.com/payment/123For iOS, install the signed build after the AASA endpoint is live, then use a real tappable link (pasting a URL directly into Safari's address bar does not exercise universal-link handoff).