Skip to main content
Version: v4

API Reference

Important Notes

Initialization Requirement

You must successfully call TapSDK_Init before calling any Compliance API. Calling compliance functions without initialization or after initialization failure will return errors or unexpected results.

String Encoding

All string parameters (char*) accepted and returned by Compliance APIs are UTF-8 encoded. Convert as needed for your project.

Data Type Definitions

Enum Types

TapComplianceActionType

UI action type for anti-addiction notifications:

enum {
TapComplianceActionType_None = 0, // No action
TapComplianceActionType_Toast = 1, // Show a Toast message
TapComplianceActionType_Alert = 2, // Show an alert dialog
TapComplianceActionType_Exit = 3, // Must exit the game
};
typedef uint32_t TapComplianceActionType;

TapComplianceRealNameStatus

Real-name verification result status:

enum {
TapComplianceRealNameStatus_None = 0, // Unknown status
TapComplianceRealNameStatus_Success = 1, // Verification succeeded
TapComplianceRealNameStatus_Canceled = 2, // User canceled verification
TapComplianceRealNameStatus_Failed = 3, // Verification failed
};
typedef uint32_t TapComplianceRealNameStatus;

Struct Types

Byte Alignment

All struct types used by the compliance module use 8-byte alignment: #pragma pack(push, 8).

TapComplianceAction

A single anti-addiction UI action:

typedef struct {
TapComplianceActionType action_type; // UI action type
const char* title; // Title
const char* description; // Description
uint32_t display_duration_seconds; // Display duration in seconds
} TapComplianceAction;

TapComplianceActionsEvent

Anti-addiction notification event; the data type for the ComplianceActionsEvent callback:

typedef struct {
uint32_t count;
const TapComplianceAction* actions;
} TapComplianceActionsEvent;

TapComplianceEnsureRealNameResponse

Real-name verification result; the data type for the ComplianceEnsureRealName callback:

typedef struct {
int64_t request_id; // Request ID; echoes the value passed by the caller
const TapSDK_Error* error; // Error info. NULL = success; non-NULL = failure
TapComplianceRealNameStatus status; // Verification status
} TapComplianceEnsureRealNameResponse;

TapComplianceCheckPaymentLimitRequest

Payment limit check request:

typedef struct {
uint32_t amount; // Payment amount in fen (e.g. 64800 = ¥648)
} TapComplianceCheckPaymentLimitRequest;

TapComplianceCheckPaymentLimitResponse

Payment limit check response:

typedef struct {
bool allow; // Whether payment is allowed
char title[256]; // Title to display when payment is not allowed
char description[4096]; // Description to display when payment is not allowed
} TapComplianceCheckPaymentLimitResponse;

TapComplianceSubmitPaymentRequest

Payment report request:

typedef struct {
uint32_t amount; // Payment amount in fen (e.g. 64800 = ¥648)
} TapComplianceSubmitPaymentRequest;

API Functions

TapCompliance

Get the compliance interface singleton.

ITapCompliance* TapCompliance();

Return value: The compliance interface singleton, passed as the self parameter to other compliance APIs.

TapCompliance_AsyncEnsureRealName

Start an async real-name verification request. If the user has not verified, TapTap will show the verification UI.

TapSDK_Result TapCompliance_AsyncEnsureRealName(
ITapCompliance* self,
int64_t request_id
);

Parameters:

  • self: Compliance singleton returned by TapCompliance()
  • request_id: Developer-generated request ID; echoed in the callback to match the original request

Return value:

  • TapSDK_Result_OK: Request started successfully; result is returned via the ComplianceEnsureRealName event callback
  • Other values: Request failed to start; no callback will be invoked

TapCompliance_EnableAntiAddiction

Start the anti-addiction check. Must be called after TapCompliance_AsyncEnsureRealName succeeds (TapComplianceRealNameStatus_Success).

TapSDK_Result TapCompliance_EnableAntiAddiction(
ITapCompliance* self
);

Parameters:

  • self: Compliance singleton returned by TapCompliance()

Return value:

  • TapSDK_Result_OK: Anti-addiction check started; subsequent notifications are returned via the ComplianceActionsEvent event callback
  • Other values: Failed to start; no callback will be invoked

TapCompliance_CheckPaymentLimit

Check the payment limit (synchronous). Must be called after TapCompliance_EnableAntiAddiction has completed.

TapSDK_Result TapCompliance_CheckPaymentLimit(
ITapCompliance* self,
const TapComplianceCheckPaymentLimitRequest* request,
TapComplianceCheckPaymentLimitResponse* response
);

Parameters:

  • self: Compliance singleton returned by TapCompliance()
  • request: Payment limit check request
  • response: Payment limit check response (out parameter)

Return value:

  • TapSDK_Result_OK: Request succeeded; result is written to response
  • Other values: Request failed

TapCompliance_SubmitPayment

Report the payment amount (synchronous). Should be called after the user completes a successful payment.

TapSDK_Result TapCompliance_SubmitPayment(
ITapCompliance* self,
const TapComplianceSubmitPaymentRequest* request
);

Parameters:

  • self: Compliance singleton returned by TapCompliance()
  • request: Payment report request

Return value:

  • TapSDK_Result_OK: Report succeeded
  • Other values: Report failed