1

你好堆垛机,

我正在尝试在我们的电子商务中实施 Apple Pay on Web。

我只是在处理商户身份证明问题。

我们使用 PHP 5.6 和 curl 调用 Apple Pay 验证以从 Apple 会话中获取 ApplePaySession。

我在 Apple Developer 控制台中创建了一个证书,我下载了该证书并将其添加到钥匙串中。导出 .p12 文件并通过以下命令创建两个文件:带有证书的 cert.pem 和带有私钥的 key.pem:

openssl pkcs12 -in applePayCert.p12 -out cert.pem -clcerts -nokeys

openssl pkcs12 -in applePayCert.p12 -out key.pem -nocerts -nodes

我通过 curl 调用 Apple 服务器

$data = json_encode([
    'merchantIdentifier' => ADYENAPPLEPAY_APPLE_MERCHANT_IDENTIFIER,
    'initiativeContext'  => PRODUCTION_DOMAINNAME,
    'displayName'        => ADYENAPPLEPAY_APPLE_DISPLAY_NAME,
    'initiative'         => 'web',
]);

// create a new cURL resource
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $validationUrlFromApplePayJs);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSLCERT, PRODUCTION_CERTIFICATE_PATH);
curl_setopt($ch, CURLOPT_SSLKEY, PRODUCTION_CERTIFICATE_KEY);

$result = curl_exec($ch);

当我打电话

curl_error($ch)

我有

无法使用客户端证书(未找到密钥或密码错误?)

但我没有设置任何密码

4

0 回答 0