Hello,
Yes. When we do a fresh purchase and once it successful from the app, we get a receipt/purchase token and we push the details to our backend and using the sandbox api ('https://sandbox.itunes.apple.com/verifyReceipt'), our backend systems do a receipt validation (server side validation) and update in our database.
The same process we follow when doing upgrade/downgrade of the product using the app. We pass the receipt/purchase token to our backend but when they do a similar receipt validation, we are not getting a pending response. That usually takes 45 mins to 2 hours and only after that , it gets reflected in the latest_receipt_info block. Shared example below.
{"environment": "Sandbox",
"receipt": {},
"latest_receipt_info": [],
"pending_renewal_info": [
{
"auto_renew_product_id": "stage_product1_yearly",
"product_id": "stage_product1_yearly",
"original_transaction_id": "2000000197882635",
"auto_renew_status": "1"
}
]
}