Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Solved
  • Unsolved
  • Users
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse
brainCloud Forums
  1. Home
  2. APIs
  3. Are there plans to support Storekit 2 receipt verification?

Are there plans to support Storekit 2 receipt verification?

Scheduled Pinned Locked Moved Unsolved APIs
36 Posts 8 Posters 9.7k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    LEE JONG GUN
    wrote on last edited by
    #18
    This post is deleted!
    1 Reply Last reply
    0
    • Michael CostaM Michael Costa

      Hello @peter.

      That's correct, you get the TransactionID from deserializing PendingOrder.Info.Receipt (at least that is the method I'm using 😅). The reason why you want the TransactionID and NOT the OriginalTransactionID is because renewed subscription purchases will have two different values for this.

      Just a couple questions so we have more context:

      1. Do you have the Bundle Id field filled on the Apple Platforms page on brainCloud? This is still a requirement for validating purchases. You'll need to make sure to have one set up for your app on Certificates, Identifiers & Profiles and that it matches the Bundle Identifier in your Unity Player Settings.

      2. Are you running CachePurchasePayloadContext() (docs) before VerifyPurchase()? This is also a requirement for purchases of itunes type.

      Please let me know so we can look deeper into this! Thanks 😄

      L Offline
      L Offline
      LEE JONG GUN
      wrote on last edited by
      #19

      @Michael-Costa

      "packetId": 13,
      "responses": [
      {
      "data": {
      "resultCode": 101,
      "errorMessage": "Transaction id not found.",
      "store": "itunes"
      },
      "status": 200
      }
      ]
      }

      After configuring the App Store Server API, enabling “Use App Store Server API for legacy receipts (optional)” appears to cause legacy receipt validation to stop working. Instead, the system starts requiring a transaction ID.

      In other words, checking it has the opposite effect.

      We are currently running a live service using the existing receipt-based flow, so we have this option turned off—meaning we are effectively using it in practice (because enabling it breaks legacy). We are very concerned that if this behavior gets “fixed” later, it could cause issues in our live service. Please take this into account and ensure any patch/change does not introduce regressions for live operations.

      1 Reply Last reply
      0
      • Paul WinterhalderP Offline
        Paul WinterhalderP Offline
        Paul Winterhalder
        brainCloudAdmin
        wrote on last edited by
        #20

        HI Lee,

        Can you message into our support system with the appId involved - and the profileId of a user who had the issue?

        Thanks,

        Paul.

        L 1 Reply Last reply
        0
        • Paul WinterhalderP Paul Winterhalder

          HI Lee,

          Can you message into our support system with the appId involved - and the profileId of a user who had the issue?

          Thanks,

          Paul.

          L Offline
          L Offline
          LEE JONG GUN
          wrote on last edited by LEE JONG GUN
          #21

          @Paul-Winterhalder

          Hello

          Project 14594
          Tester ID 1b5c9fce-a890-4d86-86aa-dd71263d0fc1

          App Store \Server API has been fully configured in the current BrainCloud settings, and “Use App Store Server API for legacy receipts (optional)” is turned OFF.
          This option must be disabled for the legacy receipt flow to function, so it is intentionally kept turned off in order to use the current setup.

          When checking Verify Purchase in the user ID logs, the client has not yet been updated, so it is not sending a transactionId and is instead sending the receipt, following the legacy receipt-based flow.

          1 Reply Last reply
          0
          • Paul WinterhalderP Offline
            Paul WinterhalderP Offline
            Paul Winterhalder
            brainCloudAdmin
            wrote on last edited by
            #22

            Hi @LEE-JONG-GUN ,

            Is that a sandbox receipt for that user? We seem to have found a second flow for sandbox purchases - not sure why there are two - maybe for older vs. newer receipts?

            Anyway - we've created a patch and will be deploying it soon.

            Paul.

            L 1 Reply Last reply
            0
            • Paul WinterhalderP Paul Winterhalder

              Hi @LEE-JONG-GUN ,

              Is that a sandbox receipt for that user? We seem to have found a second flow for sandbox purchases - not sure why there are two - maybe for older vs. newer receipts?

              Anyway - we've created a patch and will be deploying it soon.

              Paul.

              L Offline
              L Offline
              LEE JONG GUN
              wrote on last edited by
              #23

              @Paul-Winterhalder Yes, that’s correct. It is a sandbox account.

              After the patch, it would be good if existing receipts continue to work by default.

              1 Reply Last reply
              0
              • Paul WinterhalderP Offline
                Paul WinterhalderP Offline
                Paul Winterhalder
                brainCloudAdmin
                wrote on last edited by
                #24

                Hi @LEE-JONG-GUN - the patch has been deployed. Let us know if it works better for you.

                L 1 Reply Last reply
                0
                • Paul WinterhalderP Paul Winterhalder

                  Hi @LEE-JONG-GUN - the patch has been deployed. Let us know if it works better for you.

                  L Offline
                  L Offline
                  LEE JONG GUN
                  wrote on last edited by
                  #25

                  @Paul-Winterhalder Now, purchase validation proceeds normally regardless of the “Use App Store Server API for legacy receipts (optional)” option setting.

                  1 Reply Last reply
                  1
                  • Paul WinterhalderP Offline
                    Paul WinterhalderP Offline
                    Paul Winterhalder
                    brainCloudAdmin
                    wrote on last edited by
                    #26

                    Cool - glad it works for you now!

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      Ralph
                      wrote on last edited by
                      #27

                      Hi, i'm also trying to get this working. Here's my current problem:

                      My request:

                      {
                            "service": "appStore",
                            "operation": "VERIFY_PURCHASE",
                            "data": {
                              "storeId": "itunes",
                              "receiptData": {
                                "transactionId": "2000001110852583",
                                "excludeOldTransactions": true
                              },
                              "requestPacketId": 7
                            },
                            "requestPacketId": 7
                          }
                      

                      and the response:

                      {
                            "status_message": "Internal server error (message): class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader 'bootstrap')",
                            "status": 500
                          }
                      
                      1 Reply Last reply
                      0
                      • R Offline
                        R Offline
                        Ralph
                        wrote on last edited by
                        #28

                        when i purchase the item again, i get a 200 status response but with the error message "Item already processed".

                        1 Reply Last reply
                        0
                        • Paul WinterhalderP Offline
                          Paul WinterhalderP Offline
                          Paul Winterhalder
                          brainCloudAdmin
                          wrote on last edited by
                          #29

                          Is the IAP product set as consumable? Is it a new receipt that you're passing in? Is there an appId that we can use to check your logs @Ralph ? (feel free to send the info in via the regular private support channel)

                          1 Reply Last reply
                          0
                          • R Offline
                            R Offline
                            Ralph
                            wrote on last edited by
                            #30

                            ok, i sent the info via bot.

                            1 Reply Last reply
                            0
                            • Paul WinterhalderP Offline
                              Paul WinterhalderP Offline
                              Paul Winterhalder
                              brainCloudAdmin
                              wrote on last edited by
                              #31

                              Hi @Ralph - we found the issue. It's a path that is unique to apps that are using the older purchase collection storage format (which changed in 3.9). A fix is on the way. Thanks so much for reporting this!

                              1 Reply Last reply
                              0
                              • Paul WinterhalderP Offline
                                Paul WinterhalderP Offline
                                Paul Winterhalder
                                brainCloudAdmin
                                wrote on last edited by
                                #32

                                Hi @Ralph - the patch has been deployed. Hope it works better for you now!

                                1 Reply Last reply
                                0
                                • R Offline
                                  R Offline
                                  Ralph
                                  wrote on last edited by
                                  #33

                                  I can confirm it works now. Thanks!

                                  1 Reply Last reply
                                  0
                                  • Paul WinterhalderP Offline
                                    Paul WinterhalderP Offline
                                    Paul Winterhalder
                                    brainCloudAdmin
                                    wrote on last edited by
                                    #34

                                    Awesome - glad to hear it. 👍

                                    1 Reply Last reply
                                    0
                                    • P Offline
                                      P Offline
                                      peter
                                      wrote on last edited by
                                      #35

                                      Confirming that our latest deployment has gone live and this seems to be working now. Thank you for been responsive on the issue.

                                      In case anyone from the future internet finds this - these docs are useful:
                                      https://help.getbraincloud.com/en/articles/13586894-store-integration-ios

                                      1 Reply Last reply
                                      0
                                      • Paul WinterhalderP Offline
                                        Paul WinterhalderP Offline
                                        Paul Winterhalder
                                        brainCloudAdmin
                                        wrote on last edited by
                                        #36

                                        Thanks for confirming @peter !

                                        1 Reply Last reply
                                        0

                                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                        With your input, this post could be even better 💗

                                        Register Login
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Solved
                                        • Unsolved
                                        • Users