Terms of Service (Unity SDK)

Users need to agree to Tilia’s most recent version of the Terms of Service before they can complete a purchase. All flows will present ToS to the user if they do not have the current version signed. However, we recommend presenting ToS to users during your registration process by calling the ToS flow.

Unity ToS

Prerequisites

  • Authorized User Password Token (A User Password Token is a string that enables Tilia Pay to verify that a request belongs to an authorized session)
note

All methods and flows in the Tilia SDK require you to have a server setup that communicates with Tilia’s APIs (your server will have a private api key which needs to remain secure and should never be exposed to client-side applications). Your client application should communicate with your own api (ensuring user authentication) to retrieve data required by the Tilia SDK.

Server-Side Code Example to Retrieve User Access Token

  • Requires your server to retrieve a client credentials access token. See more here .
  • Requires an account id for a user that has been registered with Tilia. See more here .
Copy
Copied
curl -i -X POST \
  https://auth.staging.tilia-inc.com/authorize/user \
  -H 'Authorization: Bearer <CLIENT_CREDENTIALS_ACCESS_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "account_id": "<USER_ACCOUNT_ID_HERE>",
    "return_token": true,
  }'

Example Responce Payload

Copy
Copied
{
    "status": "Success",
    "message": [],
    "codes": [],
    "payload": {
        "token": {
            "access_token": "USER_PASSWORD_TOKEN",
            "token_type": "Bearer",
            "refresh_token": "REFRESH_TOKEN",
            "expiry": "TOKEN_EXPIRATION"
        }
    }
}

Your api should return the access_token to your client application to use in the Tilia SDK. For more information on the /authorize/user endpoint go here

C# Code Example

This code snippet is an example of how to execute the ToS Flow from inside your own code.

  • This example assumes that your code contains a variable called TiliaManager that is a valid reference to a TiliaUIManager class that is active in your Unity scene (part of the standard Tilia Canvas Group).
  • TiliaUIMessages.Message is a static function that assumes you have the TiliaUIMessages class active in your Unity scene (part of the standard Tilia Canvas Group).
Copy
Copied
public void DoTOSFlow()
{
    TiliaManager.TermsOfServiceFlow(
    (result) => {
        // Signed
        // result is a TiliaEvent class
        TiliaUIMessages.Message("The user has signed the TOS.");
    },
    (result) => {
        // Canceled
        // result is a TiliaEvent class
        TiliaUIMessages.Message("The user canceled the TOS flow.");
    },
    (result) => {
        // Error
		// result is a TiliaEvent class
        // result.Payload is an object of TiliaResponse type which includes API error data such as the web server response code and any API specific messages.
        TiliaUIMessages.Message("There was an error while attempting to execute TOS flow.");
    });
}

CheckTOS Function

All other flows require users to agree to the Terms of Service if they have not yet. If users have not agreed to ToS, other flows will prompt users to agree to ToS before they can proceed. You can also employ the CheckTOS Function, to check their ToS status.

Example

Copy
Copied
TiliaReturnCode CheckTOS(Action onComplete, TiliaToken authToken = null)
  • onComplete: Action callback event. Callback happens on both success and failure.
  • authToken: Optional authentication token to use. If not specified, will default to SDK global auth token.