Overview
Note: View the Player Order Reporting Webhook in the API reference page.
The Player Order Reporting Webhook is a real-time notification system provided by Appcharge. Each time a player completes a purchase, Appcharge processes the transaction and sends a detailed update to the publisher’s server. All financial calculations related to the transaction, such as payment amounts and taxes, are reported via this webhook, helping publishers track transactions, manage purchases, and maintain synchronized data across platforms.
Webhook Configuration
The webhook URL will be configured in Appcharge’s management dashboard. For setup instructions, refer to the Integration Settings Guide.
Transaction Alignment
- Publishers should use
orderId
to create a 1-to-1 transaction alignment with their transaction. - Appcharge will create a 1-to-1 transaction alignment with the returned
publisherPurchaseId
. - The publisher must provide a successful response with their transaction ID. Idempotency is required to ensure correct processing and avoid duplication.
Player Interaction Flow
- After a player completes a purchase, all relevant transaction details are reported via the webhook.
- The player will only see the success screen after receiving a successful response from the server.
- The success screen includes a deep link that redirects players back to the game, allowing them to view the purchase details and complete the cycle.
Retry Mechanism
In case the publisher returns an invalid field response, Appcharge will retry sending the webhook notification up to 6 times over a period of 1 minute to ensure the request is successfully delivered.
Free Orders
Free orders, such as those related to daily bonuses, are also tracked. For these orders, all financial information is nullified (set to 0).
The webhook update sent to the publisher will include the following transaction details for free orders:
- purchaseDateAndTimeUtc: Timestamp when the bonus was awarded (in UTC).
- action: Type of the offer (e.g., purchase or bonus).
- subType: Subtype of the offer (e.g., bonus, rolling offer).
- bundleName: Name of the specific offer.
- products: Array representing the sequence of products that were part of the offer.
- priceInDollar: For free orders, this displays as '0' (indicating no charge).
- playerId: Identifier for the player who received the bonus.
- externalTransactionId: External identifier for the transaction.
- actionStatus:
- completed: Awarding process completed successfully.
- failed: Awarding process failed.
Updated 6 days ago