PKAddPassPaymentRequest не удалось отправить запрос - PullRequest
0 голосов
/ 20 мая 2018

Я разрабатываю подготовку карты Apple Pay Карта обеспечения Apple Pay In-App Я получил эту функцию, продолжая эту функцию, получая nonce & nonceSignatures с сервера Apple после получения этой попытки отправки запроса PKAddPassPaymentRequest в приведенном ниже формате notполучить что-нибудь, формат правильный, что я отправляю

PKAddPaymentPassRequest *request = [[PKAddPaymentPassRequest alloc] init];
request.encryptedPassData =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];
request.activationData =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];
request.ephemeralPublicKey =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];

Заранее спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

Условие : получение всех прав и обновленных профилей.Вы можете проверить принудительную доставку в производство только с помощью testflight или appstore.Вы можете запросить env песочницы в вашем устройстве от Apple.Они могут включить QA env на вашем устройстве, установив профиль.Затем вы можете протестировать push-инициализацию и в QA env.

Как только вы выполните все требования,

1.Создайте конфигурацию и заполните необходимые данные

PKAddPaymentPassRequestConfiguration *config= 
     [[PKAddPaymentPassRequestConfiguration alloc] 
       initWithEncryptionScheme:PKEncryptionSchemeECC_V2];

2.Создайте PKAddPaymentPassViewController и представьте его

self.addPaymentPassModal = 
     [[PKAddPaymentPassViewController alloc]
       initWithRequestConfiguration:config delegate:self];

3.Реализуйте методы делегата.

- (void)addPaymentPassViewController:(PKAddPaymentPassViewController *)controller 
generateRequestWithCertificateChain:(NSArray<NSData *> *)certificates
                           nonce:(NSData *)nonce
                  nonceSignature:(NSData *)nonceSignature
               completionHandler:(void(^)(PKAddPaymentPassRequest *request))handler {

  PKAddPaymentPassRequest *paymentPassRequest = [[PKAddPaymentPassRequest alloc] init];

  paymentPassRequest.encryptedPassData = [[NSData alloc]
                initWithBase64EncodedString:encryptedPassData options:0];

  paymentPassRequest.activationData = [activationData 
                 dataUsingEncoding:NSUTF8StringEncoding];

  paymentPassRequest.ephemeralPublicKey = [[NSData alloc] 
                 initWithBase64EncodedString:ephemeralPublicKey options:0];

  handler(paymentPassRequest);

}

- (void)addPaymentPassViewController:(PKAddPaymentPassViewController *)controller
      didFinishAddingPaymentPass:(nullable PKPaymentPass *)pass
                           error:(nullable NSError *)error {

 //Will get called once push provisioning complete

}
...