What is the significance of an App Store Server Notification that has no signedTransactionInfo?

We have an App Store Server Notification endpoint. Our app offers an in app subscription. Most notifications have all of the expected fields, but in a small number of cases the decoded signedTransactionInfo and signedRenewalInfo fields are empty.

I can't see anything about these fields being optional in the documentation, and without the transaction information I can't get the transaction id of the user, so I can't tell how this notification relates to others for the same original transaction id.

Are these notifications expected? Should I be handling them in a special way? Or should I just ignore them?

For example, a normal transaction will have the following fields:

responseBodyV2DecodedPayload (
    [notificationType] => DID_RENEW
    [notificationUUID] => …
    [version] => 2.0
    [signedDate] => 1660947328849
    [data] => (
            [bundleId] => com.playpokpok.playroom
            [bundleVersion] => 9
            [environment] => Sandbox
            [signedTransactionInfo] => JWSTransactionInfo
            [signedRenewalInfo] => JWSRenewalInfo
        )
)

But one of these unexpected requests will have the following form:

responseBodyV2DecodedPayload (
    [notificationType] => EXPIRED
    [subtype] => VOLUNTARY
    [notificationUUID] => …
    [version] => 2.0
    [signedDate] => 1662661854606
    [data] => (
            [appAppleId] => 1550204730
            [bundleId] => com.playpokpok.playroom
            [bundleVersion] => 6
            [environment] => Production
        )
)

Replies

Could you provide examples and your account/app details in a ticket and reply with the FB#? https://developer.apple.com/forums/thread/718656

  • I also filed a ticket about this with (parsed) notification data at FB11938220

Add a Comment

I filed feedback ticket FB11720914 with the requested information, including the raw notification data that was sent from the server.

Did this ever reach any conclusion?

I ask, as my organization is currently experiencing the same issue i.e. a small number of notifications that are missing either the signedTransactionInfo or signedRenewalInfo. There appears to be nothing systematic in the type of notifications. I've seen examples for a variety of notification types (e.g. renewal, expiry, cancellation etc)

Kind regards

Dan Poxton

Add a Comment

Same issue here. We've switched to apple notifications v2 for months now and suddenly we've noticed both transactionInfo and renewalInfo randomly missing for a few days now.

Our system is built so that it assumes that all events include these properties, which has always been true until now. Did something change in the way notifications work? We now have to drop some of them, because we're missing critical information that let us update our database.

  • We started with an implementation that just fetched the subscription details from appstore server API using originalTransactionId after every notification, like you have to do on (that other mobile platform) by design, but we had wanted to remove the second step since if you validate the signature, you shouldn't need to do this. Now I'm glad we did it this way, but still it would be nice to get rid of the redundant fetching of subscription details since it shouldn't be necessary

Add a Comment

Somehow, this stopped happening on January 15 2023. Go figure...

Hello! Still have this problem with null signedTransactionInfo. Two requests without this field. Is there any news?