How can I find out if a purchase that is not consumed in the application is valid using the apple checkpoint

I recently set up a service to check and record purchases from my iOS in accordance with the Apple Documentation . After several purchases, I looked at my table and found that I had 45 purchases that returned with a status code of 0, which, according to Apple's docs, means they are valid. The problem is that when I logged into my iTunes account, it registered only 22 valid purchases. Upon closer inspection of Apple's JSON responses with status 0, I found two options:

{
    "status": 0,
    "environment": "Production",
    "receipt": {
        "receipt_type": "Production",
        "adam_id": 888310447,
        "app_item_id": 888310447,
        "bundle_id": "com.studioName.gameName",
        "application_version": "1.4",
        "download_id": 62010318102259,
        "version_external_identifier": 810789159,
        "request_date": "2014-12-16 15:34:17 Etc/GMT",
        "request_date_ms": "1418744057267",
        "request_date_pst": "2014-12-16 07:34:17 America/Los_Angeles",
        "original_purchase_date": "2014-07-08 18:04:28 Etc/GMT",
        "original_purchase_date_ms": "1404842668000",
        "original_purchase_date_pst": "2014-07-08 11:04:28 America/Los_Angeles",
        "original_application_version": "1.1",
        "in_app": []
    }
}

{
    "status": 0,
    "environment": "Production",
    "receipt": {
        "receipt_type": "Production",
        "adam_id": 888310447,
        "app_item_id": 888310447,
        "bundle_id": "com.studioName.gameName",
        "application_version": "1.4",
        "download_id": 39011903209949,
        "version_external_identifier": 810789159,
        "request_date": "2014-12-16 15:11:10 Etc/GMT",
        "request_date_ms": "1418742670718",
        "request_date_pst": "2014-12-16 07:11:10 America/Los_Angeles",
        "original_purchase_date": "2014-10-15 05:52:28 Etc/GMT",
        "original_purchase_date_ms": "1413352348000",
        "original_purchase_date_pst": "2014-10-14 22:52:28 America/Los_Angeles",
        "original_application_version": "1.2.4",
        "in_app": [
            {
                "quantity": "1",
                "product_id": "com.studioName.gameName.productName",
                "transaction_id": "190000148450370",
                "original_transaction_id": "190000148450370",
                "purchase_date": "2014-11-29 08:22:49 Etc/GMT",
                "purchase_date_ms": "1417249369000",
                "purchase_date_pst": "2014-11-29 00:22:49 America/Los_Angeles",
                "original_purchase_date": "2014-10-17 08:30:26 Etc/GMT",
                "original_purchase_date_ms": "1413534626000",
                "original_purchase_date_pst": "2014-10-17 01:30:26 America/Los_Angeles",
                "is_trial_period": "false"
            }
        ]
    }
}

, , , , ​​ IAP. , , in-app. , . 25 ( 3 , Apple).

, , , . . :

" , , . ."

, , original_transaction_id transaction_id . , , , . , , , .

, , , IAP itunes . - , , Iples IAP, !

+4

Source: https://habr.com/ru/post/1568799/


All Articles