Как программно добавить платежную карту в кошелек Apple

Мы попытались добавить данные кредитной или дебетовой карты в Apple Pay из нашего приложения.

Ниже приведены материалы из документа Apple.

Важно! Для добавления пропусков на оплату требуется специальное разрешение от Apple. Ваше приложение должно включать это право, прежде чем можно будет создать экземпляр этого класса. Дополнительную информацию о запросе этого права см. В разделе «Эмитенты карт» на сайте developer.apple.com/apple-pay/. В среде песочницы мы попробовали ключ доступа, но не смогли загрузить данные платежной карты.

Мы можем добавить платежную карту iTunes вручную. Но можно программно добавить платежную карту в кошелек Apple Pay.

Невозможно смоделировать тестовую карту (платежную карту) как файл pkpass? Отсутствует документация для имитации платежной карты в среде песочницы.

https://developer.apple.com/reference/passkit/pkaddpaymentpassviewcontroller?language=objc

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


person Ravi Kumar Karunanithi    schedule 31.03.2017    source источник


Ответы (2)


Если я правильно вас понял, у вас есть ключ доступа (и я предполагаю, что вы получили специальное разрешение от Apple). Я также предполагаю, что вы используете PKAddPaymentPassViewController для процесса подготовки. Если все это верно, вам нужно иметь в виду еще несколько вещей. Во-первых, вы не можете проверить это, используя фиктивные данные или даже тестовые среды. Вы должны использовать производственные данные с настоящими платежными картами, которые могут быть подтверждены Apple Pay у эмитента карты. Кроме того, приложение должно распространяться с TestFlight, чтобы оно работало, поэтому вы не можете запускать его напрямую из Xcode.

person pajevic    schedule 14.09.2017
comment
Какой должна быть реализация метода addPaymentPassViewController: generateRequestWithCertificateChain: nonce: nonceSignature: ЗавершениеHandler: - person Gaurav Borole; 22.01.2020
comment
В этом методе делегата вы должны взять сертификаты, nonce и nonceSignature, предоставленные методом, и, вероятно, передать их на свой сервер. Затем ваш бэкэнд возьмет эти данные и отправит их компании-оператору карты (например, Visa) и вернет данные, которые позволят вам создать PKAddPaymentPassRequest, который вы передадите в завершениеHandler этого метода. Все это описано в документе, который Apple предоставляет, когда вы получаете специальное разрешение на использование разрешения на предоставление кредитной карты. - person pajevic; 22.01.2020
comment
Спасибо, Паевич. Да, я читал об этом в документации. Я ищу быстрый код для методов делегата, поскольку на самом деле я не могу сопоставить его с кодом. - person Gaurav Borole; 22.01.2020
comment
@GauravBorole, могу я попросить вас связать официальную документацию Apple, связанную с добавлением реализации Payment Pass - person msamardzic; 17.08.2020
comment
@msamardzic Это не является общедоступным AFAIK. Он предоставляется Apple только организациям, получившим разрешение на предоставление платежных пропусков (обычно банкам и эмитентам карт), и на него распространяется соглашение о неразглашении. Поэтому вам нужно связаться с Apple, чтобы получить одобрение (если вы соответствуете требованиям), а затем они отправят вам документацию. - person pajevic; 17.08.2020
comment
@pajevic спасибо большое, чувак. Я успешно запустил PKAddPaymentPassViewController, передав некоторые данные в виде имени держателя карты и последних 4 цифр, но не нашел никаких документов, каковы следующие шаги (например, addPaymentPassViewController (...)) - person msamardzic; 17.08.2020

Enabling In-App Provisioning of Payment Cards

Use this entitlement to enable the in-app provisioning of payment cards. This entitlement allows you to initialize and present a PKAddPaymentPassViewController object.

In the entitlement’s file, add the com.apple.developer.payment-pass-provisioning key with a Boolean value of YES. You need special permission from Apple to submit apps with this key enabled. For more information, contact [email protected].

person Neal.Marlin    schedule 14.11.2018