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"}
ます。