ios - 如何在 SKMutablePayment 中使用 requestData?

标签 ios objective-c in-app-purchase storekit

我正在使用 Apple IAP。我想在使用 StoreKit 请求付款时添加一些附加参数,例如用户 ID、服务器 ID 和产品金额:

NSDictionary* requestDataDic = @{ @"userId": userId, @"serverId": serverId, @"money": money };

NSData* requestData = [NSJSONSerialization dataWithJSONObject:requestDataDic
                                                      options:NSJSONWritingPrettyPrinted
                                                        error:nil];

SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:productIdentifier];
payment.requestData = requestData;

if ([SKPaymentQueue defaultQueue]) {
    [[SKPaymentQueue defaultQueue] addPayment:payment];
}

但是,在我的服务器端验证收据后,它没有收到在 requestData 中发送到 Apple 服务器的信息。我是否误解了 requestData 的用法?

最佳答案

根据 Apple 的 doc ,此属性保留供将来使用,如果您使用它,您的付款将被苹果拒绝。

The default value is nil. If requestData is not nil, your payment will be rejected by the Apple App Store.

关于ios - 如何在 SKMutablePayment 中使用 requestData?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024929/

相关文章:

ios - 无法使用 GCDAsyncSocket 从服务器读取数据

ios - MPMoviePlayerController 隐藏音量 slider

objective-c - NSMutableArray获取[__NSCFString计数]:无法识别的选择器已发送到实例

iphone - 从 iOS 应用程序开发转向 Mac 应用程序开发时需要克服的最大障碍是什么?

iphone - 我如何在弹出 View Controller 上做一个翻转动画?

iphone - 在 UIViewController loadView 中使用什么尺寸?

ios - 循环中所有值的延迟

ios - 是否有人在破解我的 iOS 应用程序内购买?

ios - 在应用程序购买(验证)收据收据状态为零

iOS 应用内购买在生产环境中无声无息地失败