Passing Fraud Prevention Signals
You can provide Neon with additional player account and behavioral signals through the metadata field when creating a checkout. These gaming-specific signals help Neon evaluate transactions and improve fraud detection.
For more information about how Neon handles fraud prevention, see Fraud Prevention.
Supported Fraud Signals
The fraudMetadata object contains a customer object with the following supported fields. IP-related fields are nested under customer.latestLoginIp.
| Field | Type | Description |
|---|---|---|
creationTime | string (date-time) | null | The time the customer created their account. Example: 2025-03-15T10:30:00Z. |
socialSignOnType | string (enum) | The social sign-in method used by the customer. Supported values: google, apple, facebook, twitter, yahoo, microsoft, wechat, github, linkedin, amazon, other. |
platform | string (enum) | The platform the customer is using. Supported values: web, ios, android, macos, windows, linux, other. |
sessionCount | integer | null | The number of sessions the customer has had in the app. |
levelInApp | integer | null | The customer’s current level in the app. |
followersInApp | integer | null | The number of followers the customer has in the app. |
isOnLatestAppVersion | boolean | null | Whether the customer is using the latest version of the app. |
hasLinkedSocialAccount | boolean | null | Whether the customer has linked a social account in the app. |
finishedGameSetup | boolean | null | Whether the customer has completed the initial game setup. |
isKnownUser | boolean | null | Whether the customer is a known user in the app. |
latestLoginIp.ipAddress | string | null | The IP address from which the customer last logged in. |
latestLoginIp.country | string | null | The country associated with the IP address (ISO 3166-1 code). |
latestLoginIp.city | string | null | The city associated with the IP address. |
latestLoginIp.region | string | null | The region associated with the IP address. |
Passing Fraud Signals When Creating a Checkout
Include the fraudMetadata object in your request to the Create Checkout API.
The following example demonstrates how to pass fraud prevention signals when creating a Checkout.
{
"accountId": "player_12345",
"accountDisplayName": "Player123",
"currency": "USD",
"playerCountry": "US",
"successUrl": "https://example.com/success",
"cancelUrl": "https://example.com/cancel",
"items": [
{
"sku": "premium_bundle",
"name": "Premium Bundle",
"quantity": 1,
"price": 999
}
],
//....
"fraudMetadata": {
"customer": {
"creationTime": "2025-03-15T10:30:00Z",
"socialSignOnType": "google",
"platform": "ios",
"sessionCount": 245,
"levelInApp": 42,
"followersInApp": 18,
"isOnLatestAppVersion": true,
"hasLinkedSocialAccount": true,
"finishedGameSetup": true,
"isKnownUser": true,
"latestLoginIp": {
"ipAddress": "203.0.113.10",
"country": "US",
"city": "San Francisco",
"region": "California"
}
}
}
}This example demonstrates the fraudMetadata structure alongside common checkout parameters. Additional fields for checkout may be required depending on your integration.
We recommend providing all available fraud prevention signals and keeping the information accurate and up to date.
Updated about 2 hours ago

