1.We are making a request to Apple's GetTransactionInfo api:
request_uri: GET https://api.storekit.itunes.apple.com/inApps/v1/transactions/570xxxxxx152928
request_response_body`
:{"signedTransactionInfo":"eyJh....."}
2.Parse the signedTransactionInfo content returned by the GetTransactionInfo Api
JWSTransactionDecodedPayload:
{
"appAccountToken": "FBACxxxx376",
"bundleId": "com.test.xx",
"currency": "VND",
"environment": "Production",
"inAppOwnershipType": "PURCHASED",
"originalPurchaseDate": 1700369755000,
"originalTransactionId": "57xxxxxx2928",
"price": -1795967296,
"productId": "com.text.xx9",
"purchaseDate": 1700364444000,
"quantity": 1,
"signedDate": 1700364444000,
"storefront": "VNM",
"storefrontId": "123456",
"transactionId": "57xxxxxx2928",
"transactionReason": "PURCHASE",
"type": "Consumable"
}
3. The Apple Api returned an abnormal price: -1,795,967,296.
Personal speculation: The original price of the current order item [com.text.xx9] is 2,499,000 VND, and the Apple Api multiplies the price amount by 1000, resulting in a final amount of 2,499,000,000. However, due to an overflow issue in the length of the price amount, the price in the order details becomes -1,795,967,296, a negative number.
Appstore api doc:
GetTransactionInfo Api docGet Transaction Info | Apple Developer Documentation
JWSTransactionDecodedPayload doc:JWSTransactionDecodedPayload | Apple Developer Documentation