Предупреждение: если у вас нет Apple Developer console, вам необходимо ее создать и оплатить 99$
Общая информация
Параметр | Значение |
---|---|
ID | 163 |
Версия модуля | 8.xx |
Версия биллинга | >1.0.xx |
Настройки модуля
- Скопировать файл ApplePay.pm в папку /usr/abills/Abills/modules/Paysys/systems/
- Зайти в меню Настройки
>
Paysys>
Настройки Добавить платежную систему
Настройка со стороны сервера
Устанавливаем пакет
sudo apt-get install libssl-dev
Далее через cpan Perl модули
cpan install Crypt::OpenSSL::X509 install Crypt::PK::ECC install Crypt::AuthEnc::GCM
Настройка со стороны Apple
Создание мерчанта в AppleDeveloper
1) Заходим в https://developer.apple.com/account/resources/identifiers/list/merchant
2) Далее
3) В поле Description прописываем произвольное описание и в Identifier ID нашого мерчанта
Создание Apple Pay Payment Processing Certificate
Генерируем .csr для загрузки в AppleDeveloper
openssl ecparam -out private.key -name prime256v1 -genkey openssl req -new -sha256 -key private.key -nodes -out request.csr
После создания request.csr заходим в Apple Developer и загружаем request.csr
1) заходим в созданный мерчант в Apple Developer
2) Создаем сертификат
3) На вопрос Will payments associated with this Merchant ID be processed exclusively in China mainland? отвечаем No
4) Выбираем созданный сертификат и нажимаем Continue
5) После нужно скачать сертификат, будет под названием apple_pay.cer
6) Далее нужно будет получить 2 .pem файла
openssl x509 -inform DER -outform PEM -in apple_pay.cer -out temp.pem openssl pkcs12 -export -out key.p12 -inkey private.key -in temp.pem
Пароль от ключа .p12 нужно сохранить, он еще пригодится
openssl x509 -inform DER -outform PEM -in apple_pay.cer -out apple-pay-processing-cert.pem openssl pkcs12 -in key.p12 -out apple-pay-processing-private-key.pem -nocerts -nodes
После генерации должно быть два файла наподобие этих
-----BEGIN CERTIFICATE----- MIIEfzCCBCagAwIBAgIIcDQ4Fbx2jWYwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMM K0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAk BgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApB cHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xOTAyMjMxNDU2NDFaFw0yMTAzMjQx NDU2NDFaMIGxMTAwLgYKCZImiZPyLGQBAQwgbWVyY2hhbnQuY29tLmdyYXRpdHVk ZS5ncmF0aXR1ZGUxRjBEBgNVBAMMPUFwcGxlIFBheSBQYXltZW50IFByb2Nlc3Np iWlORp7+MRSeIt3sEdnWIhY29xvHSdXgMT6kpaUupattcKtlHnLiYlTJHRRCO20x 2thoxaQriM+gFSnAyzrdaOnVTJHRRCO20xxcarcjHFr9GHRVsoysRC/ThwAqMaTs XEV5VwHqpLuvzOca/+A5Q1MEkhH4lgNrqs5AhKkI1WZv2AWErjxkXBehvZy5C51n RNcJ4KOAHTePfdrkQ3YVcyMnTlz2QBT8K/uLkoG/H1U8nNfaxwA5m6FDLoVXatC2 oGI+ctCv5Ge2SsEPaUqJ7zE3BU4UsbRvwiXwbWW42YZ2V2wvASdTiXw3/nv7apD4 H+PXFQuC86CSKNKV58jFZZNQoTlU0K+0rBR63ps4bBonVg4Bp2EBntFu5Du/rXMo U5qxOgbh3/ZNtUT52AQicdJ0c+IgVYP6sGhVGorxMS0lFQ67qaj6luRaqzVovcGl wa7DzQxcl0HZh2M/Wj9v2d+oGjlINlD9SAlWA/dWXrQF6kzEMoOJKBakO1SRVwD2 9UMDoM5JUK+iBteSFp6iHB7wyfb8VMwzzU3aSWDC+zrsbGXgQsFJ9ZClMyu/aiWs rbugF9EtKocCWbODlxbRBp310XkPVcOKamZ0UI8P3+AvuMeXdnrFzUUBZnXU8bWM RuIiK0QZobngHsRO3J/oT1h9URFflg7MrvbAyHTBPv5bSztOPcxOEIfwd+opq6Bc MXZ+0fErpK5YW7jcahrPRp63e3FZjiKrHWZPFXXOH3N30VKRMDsKbZepNWu4glVb YwKcj8BAm4LvxkCLODZVIsqYZbNTzyTWbKiz7G53Rt6XqFaQVlqlSxvA97SUfq62 RNcJ4KOAHTePfdrkQ3YVcyMnTlz2QBT8K/uLkoG/H1U8nNfaxwA5m6FDLoVXatC2 8nG5lEs5hYJ2WG9Yo39m1gyCHeNse5sOrph9Dq7tro5mO+nX3XaVaIi3MHFl9Hq6 uMetisso8rg633J/YpJipiz6MOdpf7Q7LqX6M0i3x4BJZfIa3xZPsUoEYObyGTJI OtAJHpvnTIoDhBApBiH/sDq97pzcsl4VkngxxEiTEjXYQEIhcVQpG6lU6rX9+ekQ qDRXQRMETBev1j7Y1w/v2K0CIAlnnXPVX52g5FTadoFyVq2a91sA4ao44VabMaz8 W5k1 -----END CERTIFICATE-----
Bag Attributes localKeyID: 90 C8 20 E7 8A 2A E5 7E 33 06 FD C5 43 47 9F 15 2F DE 73 90 Key Attributes: <No Attributes> -----BEGIN PRIVATE KEY----- 8nG5lEs5hYJ2WG9Yo39m1gyCHeNse5sOrph9Dq7tro5mO+nX3XaVaIi3MHFl9Hq6 YwKcj8BAm4LvxkCLODZVIsqYZbNTzyTWbKiz7G53Rt6XqFaQVlqlSxvA97SUfq62 qDRXQRMETBev1j7Y1w/v2K0CIAlnnXPVX52g5FTadoFyVq2a91sA4ao4 -----END PRIVATE KEY-----
Далее нужно создать каталог на сервере apple в /usr/abills/Certs/ и загрузить туда два файла apple-pay-processing-private-key.pem и apple-pay-processing-cert.pem
Создание Apple Pay Merchant Identity Certificate
1) Нужно будет сгенерировать новый запрос на подпись сертификата (CSR) и ключ. Это проще всего сделать с помощью команды терминала следующим образом:
openssl req -new -newkey rsa:2048 -nodes -keyout applepay.key -out applepay.csr -subj '/O=ABillS/C=UA'
Важно: CSR должен быть создан с использованием данных вашей компании. В приведенном выше примере O=ABillS следует заменить на название вашей компании, а C=UA — на страну вашей компании.
Также могут быть включены дополнительные данные, такие как область, город, электронная почта и т.д.
Эта команда создаст два файла:
- applepay.key
- applepay.csr
2) Заходим в созданный мерчант в Apple Developer
3) В нижней части страницы нажмите Create Certificate под заголовком Apple Pay Merchant Identity Certificate.
4) Загрузите файл applepay.csr, созданный в начале этой страницы, и нажмите Continue.
5) Скачиваем сертификат
6) Нужно экспортировать файл .pem с сертификата с помощью следующей команды терминала:
openssl x509 -inform DER -in merchant_id.cer -out apple_pay.pem
6) Нужно создать файл .p12 с файлов созданного в 1 пункте и 6 пунктах с помощью следующей команды терминала:
openssl pkcs12 -export -out apple-pay.p12 -inkey applepay.key -in apple_pay.pem
Нужно ввести пароль, вводится произвольный
7) Нужно экспортировать файл .pem с ключа .p12
openssl pkcs12 -in apple-pay.p12 -out apple-pay-cert.pem -nodes -clcerts
Сохраняем файл apple-pay-cert.pem на сервере в каталоге /usr/abills/Certs/apple
Подтверждение домена Apple Merchant
1) Заходим в созданный мерчант в Apple Developer
2) В нижней части страницы нажмите Add Domain под заголовком Merchant Domains.
3) Прописываем домен
4) Загружаем файл apple-developer-merchantid-domain-association.txt
5) Далее нужно создать каталог на сервере .well-known/ в /usr/abills/cgi-bin/ и загрузить туда файл apple-developer-merchantid-domain-association.txt
6) Далее в консоле нажимаем OK
7) Домен должен стать со статусом Verified
Настройка контрагента
Платежная система Apple Pay не настраивается напрямую, а с помощью других платежных систем, поддерживающих обработку токена Apple Pay.
Поддерживаются следующие платежные системы:
Параметры модуля
Параметр | Значение | Пример |
---|---|---|
PAYSYS_APAY_COUNTRY_CODE | Код страны | UA |
PAYSYS_APAY_CURRENCY | Валюта в которой будут происходить платежи | UAH |
PAYSYS_APAY_DISPLAY_NAME | Название магазина которое будет отображатся пользователю | Test shop |
PAYSYS_APAY_LABEL | Описание услуги товара за который оплачивает пользователь. Будет отображатся пользователю | Оплата за услуги |
PAYSYS_APAY_MERCHANT_DOMAIN | Домен на котором настроен ApplePay | demo.abills.net.ua |
ID торговца в Apple Developer консоле | merchant.test | |
PAYSYS_APAY_DECRYPTED_TOKEN | Работа с расшифрованным токеном, по умолчанию с зашифрованным | 1 |
PAYSYS_APAY_GATEWAY | Название платежной системи, через которую должны идти платежи | liqpay |