从 SKTransaction iOS 中获取一分钱的成本

Get the penny cost from SKTransaction iOS

您好,我正在尝试在我的 iOS 应用程序中与我的 IAP 进行一些服务器集成。我发送到服务器的参数需要:transaction_ID、product_ID 和 pennyCost。

前两个很容易弄清楚,但我找不到成本。我确实有一些 NSData 用于收据,但我不知道如何将其转换为我可以使用的任何形式。到目前为止,这是我的代码。

- (void)completeTransaction:(SKPaymentTransaction *)transaction {
 NSLog(@"completeTransaction...");

 purchaseComplete = 2;

 NSString *transaction_key = transaction.transactionIdentifier;
 NSString *productID = transaction.payment.productIdentifier;
 NSNumber *pennyCost = transaction.payment.product.pennyCost;

 NSData *rec = [self receiptForPaymentTransaction:transaction];


}

transaction.payment.product.pennyCost 行无效。

任何帮助都将非常感谢!

SKPayment 没有价格,真奇怪。使用 SKProductRequest.

检索产品后,在 SKProduct 上定义价格

您需要做的是保留对从 SKProductRequest 返回的 SKProduct 实例的引用。在向 SKPaymentQueue 提交付款并收到回复后,使用 SKPaymentproductId 查找匹配的 SKProduct

现在您可能会在您的应用重新启动后稍后收到付款交易。在这种情况下,您将必须制作一个新的 SKProductRequest 才能获得 SKProduct,这样您才能获得价格。

所有这一切的不好之处在于,您获得的产品价格可能与用户实际支付的价格不同,因为您可能会在收到付款交易的时间和您收到付款交易的时间之间更新产品的价格请求产品信息。