missing unified_receipt in server notifications

We just started receiving server notifications a day ago and detected a number of them missing the unified_receipt field. They're all subscription related notifications and without that field it is not possible to track down which transaction the notification is related to. Is this a bug?

Replies

I suggest you open an issue in Feedback Assistant: https://feedbackassistant.apple.com/

It seems to be a bug. Does it happen in Sandbox or in Production?

Thanks, just sent in a bug report.

FYI it is still happening in our production environment.

  • I can verify also this is happening

Add a Comment

Hello, @crauss77.

Have you been able to find any users whose subscriptions are being affected by this problem? Because it could serve as an additional piece of information for Apple to use when investigating the problem.

And if you have stored the "latest_receipt" of any of their purchases, you could call the verifyReceipt URL to see if, at least, the purchase information that does not arrive as a notification is correctly registered with Apple.

  • I think there is no way to match any user subscription associated because the "latest_receipt" and the "original_transaction_id" fields that we can use to identify the subscription are inside the "unified_receipt". I hope it can be solved soon.

  • @farias, In our database we have stored the latest_receipt values we received from the app inmediately after the first purchase that each user has made. If any user complains about his subscription (probably because of this problem) you could check whether you can obtain the information about that subscription state, to check if has the expected information. And this could be an additional information to attach to the ticket opened in Feedback Assistant, in order to give Apple support an additional clue about the failure.

  • Yes, but what I am trying to say is that the problem with the notifications without 'unified_receipt' object is that we cannot access 'latest_receipt' or 'original_transaction_id' because they are inside the 'unified_receipt'. So we have no way to match this notification to any subscription in our database.

    I'll provide more notification examples affected by this bug into a separated answer.

Add a Comment

Here is a sample of the notification exhibiting this bug, but like farias said there is no way to know which subscriptions are associated.

{ "notification_type": "DID_RENEW", "password": "********************************", "environment": "PROD", "auto_renew_product_id": "***", "auto_renew_status": "true", "bid": "***", "bvrs": "***" }

We have a batch that calls verifyReceipt to ensure subscription validity so this does not present a huge problem for us but I'm sure we'd all like t see this fixed.

  • I added more notification examples in other answer.

Add a Comment

Thanks, just sent in a bug report.

It's been two weeks since I submitted this to the feedback assistant but there's still no response from Apple.

Here are more examples of the complete notification body received affected by this bug, I only filtered some data with [Filtered] keyword:

{
auto_renew_product_id: [Filtered], 
auto_renew_status: true, 
bid: [Filtered], 
bvrs: [Filtered], 
environment: PROD, 
notification_type: INITIAL_BUY, 
password: [Filtered]
}
{
auto_renew_product_id: [Filtered], 
auto_renew_status: false, 
auto_renew_status_change_date: 2021-07-15 14:10:14 Etc/GMT, 
auto_renew_status_change_date_ms: 1626358214000, 
auto_renew_status_change_date_pst: 2021-07-15 07:10:14 America/Los_Angeles, 
bid: [Filtered], 
bvrs: [Filtered], 
environment: PROD, 
notification_type: DID_CHANGE_RENEWAL_STATUS, 
password: [Filtered]
}
{
auto_renew_product_id: [Filtered], 
auto_renew_status: false, 
auto_renew_status_change_date: 2021-07-15 10:48:29 Etc/GMT, 
auto_renew_status_change_date_ms: 1626346109000, 
auto_renew_status_change_date_pst: 2021-07-15 03:48:29 America/Los_Angeles, 
bid: [Filtered], 
bvrs: [Filtered], 
environment: PROD, 
notification_type: DID_CHANGE_RENEWAL_STATUS, 
password: [Filtered]
}
{
auto_renew_product_id: [Filtered], 
auto_renew_status: true, 
bid: [Filtered], 
bvrs: [Filtered], 
environment: PROD, 
notification_type: DID_FAIL_TO_RENEW, 
password: [Filtered]
}
{
auto_renew_product_id: [Filtered], 
auto_renew_status: true, 
bid: [Filtered], 
bvrs: [Filtered], 
environment: PROD, 
notification_type: DID_RENEW, 
password: [Filtered]
}

I only today start checking and can see that I have few notifications like that in September 2021, a bit before that. And only 1 on October 2021, none after that. So I assume they fixed it.