6

嗨,我正在尝试在我的 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 行无效。

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

4

1 回答 1

11

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

您需要做的是保留对SKProductSKProductRequest. 向 提交付款SKPaymentQueue并收到回复后,请使用 的productId查找SKPayment匹配的SKProduct

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

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

于 2016-05-18T23:46:53.170 回答