Anticheat methods
Recommended sequence of actions when working with transactions
Payment Validation
extension Purchases: SKPaymentTransactionObserver {
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch transaction.transactionState {
case .purchased:
DTDAntiCheat.verifyPayment { response in
switch response.receiptStatus {
case .receiptInternalError:
// your code
break
case .receiptValid:
// your code
break
case .receiptSandbox:
// your code
break
case .receiptServerError:
// your code
break
case .receiptNotValid:
// your code
break
@unknown default: break
}
SKPaymentQueue.default().finishTransaction(transaction)
}
case .restored:
SKPaymentQueue.default().finishTransaction(transaction)
case .failed:
SKPaymentQueue.default().finishTransaction(transaction)
default:
break
}
}
}
}
DTDVerifyResponse
DTDVerifyResponseDTDReceiptStatus
DTDReceiptStatusLast updated
Was this helpful?
