PKAddPassPaymentRequest не удалось отправить запрос
Я занимаюсь разработкой карты Apple Pay Provisioning Card Apple Pay In-App Provisioning Card. Я получил эту функцию, продолжая эту функцию, получая nonce & nonceSignatures с сервера Apple, после того, как попытался отправить запрос PKAddPassPaymentRequest в приведенном ниже формате, но ничего не получил, это правильный формат. отправляю
PKAddPaymentPassRequest *request = [[PKAddPaymentPassRequest alloc] init];
request.encryptedPassData =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];
request.activationData =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];
request.ephemeralPublicKey =[@"XXXXXXXXXXX" dataUsingEncoding:NSUTF8StringEncoding];
Заранее спасибо.
1 ответ
Обязательное условие: Получить все права и обновленные профили. Вы можете проверить принудительную доставку в производство только с помощью 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
}