Я реализовал Non-renewing Subscriptions
IAP с использованием библиотеки SwiftyStoreKit
.
Когда пользователь пытался приобрести подписку В производственной среде иногда это работает должным образом, но в некоторых случаях оплата пользователя проходит успешно, но значительно StoreKit
ошибка возврата "paymentCancelled"
это класс SKError
, который означает, что пользователь отменил запрос, но пользователь утверждает, что он не отменил. Кроме того, клиент доказывает, что он заплатил
Это не удалось в производстве, но работает в песочнице.
Вот метод, который я использовал для покупки одного продукта:
SwiftyStoreKit.purchaseProduct("com.musevisions.SwiftyStoreKit.Purchase1", quantity: 1, atomically: false) { result in
switch result {
case .success(let product):
// fetch content from your server, then:
if product.needsFinishTransaction {
SwiftyStoreKit.finishTransaction(product.transaction)
}
print("Purchase Success: \(product.productId)")
case .error(let error):
switch error.code {
case .unknown: print("Unknown error. Please contact support")
case .clientInvalid: print("Not allowed to make the payment")
case .paymentCancelled: break
case .paymentInvalid: print("The purchase identifier was invalid")
case .paymentNotAllowed: print("The device is not allowed to make the payment")
case .storeProductNotAvailable: print("The product is not available in the current storefront")
case .cloudServicePermissionDenied: print("Access to cloud service information is not allowed")
case .cloudServiceNetworkConnectionFailed: print("Could not connect to the network")
case .cloudServiceRevoked: print("User has revoked permission to use this cloud service")
default: print((error as NSError).localizedDescription)
}
}
}
Посоветуйте, пожалуйста, что Я делаю не так.
Ваши мысли и предложения высоко ценятся.
Заранее спасибо.