Дата окончания подписки - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть вопрос, касающийся формата квитанции для покупок в приложении.

Основной объект квитанции имеет поле с именем Subscription Expiration Date.

Но что, если приложение имеет несколько типов продленияподписки, что будет отображать это поле?

1 Ответ

0 голосов
/ 20 декабря 2018

Он называется Subscription Expiration Date в документации , однако, если вы прочитаете ниже, фактическое имя ключа json равно expires_date, просто хотел бы указать это, прежде чем приступить к поисковой охоте, а ненайти его в своем приложении.

Чтобы ответить на ваш вопрос, вы увидите, что в документации этот конкретный ключ Subscription Expiration Date указан под заголовком In-App Purchase Receipt Fields.Это означает, и я могу подтвердить на собственном опыте, что этот ключ присутствует при каждой покупке подписки в приложении в отдельности и при каждом ее продлении.Это означает, что может быть несколько покупок, каждая из которых имеет свою собственную запись в квитанции-json, каждая из которых имеет expires_date.

. Если вы хотите использовать этот ключ для проверки, у квитанции будет дата запросаотправлено с яблочного сервера.Используйте эту дату, чтобы увидеть, работает ли одна из этих подписок.

Надеюсь, это поможет.

Редактировать: Вот пример фактического обработанного чека для ориентации.Обратите внимание, что я удалил некоторые идентификаторы для безопасности.Здесь вы видите квитанцию, в верхней части которой вы видите конкретную информацию о квитанции, затем однократную покупку и затем годовую подписку, которая была продлена примерно в 4 раза.

["original_purchase_date_pst": Optional(2013-08-01 00:00:00 
America/Los_Angeles), 
"bundle_id": Optional(yourAppBundleId), 
"receipt_creation_date_pst": Optional(2018-12-20 02:20:38 America/Los_Angeles), 
"receipt_type": Optional(ProductionSandbox), 
"app_item_id": Optional(0), "application_version": Optional(2), 
"request_date_pst": Optional(2018-12-20 02:20:41 America/Los_Angeles), 
"original_purchase_date_ms": Optional(1375340400000), 
"receipt_creation_date_ms": Optional(1545301238000), 
"in_app": Optional(<__NSArrayI 0x283b736b0>(

{
    "is_trial_period" = false;
    "original_purchase_date" = "2018-12-07 12:00:43 Etc/GMT";
    "original_purchase_date_ms" = 1544184043000;
    "original_purchase_date_pst" = "2018-12-07 04:00:43 America/Los_Angeles";
    "original_transaction_id" = XXXXXXXXXXXXX;
    "product_id" = "someSinglePurchase";
    "purchase_date" = "2018-12-07 12:00:43 Etc/GMT";
    "purchase_date_ms" = 1544184043000;
    "purchase_date_pst" = "2018-12-07 04:00:43 America/Los_Angeles";
    quantity = 1;
    "transaction_id" = 10000XXXXXXXXX;
},
{
    "expires_date" = "2018-12-07 13:01:21 Etc/GMT";
    "expires_date_ms" = 1544187681000;
    "expires_date_pst" = "2018-12-07 05:01:21 America/Los_Angeles";
    "is_in_intro_offer_period" = false;
    "is_trial_period" = false;
    "original_purchase_date" = "2018-12-07 12:01:22 Etc/GMT";
    "original_purchase_date_ms" = 1544184082000;
    "original_purchase_date_pst" = "2018-12-07 04:01:22 America/Los_Angeles";
    "original_transaction_id" = 10000XXXXXXXXX;
    "product_id" = "yearlySubscription";
    "purchase_date" = "2018-12-07 12:01:21 Etc/GMT";
    "purchase_date_ms" = 1544184081000;
    "purchase_date_pst" = "2018-12-07 04:01:21 America/Los_Angeles";
    quantity = 1;
    "transaction_id" = 10000XXXXXXXXX;
    "web_order_line_item_id" = 10000XXXXXXXXX;
},
{
    "expires_date" = "2018-12-07 14:01:35 Etc/GMT";
    "expires_date_ms" = 1544191295000;
    "expires_date_pst" = "2018-12-07 06:01:35 America/Los_Angeles";
    "is_in_intro_offer_period" = false;
    "is_trial_period" = false;
    "original_purchase_date" = "2018-12-07 12:01:22 Etc/GMT";
    "original_purchase_date_ms" = 1544184082000;
    "original_purchase_date_pst" = "2018-12-07 04:01:22 America/Los_Angeles";
    "original_transaction_id" = 10000XXXXXXXXX;
    "product_id" = "yearlySubscription";
    "purchase_date" = "2018-12-07 13:01:35 Etc/GMT";
    "purchase_date_ms" = 1544187695000;
    "purchase_date_pst" = "2018-12-07 05:01:35 America/Los_Angeles";
    quantity = 1;
    "transaction_id" = 10000XXXXXXXXX;
    "web_order_line_item_id" = 10000XXXXXXXXX;
},
{
    "expires_date" = "2018-12-07 15:01:35 Etc/GMT";
    "expires_date_ms" = 1544194895000;
    "expires_date_pst" = "2018-12-07 07:01:35 America/Los_Angeles";
    "is_in_intro_offer_period" = false;
    "is_trial_period" = false;
    "original_purchase_date" = "2018-12-07 12:01:22 Etc/GMT";
    "original_purchase_date_ms" = 1544184082000;
    "original_purchase_date_pst" = "2018-12-07 04:01:22 America/Los_Angeles";
    "original_transaction_id" = 10000XXXXXXXXX;
    "product_id" = "yearlySubscription";
    "purchase_date" = "2018-12-07 14:01:35 Etc/GMT";
    "purchase_date_ms" = 1544191295000;
    "purchase_date_pst" = "2018-12-07 06:01:35 America/Los_Angeles";
    quantity = 1;
    "transaction_id" = 10000XXXXXXXXX;
    "web_order_line_item_id" = 10000XXXXXXXXX;
}
...