При интеграции Apple Pay по API отдельной кнопкой необходимо провести генерацию сертификатов Apple Pay.
Создайте папку на вашем устройстве в которую будут сохранены сертификаты.
Откройте Terminal в данной папке.
Проведите команду
openssl ecparam -genkey -name prime256v1 -out ecckey.key
Проведите команду
openssl req -new -sha256 -key ecckey.key -out ecccertreq.csr -subj /CN=www.mydomain.com
, где www.mydomain.com - ваш домен.
Войдите в вашем Apple Developer аккаунте https://developer.apple.com/
Перейдите в раздел Certificates, IDs & Profiles → Identifiers → Merchant IDs или по ссылке https://developer.apple.com/account/resources/identifiers/list/merchant
Создайте новый Identifier по ссылке https://developer.apple.com/account/resources/identifiers/merchant/add/
В поле Identifier нужно вводить домен сайта задом наперед. Для примера, при домене google.com.ua нужно вводить ua.com.google
В поле Description запрещено вводить спец символы, например, @, &, *, ', ", -, .
4. Вернитесь в общий список ваших Identifiers по ссылке https://developer.apple.com/account/resources/identifiers/list/merchant
5. Найдите необходимый Identifier созданный вами и нажмите на него для перехода к его настройкам.
6. В разделе Apple Pay Payment Processing Certificate нажмите кнопку Create Certificate
Нажмите Continue.
Загрузите ecccertreq.csr из вашей папки с сертификатами и нажмите Continue.
Нажмите Download для скачивания файла apple_pay.cer и сохраните его в папку с сертификатами.
Вернитесь к вашему Identifier в списке https://developer.apple.com/account/resources/identifiers/list/merchant
В разделе Merchant Domains нажмите кнопку Add Domain.
Введите ваш домен и нажмите кнопку Save.
Нажмите Download для скачивания файла apple-developer-merchantid-domain-association.txt
Данный файл нужно разместить на вашем сервере в папке .well-known согласно пути https://ВАШ_ДОМЕН/.well-known/apple-developer-merchantid-domain-association.txt
После размещения файла нажмите кнопку Verify.
Status: Verified - успешная верификация.
Status: Pending - верификация не завершена, просрочена или требует повторения.
В разделе Apple Pay Merchant Identity Certificate нажмите кнопку Create Certificate.
Откройте новый Terminal в папке с сертификатами.
Проведите команду openssl req -new -newkey rsa:2048 -nodes -out rsacertreq.csr -keyout rsakey.key -subj /CN=http://www.mydomain.com , где http://www.mydomain.com - ваш домен.
Загрузите rsacertreq.csr из вашей папки с сертификатами и нажмите Continue.
Нажмите Download для скачивания файла merchant_id.cer и сохраните его в папку с сертификатами.
Откройте новый Terminal в папке с сертификатами.
Проведите команду
openssl x509 -inform DER -in merchant_id.cer -out merchant_id.pem
Проведите команду
openssl pkcs12 -export -out Certificates.p12 -inkey rsakey.key -in merchant_id.pem
Придумайте и введите пароль используя только цифры (от 5 до 10 символов). Для подтверждения попросит ввести пароль еще раз. Пароль сохранить в файл password.txt в папке с сертификатами.
Проведите команду
openssl pkcs12 -in Certificates.p12 -out ApplePay.crt.pem -clcerts -nokeys
Введите ранее придуманый пароль.
Откройте файл rsakey.key редактором кода и замените теги:
-----BEGIN PRIVATE KEY-----
на -----BEGIN RSA PRIVATE KEY-----
-----END PRIVATE KEY-----
на -----END RSA PRIVATE KEY-----
Файл rsakey.key переименовать в ApplePay.key.pem
Откройте файл ecckey.key редактором кода.
Удалите все кроме содержимого между тегами -----BEGIN EC PRIVATE KEY-----
та -----END EC PRIVATE KEY-----
. Теги также удалить. Получившиеся данные выровнять в одну строку.
В резульате вы получите для примера:MHcCAQEEIGOcj9yGqWYQsFb69go2TXk3nZ2+1bWCnxWK677sZAVFoAoGCCqGSM49AwEHoUQDQgAEhnrbXXeXyKQhYIeznMgw1fqJVNkkMdN00hDpK8u0SXclbUFiNdeIQo07Bb/xU+sUrnL3RBJ0SoP9YVmRDfrzEg==
Все полученные файлы просьба заархивировать и отправить в чат для тех поддержки.
Список файлов в архиве:
apple_pay.cer
ApplePay.crt.pem
ApplePay.key.pem
Certificates.p12
ecccertreq.csr
ecckey.key
merchant_id.cer
merchant_id.pem
password.txt
rsacertreq.csr