Flux Mobile (App ZYKAY)
Le loader v4 gère automatiquement les flux mobile et desktop.
Comportement v4
- Mobile: bouton "Ouvrir ZYKAY" (deep link / universal link)
- Desktop: QR code à scanner depuis l'app mobile
- Retour succès: redirection vers
data-success-path#grant_code=...
Intégration minimale
<script src="https://widget-app.zykay.com/v4/loader.min.js"
data-partner-id="pk_live_xxx"
data-success-path="/verified"
data-scopes="isAdult"></script>Aucun endpoint /launch ni URL /frame n'est requis en v4.
Traitement du retour
const hash = new URLSearchParams(window.location.hash.slice(1));
const grantCode = hash.get('grant_code');
if (grantCode) {
await fetch('/api/zykay/exchange', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ grant_code: grantCode }),
});
}Mode server-verify (optionnel)
Si vous voulez attendre une confirmation backend avant déverrouillage UI:
<script src="https://widget-app.zykay.com/v4/loader.min.js"
data-partner-id="pk_live_xxx"
data-success-path="/verified"
data-server-verify="true"
data-server-verify-endpoint="/api/zykay/server-verify"
data-server-verify-timeout="30"></script>Contrat complet (events, endpoint attendu, timeout): Mode Server-Verify
Problèmes fréquents
- L'app ne s'ouvre pas:
- vérifier installation de l'app ZYKAY
- vérifier que le lien n'est pas bloqué par un navigateur interne
- L'utilisateur revient mais rien ne se passe:
- vérifier lecture du
grant_codedanswindow.location.hash - vérifier appel backend
/api/zykay/exchange
- Retour avec query
?grant_code=:
- encore toléré temporairement, mais migrer vers le fragment
#grant_code=
Le fragment URL évite la propagation du grant_code dans les headers Referer.