
рдзреНрдпрд╛рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБ рдкрд░ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдпрд╣ рдЦрд░реАрджрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдЯрдЪрдЖрдИрдбреА рдпрд╛ рдлреЗрд╕рдЖрдИрдбреА рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдРрдкреНрдкрд▓ рд╕реЗ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИред рдмреИрдХрдПрдВрдб рднрд╛рд╖рд╛ PHP рд╣реЛрдЧреАред
рдореЗрд░рд╛ рдирд╛рдо рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рд╣реИ, рдореИрдВ рдореЛрдЧреБрдЯрд╛ рдореЗрдВ рдПрдХ рдЬреВрдирд┐рдпрд░ PHP рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдореЛрдЧреБрдЯрд╛.рд╕реАрдПрдордПрд╕ рдореЗрдВ рдРрдкреНрдкрд▓ рдкреЗ рдХреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдФрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдорд╛рддреГрддреНрд╡ рдореЗрдВ рднреБрдЧрддрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ Apple рдкреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреБрдж рдХреЛ рдЕрдзрд┐рдХреГрдд рдХреИрд╕реЗ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реА рдпрд╛рддреНрд░рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрднрд╛рд╡ рдерд╛ред
рдкрд░рд┐рдЪрдп
рдореИрдВ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдкрд░ Apple рдкреЗ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рд╢реАрдЯ рдпрд╣рд╛рдБ рдирд╣реАрдВ рдкреЗрдВрдЯ рдХрд░реВрдБрдЧрд╛ред Apple рдбреЗрд╡рд▓рдкрд░ рдЦрд╛рддреЗ рдХреЛ рдХреИрд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рднреБрдЧрддрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдХрд╣рд╛рдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЙрддреНрддрд░ рднреЗрдЬрдирд╛ рд╣реИ, рдпрд╣ рд╕рднреА рдирд┐рд░реНрджреЗрд╢ RuNet рдкрд░ рдкреВрд░реНрдг рд╣реИрдВ, рдмрд╕ Google рд╕реЗ "рд╕рд╛рдЗрдЯ рдкрд░ рдРрдкреНрдкрд▓ рдкреЗ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди" рдкреВрдЫреЗрдВ рдФрд░ рдЖрдкрдХреЛ рдЬреЛ рднреБрдЧрддрд╛рди рдПрдЧреНрд░реАрдЧреЗрдЯрд░ рдкрд╕рдВрдж рд╣реЛ, рдЙрд╕рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдЧрд╛ред рдХрд╛рд░реНрд░рд╡рд╛рдИред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдореАрдХреНрд╖рд╛
рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХреА рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХрдУрдПрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдУрдПрд╕ рдкрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрд▓рдЧ рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдпрд╣рд╛рдВ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛ред
рдЖрдЗрдП рдкрд╣рд▓реЗ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реА рд╢рддреНрд░реБрддрд╛ рдХрд╛ рд╕реНрдерд╛рди рдХрд╣рд╛рдБ рд╣реЛрдЧрд╛ред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдореЗрдВ рдРрдкреНрдкрд▓ рдкреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреБрдЧрддрд╛рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ;
- рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ Apple рдХреЛ рднреБрдЧрддрд╛рди рдХреА рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИ;
- рд╡рд┐рдХреНрд░реЗрддрд╛ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде Apple рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ;
- рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдЯреВ-рд╡реЗ рдЯреАрдПрд▓рдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдХреНрд░реЗрддрд╛ рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ;
- Apple рдкреЗрдореЗрдВрдЯ рдбреЗрдЯрд╛ рдпреБрдХреНрдд рдбреЗрдЯрд╛ рднреЗрдЬрддрд╛ рд╣реИ;
- рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рднреБрдЧрддрд╛рди рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рджрд╛рддрд╛ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ;
рд╣рдо 4 рдЕрдВрдХ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рдорд╛рдиреНрдп cURL рдЕрдиреБрд░реЛрдз рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рд╣рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ
Apple рдХреЛ рдпрд╣ рдорд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░реА рдкрд╣рдЪрд╛рди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рднреБрдЧрддрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рднреБрдЧрддрд╛рди рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреА рдорд░реНрдЪреЗрдВрдЯ рдЖрдИрдбреА рдХреЗ рдРрдкреНрдкрд▓ рдкреЗ рдорд░реНрдЪреЗрдВрдЯ рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИред

