Starting with AppsFlyer's iOS SDK version 126.96.36.199, you can perform receipt validation for in-app purchases in the App Store.
Receipt Validation Flow
The Receipt Validation flow is as follows:
1. User performs an in-app purchase
2. Apple store responds with success or fail (authentication)
3. Developer calls the SDK Receipt Validation function (validateAndTrackInAppPurchase) with receipt data
4. The SDK calls AppsFlyer's validation service with the receipt data
5. AppsFlyer's validation service validates the transaction with Apple's servers
6. Apple's servers respond with success or failure
7. AppsFlyer's validation service transfers the response to the SDK
8. The SDK transfers the receipt validation response to the App
For details of the implementation of Receipt Validation, refer to the iOS SDK Integration Guide, here.
Below a sample of a Receipt Validation response:
If you choose to give your purchase event any name other than af_purchase, then this event is duplicated in the reports with the af_purchase name and the name you have given the purchase event. In such cases, your revenue is duplicated. Therefore, it is highly recommended to use af_purchase as your revenue event when using receipt validation.