Какие модели и поля мне нужны для обработки подписок, например подписок Apple Autorenewable Subscriptions? - PullRequest
0 голосов
/ 29 мая 2020

Я хочу создать услугу подписки с автоматическим продлением с ознакомительным пробным периодом. Кажется, не так много письменной документации о том, какие модели и поля мне нужны для наилучшего моделирования (и обеспечения будущего) моих подписок. Я начинаю с магазина приложений Apple прямо сейчас, но у меня есть веб-интерфейс, и я хочу go в Play Store в какой-то момент.

Из этого видео: https://developer.apple.com/videos/play/wwdc2018/705/ мне кажется, что минимум, который мне нужен, это что-то вроде модели Subscription с полями userId, productId, originalTransactionId, latestExpiresDate, consumedProductDiscounts, latestReceiptData.

Что еще мне нужно?

Смогу ли я правильно получить другую подписку информацию в будущем и пополнить мою таблицу (т.е. информация billingRetry, как предлагается в видео для льготных периодов; я понимаю, что отправив сохраненные данные квитанции, я могу снова получить JSON blob и получить дополнительные поля, если мне нужно )?

Возможно ли расширение для сосуществования с подписками в Интернете и Play Маркете?

1 Ответ

1 голос
/ 01 июня 2020

Это модели, которые мы используем для обработки подписки. может быть, это вам поможет.

struct BillingTransaction : Codable {
    var expires_date: String
    var original_purchase_date: String
    var is_in_intro_offer_period: Bool
    var product_id: String
    var original_transaction_id: Int
    var transaction_id: Int
}

struct BillingReceipt : Codable {
    var app_item_id: String
    var application_version: String
    var bundle_id: String
    var in_app: [BillingTransaction]
}

struct BillingRenewalInfo : Codable {
    var product_id: String
    var auto_renew_product_id: String
    var auto_renew_status: Int
    var is_in_billing_retry_period: Int
    var original_transaction_id: Int
}

...