We have 2 apps on the appstore, they both are setup to have auto renewing subscriptions and I have compared them, aside from price, sku and name differences they appear to be setup in the same manner. The problem I am encounting is that one is returning a different structure for latest_receipt_info when utilizing the VerifyReceipt API endpoint.
Our first app returns:
"latest_receipt_info":{"original_purchase_date_pst":"2022-01-01 12:54:02 America/Los_Angeles", "quantity":"1", "unique_vendor_identifier":"xxx", "bvrs":"42", "expires_date_formatted":"2022-08-01 19:54:01 Etc/GMT", "is_in_intro_offer_period":"false", "purchase_date_ms":"1656705241000", "expires_date_formatted_pst":"2022-08-01 12:54:01 America/Los_Angeles", "is_trial_period":"false", "item_id":"1532749968", "unique_identifier":"00008020-xxx", "original_transaction_id":"100000994429060", "subscription_group_identifier":"00000000", "app_item_id":"0000000000", "transaction_id":"xxxx", "in_app_ownership_type":"PURCHASED", "web_order_line_item_id":"xxxx", "version_external_identifier":"83979xxx7", "purchase_date":"2022-07-01 19:54:01 Etc/GMT", "product_id":"subscription_monthly", "expires_date":"1659383641000", "original_purchase_date":"2022-01-01 20:54:02 Etc/GMT", "purchase_date_pst":"2022-07-01 12:54:01 America/Los_Angeles", "bid":"com.hittraxbaseball.StatsCenter", "original_purchase_date_ms":"1641070442000"}
And our newer app (released in May) returns:
"latest_receipt_info":[ {"quantity":"1", "product_id":"r_monthly", "transaction_id":"xxxxx", "original_transaction_id":"500xxxx", "purchase_date":"2022-06-03 03:24:39 Etc/GMT", "purchase_date_ms":"1654226679000", "purchase_date_pst":"2022-06-02 20:24:39 America/Los_Angeles", "original_purchase_date":"2022-06-03 03:24:40 Etc/GMT", "original_purchase_date_ms":"1654226680000", "original_purchase_date_pst":"2022-06-02 20:24:40 America/Los_Angeles", "expires_date":"2022-07-03 03:24:39 Etc/GMT", "expires_date_ms":"1656818679000", "expires_date_pst":"2022-07-02 20:24:39 America/Los_Angeles", "web_order_line_item_id":"xxxx", "is_trial_period":"false", "is_in_intro_offer_period":"false", "in_app_ownership_type":"PURCHASED", "subscription_group_identifier":"209xxxx"}]
It also contains pending_renewal_info which our old app receipts do not include.
Can anyone tell me why we are getting different response structures? Our processing code was originally built to handle the first app's receipt structure and is now bombing because this alternative receipt structure is so different.