| The authentication webhook must return "valid" as the status value — not "success". This is a case-sensitive, exact-match requirement. |
Required response format
// Correct:
{
"status": "valid",
"publisherPlayerId": "your-player-id",
"playerName": "Player Name"
}
// Incorrect — will cause "Login Failed":
{
"status": "success",
"publisherPlayerId": "your-player-id"
}
Why "success" doesn't work
Appcharge validates the status field against the exact string "valid". Any other value — including "success", "ok", or "true" — is treated as an authentication failure and the player sees "Login Failed". The HTTP status code being 200 is not sufficient; the response body must also pass validation.
Full required response fields
See the OTP Authentication Webhook documentation for the complete required and optional response schema. Ensure your webhook response body matches the documented format exactly.