Skip to end of metadata
Go to start of metadata

Предупреждение: если у вас нет Apple Developer console, вам необходимо ее создать и оплатить 99$

Общая информация

ПараметрЗначение
ID163
Версия модуля8.xx
Версия биллинга>1.0.xx

Настройки модуля

  1. Скопировать файл ApplePay.pm в папку /usr/abills/Abills/modules/Paysys/systems/
  2. Зайти в меню Настройки>Paysys>Настройки
  3. Добавить платежную систему

Настройка со стороны сервера

Устанавливаем пакет

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

После генерации должно быть два файла наподобие этих

apple-pay-processing-cert.pem
-----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-----
apple-pay-processing-private-key.pem
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.
Поддерживаются следующие платежные системы:

  1. Liqpay
  2. Stripe

Параметры модуля

Параметр

Значение

Пример
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
  • No labels