рдЬрд╡рд╛рдм рдореЗрдВ, рд╣рдореЗрдВ рдорд░реНрдЪреЗрдВрдЯ_рдЖрдИрдбреА.рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЧреБрдЪреНрдЫрд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕рдХреА рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдПрдХ .p12 рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ "рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ ..." рдЪреБрдиреЗрдВред

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХреБрдВрдЬреА рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ (рдЬреЛ рдЯрд░реНрдорд┐рдирд▓ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдЧрд╛ рд╡рд╣ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рд╣реЛрдЧрд╛, рд╣рдореЗрдВ Apple рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)
openssl pkcs12 -in < >.p12 -out ApplePay.key.pem -nocerts -nodes
рдФрд░ рдкреАрдПрдо рдореЗрдВ рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓ рдЬрд╛рдПрдВ
openssl x509 -inform der -in merchant_id.cer -out merchant_id.pem
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╣рдо рд╕реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рд╡рд╣реА рд╣реИрдВ рдЬреЛ рд╣рдо рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдирд┐рд╡реЗрджрди рднреЗрдЬреЗрдВ
рд╣рдо рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдХреНрд╖рдг рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ ( рд╣реИрдмрд░ рдкрд░ рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ ), рд╣рдо рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ рдЬрдм рд╕рдлрд╛рд░реА рдореЗрдВ рдЬреЗрдПрд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ Apple рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдерд╛ред
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо cURL рдХреЗ рд╕рд╛рде PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдб рдЙрджрд╛рд╣рд░рдг:
$ch = curl_init(); $data = '{"merchantIdentifier":"<, Merchan ID>", "domainName":"< ->", "displayName":"< -, TouchID/FaceID>"}'; curl_setopt($ch, CURLOPT_URL, '< Apple, validationURL>'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $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, '< >.pem'); curl_setopt($ch, CURLOPT_SSLKEY, '< >.pem'>); curl_setopt($ch, CURLOPT_SSLKEYPASSWD, '< >'); 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);
рд╣рдо рдкреНрд░рд╛рдкреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рднреБрдЧрддрд╛рди рдбреЗрдЯрд╛ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рднреБрдЧрддрд╛рди рдЧреЗрдЯрд╡реЗ рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВред рдмрдзрд╛рдИ рд╣реЛ, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдкреИрд╕реЗ рдЬрдорд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЯрд┐рдкреНрдкрдгреА
рднрд╛рдЧреНрдп рдиреЗ рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдмрдВрдз рдкрд░ рдЦреБрд╢реА рдирд╣реАрдВ рджреА, рдФрд░ Apple рдиреЗ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрддрд░ рджрд┐рдпрд╛:
Payment Services Exception merchantId=< > unauthorized to service on behalf of merchantId=< > reason=\"The latter is not registered for Apple Pay on the web\""
рд╕рдВрджреЗрд╢ рдХрд╛ рдкрд╛рда рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗред рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реВрдЪрдирд╛, рдлрд┐рд░ рд╕реЗ, рдирд╣реАрдВред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╡реНрдпрд╛рдкрд╛рд░реА рд╡реНрдпрд╛рдкрд╛рд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЧрд▓рдд рдорд╛рди рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реБрдЭрд╛рд╡, рд╕реБрдЭрд╛рд╡ рдпрд╛ рдЖрд▓реЛрдЪрдирд╛ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд▓реЗрдЦ рдореИрдВ рдЬреИрд╕реА рдЦреЛрдИ рд╣реБрдИ рдЖрддреНрдорд╛рдУрдВ рдХреЛ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдХрд░реЗрдЧрд╛ред