1

我刚开始使用applepay,我正在尝试在本地机器上开发,我定义了一个merchantid,标识符,并且在我的苹果开发者帐户中都标记为已验证

我正在使用 ngrok 能够从外部访问我的机器 - 我能够访问此文件 .well-known/apple-developer-merchantid-domain-association.txt

但是当我使用这个请求时: curl https://apple-pay-gateway.apple.com/paymentservices/paymentSession -d 'const options= { url: "paymentSession url ", cert: "./applepay.cer",键:“./merchantid.cer”,方法:'post',正文:{商人标识符:“merchant.myDomin.com”,显示名称:“myDomin”,倡议:“网络”,倡议上下文:“myDomin.myDomin.com” }, json: true, }' 我得到错误:EPROTO 4517103040:error:14094410:SSL routines:ssl3readbytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/s3_pkt.c:1494:SSL alert number 40

我究竟做错了什么 ?(苹果支付弹出在流程中显示,我在 session.onvalidatemerchant 事件中失败

4

1 回答 1

0
curl -XPOST -H "Content-type: application/json" -d '{"merchantIdentifier":"merchant.***.xxxxx","displayName":"Test 
Pay","initiative":"web","initiativeContext":"***-***-xxxxxx.xxxxxxxxxx.xx"}' --cert cert.pem:cert.pem 
'https://apple-pay-gateway-cert.apple.com/paymentservices/startSession'

这是我用来从苹果支付服务器获取会话的有效 curl 请求。

https://developer.apple.com/documentation/apple_pay_on_the_web/setting_up_your_server

请检查是否满足所有服务器要求。与 node.js 一样,您需要指定最低 TLS 版本。(就我而言,我是按照请求完成的)。

参考我的代码:无法从 Apple Pay 获得任何响应 - 此资源来自本地覆盖

如果您已填写所有服务器要求问题,则应使用您的商家身份证书。

讨论 - https://developer.apple.com/forums/thread/679789?login=true&page=1#674694022

于 2021-05-18T08:04:46.717 回答