6

Apple Pay でパススルー変数を設定したいので、次のようなJSONデータNSDictionaryとして設定します。

PKPaymentRequest *request = [[PKPaymentRequest alloc] init];
[request setApplicationData:[NSJSONSerialization dataWithJSONObject:@{@"name":@"USER_NAME"} options:NSJSONWritingPrettyPrinted error:nil]];

今の内部:

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus status))completion;

次のようにapplicationDataにアクセスできます

NSError* jsonError;
NSDictionary* dataDict = [NSJSONSerialization JSONObjectWithData:payment.token.paymentData options:kNilOptions error:&jsonError];

dataDict[@"header"][@"applicationData"]にはアプリケーション データが含まれます

しかし、データはエンコードされているので、applicationData から取得したいと思い@{@"name":@"USER_NAME"}ます。

4

0 に答える 0