Events and errors
What the SDK tells your app as a journey or call goes on, and why it may not start.
Events
Events carry identifiers only. Nothing the customer types or photographs ever reaches your app: it goes to your institution.
| Event | When | Data |
|---|---|---|
| journey.started | The journey's first page is showing | pageId |
| journey.page_changed | The customer reached another page | pageId |
| journey.submitted | The application was submitted | reference — what the customer quotes |
| journey.blocked | Your institution takes no further application from this customer now | — |
| vkyc.joined | The customer joined their video call | — |
| vkyc.ended | The video call is over | — |
On Android compare `event.type` with the `PayMediaEvent.Type` constants; on iOS use `event.kind`. Your listener's `onClosed`, or your delegate's `payMediaDidClose`, is called whenever the customer leaves the SDK's screen.
Errors
The SDK shows no error screen of its own for these. Your app decides what to tell the customer.
| Code | Meaning | What to do |
|---|---|---|
| NETWORK | The journey host could not be reached | Offer to try again |
| SDK_KEY_INVALID | The key is unknown, revoked or for another institution | Check the key in your build; create a new one in Institution Admin |
| SDK_APP_NOT_ALLOWED | This app is not on the environment's allowed list | Allow the app, or check the signing certificate's SHA-256 |
| SDK_DISABLED | New journeys are paused by the kill switch | Tell the customer onboarding in the app is unavailable for now |
| SDK_VERSION_UNSUPPORTED | This SDK version is older than you accept | Ask the customer to update the app, or open the web journey it carries |
| CONFIGURATION | The SDK was not configured, or a link is not on your journey host | Fix the integration |
| UNSUPPORTED | The phone's system software is too old to run the journey securely (Android) | Ask the customer to update their phone's software |
| INTERNAL | Something unexpected | Log it and offer to try again |