Для начала вам необходимо зарегистрировать Apple Merchant ID. Начните с перехода на страницу с инструкцией по регистрации идентификатора продавца на веб-сайте Apple Developer.
Заполните форму с описанием и идентификатором. Ваше описание предназначено для ваших собственных потребностей и может быть изменено в будущем (мы рекомендуем использовать название вашего мобильного приложения). Идентификатор должен быть уникальным (во всех приложениях Apple, а не только в вашем) и не может быть изменен позже (хотя вы всегда можете создать другое). Мы рекомендуем использовать merchant.fondy.eu.{{Your_app_name}}. Сохраните это значение для последующего использования при разработке приложения.
Детальная инструкция:
1.1 Перейдите в Dashboard вашего аккаунта в Apple Developer https://developer.apple.com/account/#
1.2 Войдите в меню Certificates, Identifiers & Profiles

1.3 В меню Identifiers нажите + для создания Merchant ID: https://developer.apple.com/account/resources/identifiers/add/bundleId

1.4 Заполните Description (на ваш выбор) и Identifier (merchant.fondy.eu.{{Your_app_name}}.):

Вам необходимо подключить сертификат в ваше приложение для шифрования данных платежей. Для этого выполните 3 шага:
2.1 Предоставьте необходимую для формирования CSR файла информацию в службу поддержки Fondy. Для этого заполните, пожалуйста, там, где стоит знак «?»:
Country Name (2 letter code) [AU]: ?
State or Province Name (full name) [Some-State]: ?
Locality Name (eg, city) []: ?
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ?
Organizational Unit Name (eg, section) []: ?
Common Name (e.g. server FQDN or YOUR name) []: ?
Email Address []: ?
2.2 Получите 2 файла CSR (запрос на подпись сертификата) от Fondy:
Apple Pay Payment Processing Certificate Request
Apple Pay Merchant Identity Certificate Request
2.3 Используйте эти CSR файлы для генерации сертификатоа продолжая шаг 1.4
блок Apple Pay Payment Processing Certificate:

блок Apple Pay Merchant Identity Certificate :

2.4 Скачайте и передайте полученные сертификаты обратно в Fondy для настройки вашего мерчанта.
Последний шаг этого процесса — добавить в ваше приложение функцию Apple Pay. В Xcode откройте настройки своего проекта, выберите вкладку «Capabilities» и включите переключатель Apple Pay. В этот момент вам может быть предложено войти в свою учетную запись разработчика. Установите флажок рядом с идентификатором продавца, который вы создали ранее, и все готово!

3.2 в интеграции SDK укажите merchant_id полученный при регистрации в Fondy Мерчант-Портале в конструкторе
self.api = [PSCloudipspApi apiWithMerchant:1396424 andCloudipspView:self.webView];
ссылка на строку в github:

3.4 в интеграции SDK укажите merchant_id полученный при регистрации в Fondy Мерчант-Портале в конструкторе
this.api = new Cloudipsp(<ваш Fondy merchant_id>, this.cloudipspWebView);
ссылка на строку в github:
Для прямой интеграции с Apple Pay API, следуйте инструкции Apple Pay.
openssl genrsa -out merchant.key 2048
Apple Pay Merchant Identity Certificate Private Key:
openssl ecparam -out apple_pay.key -name prime256v1 -genkey
openssl req -new -key merchant.key -out merchant.csr
Apple Pay Merchant Identity Certificate Request:
openssl req -new -sha256 -key apple_pay.key -nodes -out apple_pay.csr
openssl pkcs12 -export -out merchant.p12 -inkey merchant.key -in merchant.pem
Пример PHP 7.2
<?php
$ch = curl_init();
$merchantIdentifier = 'merchant.fondy.eu.{{Your_app_name}}'; // Ваш идентификатор мерчанта Apple Pay с шага 1.4
$domainName = 'доменное имя'; //Доменное имя вашего сайта, с которого выполняется оплата
$displayName = 'описание вашего сервиса';
$data = [
'merchantIdentifier' => $merchantIdentifier,
'domainName' => $domainName,
'displayName' => $displayName
];
curl_setopt($ch, CURLOPT_URL, $validationURL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_CERTINFO, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($ch, CURLOPT_SSLCERT, __DIR__ . '/merchant.pem');
curl_setopt($ch, CURLOPT_SSLKEY, __DIR__ . '/merchant.key');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_close($ch);
echo json_encode($res);
{
"token": {
"paymentData": {
"data": "1e3kqjVc...HYJkFFBevkjnAO1jjA9oZsg==",
"signature": "MIAGCSq...AfMDB4b77L6sCICoUo9Lr+0mSvGrn5wKYvB19yOYEAuVwTcxickud0LmIAAAAAAAA",
"header": {
"transactionId": "6fb8a4ea40c8a30c2f8...7b80d9d92d060796018e",
"ephemeralPublicKey": "MFkwEwYHKoZIz.....W56yaUW+kMjaDsvaRpVldv17/mDgP4cK8F0gXmvBaJ3SA==",
"publicKeyHash": "Yx3yIurI+gR....xH82t/v9uId/8eKM+A="
},
"version": "EC_v1"
},
"transactionIdentifier": "6FB8A4EA40C8A30....81EFCC255E7B80D9D92D060796018E",
"paymentMethod": {
"network": "Visa",
"type": "debit",
"displayName": "Visa 1111"
}
}
}