Doc URL: https://developer.apple.com/documentation/applepayontheweb/requesting-an-apple-pay-payment-session
How can I send a POST request using PHP, and what certificates are required? Currently, I have downloaded the following files on the backend: merchant_id.cer, apple_pay.cer, and a local cert.p12 file
This my code: <?php
$url = "https://apple-pay-gateway.apple.com/paymentservices/paymentSession"; $data = [ 'merchantIdentifier' => '***', 'displayName' => 'Donation', 'initiative' => 'web', 'initiativeContext' => 'test.com' ]; $jsonData = json_encode($data); $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_SSLKEY, "./private.pem"); curl_setopt($ch, CURLOPT_SSLKEYTYPE, "PEM"); curl_setopt($ch, CURLOPT_SSLCERT, "./merchant_id.pem");
$response = curl_exec($ch);
if (curl_errno($ch)) { echo 'cURL Error: ' . curl_error($ch); } else { echo $response; }
curl_close($ch);
But, this return an Error:cURL Error: unable to set private key file: '/private.pem' type PEM%