客户端代码生成签名
服务端生成签名
两者一致 身份和行为无误了
【微信支付】JSAPI支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
整数
标价金额 | total_fee | 是 | Int | 88 | 订单总金额,单位为分,详见支付金额 |
alipay.trade.create | 免费 | 统一收单交易创建接口 |
alipay.trade.pay | 免费 | 统一收单交易支付接口 |
身份 和行为 均有 签名体现
开放平台文档中心 https://docs.open.alipay.com/291/105974
使用应用私钥生成请求签名
技术同学把1).APPID,2).应用私钥,3).支付宝公钥,配置在代码中,对请求内容进行签名,并对支付宝返回的内容进行验签。
支付宝开放平台SDK封装了签名和验签过程,只需配置账号及密钥参数即可,强烈建议使用。
使用开放平台SDK接入
开放平台SDK封装了签名实现,只需在创建DefaultAlipayClient对象时,设置请求网关(gateway),应用id(app_id),应用私钥(private_key),编码格式(charset),支付宝公钥(alipay_public_key),签名类型(sign_type)即可,报文请求时会自动进行签名。
AlipayClient alipayClient = new DefaultAlipayClient(gateway,app_id,private_key,"json",charset,alipay_public_key,sign_type);
【钱从哪里到哪里,货从哪里到哪里,先有钱还是先有货】
@精确到小数点后两位
开放平台文档中心 https://docs.open.alipay.com/api_1/alipay.trade.pay
_amount Price 可选 11 订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]
如果同时传入【可打折金额】和【不可打折金额】,该参数可以不用传入;
如果同时传入了【可打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【可打折金额】+【不可打折金额】
【微信支付】JSAPI支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
1、交易金额
交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。
外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。