一门APP开发教程

标题: 支付宝官方教程: 第三步:使用应用私钥生成请求签名 [打印本页]

作者: 鲨鱼辣椒    时间: 2020-5-27 16:16
标题: 支付宝官方教程: 第三步:使用应用私钥生成请求签名
支付宝官方教程: 第三步:使用应用私钥生成请求签名

【使用一门APP开发平台的用户可以不用查看这一步】

本步骤向您介绍了开发者分别在选择普通公钥、公钥证书两种签名方式下,如何对请求内容进行签名,并对支付宝返回的内容进行验签。
简而言之,签名的过程即生成签名方(通常为支付宝客户端)将传送的消息用私钥加密的过程;验签则是指验签方(通常为开放平台的服务端)使用公钥对消息进行验证的过程。
以 JAVA 语言为例,签名和验签的过程大致为:
支付宝开放平台 SDK 封装了签名和验签过程,只需配置账号及密钥参数即可,强烈建议使用。
SDK 下载地址
说明: 文中代码部分以 JAVA 语言演示,其他语言请参考各自 SDK。
普通公钥方式
以下介绍了开发者如何把以下内容配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签:
使用开放平台 SDK 接入
开放平台 SDK 封装了签名实现,只需在创建 DefaultAlipayClient 对象时,设置请求网关 (gateway),应用 id (app_id),应用私钥 (private_key),编码格式 (charset),支付宝公钥 (alipay_public_key),签名类型 (sign_type)即可,报文请求时会自动进行签名。
[backcolor=rgba(228, 228, 228, 0.75)]AlipayClient alipayClient = new DefaultAlipayClient(gateway,app_id,private_key,"json",charset,alipay_public_key,sign_type);未使用开放平台 SDK
如果未使用开放平台SDK,需要自行实现签名过程,参考此处流程
公钥证书方式
以下介绍了开发者如何把以下内容配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签:
使用开放平台 SDK 接入
如果你当前已经使用了服务端SDK,请注意:
开放平台 SDK 封装了签名实现,只需在创建 DefaultAlipayClient 对象时,设置请求网关 (gateway),应用 id (app_id),应用私钥 (private_key),应用公钥证书路径(app_cert_path 文件绝对路径),支付宝公钥证书文件路径(alipay_cert_path 文件绝对路径),支付宝CA根证书文件路径(alipay_root_cert_path 文件绝对路径),编码格式 (charset),签名类型 (sign_type)即可,报文请求时会自动进行签名。
[backcolor=rgba(228, 228, 228, 0.75)]//构造clientCertAlipayRequest certAlipayRequest = new CertAlipayRequest();certAlipayRequest.setServerUrl(gateway);certAlipayRequest.setAppId(app_id);certAlipayRequest.setPrivateKey(privateKey);certAlipayRequest.setFormat("json");certAlipayRequest.setCharset(charset);certAlipayRequest.setSignType(sign_type);certAlipayRequest.setCertPath(app_cert_path);certAlipayRequest.setAlipayPublicCertPath(alipay_cert_path);certAlipayRequest.setRootCertPath(alipay_root_cert_path);DefaultAlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);//发送API请求AlipayRequest request = new AlipayTradeQueryRequest();AlipayTradeQueryResponse response =  alipayClient.certificateExecute(request);未使用开放平台 SDK
如果未使用开放平台SDK,需要自行实现签名过程,参考此处流程







欢迎光临 一门APP开发教程 (https://bbs.yimenapp.com/) Powered by Discuz! X3.4