自动续订订阅续订?
auto-renewable subscription renew?
我是自动续订订阅的新手。
我已经实施了订阅。我的问题是,如果用户第一次购买订阅,应用程序将会收费。但无论如何,他的第二笔付款因为任何原因都没有发生。我怎么知道支付不成功和/或支付成功?我按照 WWDC 教程进行了应用内购买。使用 storekit 2 实现。
func purchase(_ product: Product) async throws -> Transaction? {
//Begin a purchase.
let result = try await product.purchase()
switch result {
case .success(let verification):
let transaction = try checkVerified(verification)
print(transaction)
print(transaction.expirationDate as Any)
//Deliver content to the user.
await updatePurchasedIdentifiers(transaction)
if !purchasedIdentifiers.isEmpty{
IAP.premiumEndDate = transaction.expirationDate
}
//Always finish a transaction.
await transaction.finish()
return transaction
case .userCancelled, .pending:
return nil
default:
return nil
}
}
在 IAP 的 apple 中,针对每笔交易生成收据,其中包含大量信息,例如用于验证购买的数字签名、交易历史(包括成功和不成功的交易)、订阅的当前状态、到期日等等.
您必须通过从 Apple 服务器获取所有这些信息来验证收据。您可以查看 this 了解如何获取收据数据。
为了验证,我们可以使用 2 种技术
- On-device 验证(如果您没有在应用中使用服务器,则在本地设备上进行验证)
- Server-side 验证(推荐)
您可以阅读有关选择收据验证技术的更多信息here。
当您获取收据时,它会给您一个 receiptData,您将其转换为 base64EncodedString 并点击 API收据.
对于 SandBox 使用 https://sandbox.itunes.apple.com/verifyReceipt and for production use https://buy.itunes.apple.com/verifyReceipt。传递给它两个参数 Receipt base64String 和 App-Specific Shared Secret 你可以在 in-app 购买的右上角的 App store 上找到 App-Specific Shared Secret列表。
您将收到包含有关订阅的所有信息的回复。
查看来自 WWDC 2018 的 this 标题为 Engineering Subscriptions 的视频。这个视频对理解订阅很有帮助。
我是自动续订订阅的新手。 我已经实施了订阅。我的问题是,如果用户第一次购买订阅,应用程序将会收费。但无论如何,他的第二笔付款因为任何原因都没有发生。我怎么知道支付不成功和/或支付成功?我按照 WWDC 教程进行了应用内购买。使用 storekit 2 实现。
func purchase(_ product: Product) async throws -> Transaction? {
//Begin a purchase.
let result = try await product.purchase()
switch result {
case .success(let verification):
let transaction = try checkVerified(verification)
print(transaction)
print(transaction.expirationDate as Any)
//Deliver content to the user.
await updatePurchasedIdentifiers(transaction)
if !purchasedIdentifiers.isEmpty{
IAP.premiumEndDate = transaction.expirationDate
}
//Always finish a transaction.
await transaction.finish()
return transaction
case .userCancelled, .pending:
return nil
default:
return nil
}
}
在 IAP 的 apple 中,针对每笔交易生成收据,其中包含大量信息,例如用于验证购买的数字签名、交易历史(包括成功和不成功的交易)、订阅的当前状态、到期日等等.
您必须通过从 Apple 服务器获取所有这些信息来验证收据。您可以查看 this 了解如何获取收据数据。
为了验证,我们可以使用 2 种技术
- On-device 验证(如果您没有在应用中使用服务器,则在本地设备上进行验证)
- Server-side 验证(推荐)
您可以阅读有关选择收据验证技术的更多信息here。
当您获取收据时,它会给您一个 receiptData,您将其转换为 base64EncodedString 并点击 API收据.
对于 SandBox 使用 https://sandbox.itunes.apple.com/verifyReceipt and for production use https://buy.itunes.apple.com/verifyReceipt。传递给它两个参数 Receipt base64String 和 App-Specific Shared Secret 你可以在 in-app 购买的右上角的 App store 上找到 App-Specific Shared Secret列表。
您将收到包含有关订阅的所有信息的回复。
查看来自 WWDC 2018 的 this 标题为 Engineering Subscriptions 的视频。这个视频对理解订阅很有帮助。