Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

When Validate In-App Receipt, Returns Wrong in_app list

Discussion in 'Unity IAP' started by Tommy-Yuan, Sep 13, 2018.

  1. Tommy-Yuan

    Tommy-Yuan

    Joined:
    Aug 1, 2017
    Posts:
    4
    When I try to validate our IOS app's in-app purchase receipt of an unconsumable product in sandbox, usually it returns all the unconsumable product which I have brought before. But since several days ago, it returns wrong in_app list of unconsumable product to me.



    Here's how I meet this issue:



    I brought a unconsumable product which I have brought before, and the Client tells me 'You have brought this item before, Would you like to restore it?' . When I click yes, it send my receipt to apple server, it response a list of only 2 items in in_app list which not contains the item i just restored. (I have brought more than 10 before).



    I am using the same apple id to do the test, and same bundle id too.



    here is one of my receipt:

    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



    and here is the apple sandbox validation response:



    {
    "error": null,
    "response": {
    "receipt": {
    "receipt_type": "ProductionSandbox",
    "adam_id": 0,
    "app_item_id": 0,
    "bundle_id": "com.linkjoy.littlesailor.drake",
    "application_version": "1809131",
    "download_id": 0,
    "version_external_identifier": 0,
    "receipt_creation_date": "2018-09-13 07:32:26 Etc/GMT",
    "receipt_creation_date_ms": "1536823946000",
    "receipt_creation_date_pst": "2018-09-13 00:32:26 America/Los_Angeles",
    "request_date": "2018-09-13 07:47:39 Etc/GMT",
    "request_date_ms": "1536824859693",
    "request_date_pst": "2018-09-13 00:47:39 America/Los_Angeles",
    "original_purchase_date": "2013-08-01 07:00:00 Etc/GMT",
    "original_purchase_date_ms": "1375340400000",
    "original_purchase_date_pst": "2013-08-01 00:00:00 America/Los_Angeles",
    "original_application_version": "1.0",
    "in_app": [
    {
    "quantity": "1",
    "product_id": "ItemDrakeCardBag",
    "transaction_id": "1000000436872063",
    "original_transaction_id": "1000000436872063",
    "purchase_date": "2018-08-29 09:38:37 Etc/GMT",
    "purchase_date_ms": "1535535517000",
    "purchase_date_pst": "2018-08-29 02:38:37 America/Los_Angeles",
    "original_purchase_date": "2018-08-29 09:38:37 Etc/GMT",
    "original_purchase_date_ms": "1535535517000",
    "original_purchase_date_pst": "2018-08-29 02:38:37 America/Los_Angeles",
    "is_trial_period": "false"
    },
    {
    "quantity": "1",
    "product_id": "ItemDrakeProShipA",
    "transaction_id": "1000000410341820",
    "original_transaction_id": "1000000410341820",
    "purchase_date": "2018-06-23 09:38:36 Etc/GMT",
    "purchase_date_ms": "1529746716000",
    "purchase_date_pst": "2018-06-23 02:38:36 America/Los_Angeles",
    "original_purchase_date": "2018-06-23 09:38:36 Etc/GMT",
    "original_purchase_date_ms": "1529746716000",
    "original_purchase_date_pst": "2018-06-23 02:38:36 America/Los_Angeles",
    "is_trial_period": "false"
    }
    ]
    },
    "status": 0,
    "environment": "Sandbox",
    "service": "apple"
    },
    "purchaseData": [
    {
    "quantity": 1,
    "productId": "ItemDrakeCardBag",
    "transactionId": "1000000436872063",
    "originalTransactionId": "1000000436872063",
    "purchaseDate": "2018-08-29 09:38:37 Etc/GMT",
    "purchaseDateMs": 1535535517000,
    "purchaseDatePst": "2018-08-29 02:38:37 America/Los_Angeles",
    "originalPurchaseDate": "2018-08-29 09:38:37 Etc/GMT",
    "originalPurchaseDateMs": 1535535517000,
    "originalPurchaseDatePst": "2018-08-29 02:38:37 America/Los_Angeles",
    "isTrialPeriod": "false",
    "isTrial": false,
    "bundleId": "com.linkjoy.littlesailor.drake",
    "expirationDate": 0
    },
    {
    "quantity": 1,
    "productId": "ItemDrakeProShipA",
    "transactionId": "1000000410341820",
    "originalTransactionId": "1000000410341820",
    "purchaseDate": "2018-06-23 09:38:36 Etc/GMT",
    "purchaseDateMs": 1529746716000,
    "purchaseDatePst": "2018-06-23 02:38:36 America/Los_Angeles",
    "originalPurchaseDate": "2018-06-23 09:38:36 Etc/GMT",
    "originalPurchaseDateMs": 1529746716000,
    "originalPurchaseDatePst": "2018-06-23 02:38:36 America/Los_Angeles",
    "isTrialPeriod": "false",
    "isTrial": false,
    "bundleId": "com.linkjoy.littlesailor.drake",
    "expirationDate": 0
    }
    ]
    }








    It tells this receipt was created 2018-9-13, so it's a new receipt, but what I am buying is productId: ItemDrakePass.



    Is this something wrong when Unity IAP fetching the Apple receipt

    or I make any mistake in my code?



    Thank you.



    Tommy
     
  2. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    What changed in your app since several days ago?
     
  3. Tommy-Yuan

    Tommy-Yuan

    Joined:
    Aug 1, 2017
    Posts:
    4
    We added one new Item to the store, using .AddProduct() in our code, and added in iTunesConnect too.
     
    Last edited: Sep 14, 2018
  4. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Does it work if you remove the new product, as a test? Please provide exact steps to reproduce.
     
  5. Tommy-Yuan

    Tommy-Yuan

    Joined:
    Aug 1, 2017
    Posts:
    4
    I tried to using the old shop config, i seems still not working. Turns out in Apple Server my in_app list has changed.
     
  6. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please provide the requested information and and we could continue to investigate. Please test on a different device, or log onto this device with a different account.
     
  7. Tommy-Yuan

    Tommy-Yuan

    Joined:
    Aug 1, 2017
    Posts:
    4
    Thanks Jeff, What request you need?

    this seems happen only on my apple id. got the same result on different device.
     
  8. JeffDUnity3D

    JeffDUnity3D

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please send me a private message and you can add me to your testers list. Also, you say the list has changed. Can you be specific as to what is changed/not expected in the list? How does it affect your purchase flow?