从SKTransaction iOS获得便士费用

Sea*_*ins 4 objective-c in-app-purchase ios skpaymenttransaction

嗨,我正在尝试在我的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];


}
Run Code Online (Sandbox Code Playgroud)

transaction.payment.product.pennyCost行无效.

任何帮助都会很棒,谢谢!

rma*_*ddy 6

SKPayment奇怪的是没有价格.价格是在SKProduct使用a检索产品后定义的SKProductRequest.

你需要做的是保持对从中SKProduct返回的实例的引用SKProductRequest.一旦你提交付款给SKPaymentQueue你找回你的反应,使用productIdSKPayment查找匹配SKProduct.

现在,您的应用重启后,您可能会在稍后收到付款交易.在这种情况下,你将不得不做一个新的SKProductRequest,SKProduct所以你可以得到价格.

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