微信小程序怎么链接java服务端接口?
微信小程序怎么链接java服务端接口?各位有需要的亲们,您想了解微信小程序怎么链接java服务端接口吗?以上是小编整理的微信小程序怎么链接java服务端接口的内容。
1.准备工作获取appid和appkey(api密匙)
微信支付申请审核通过后,您就可以收到微信发给您的邮件,里面有您账户相关参数。
第一个坑:公众平台的密钥和商户号的密钥是不一样的!!!微信支付审核成功之后会收到一封邮件,邮件中有appid 商户号,商户后台登录上号和密码,登录到商户后台:账户设置-安全设置-切换到API安全,下载证书,下面有一个api密匙,进去填写一个字符串,保存,后续两次签名都是用的这个手动设置的key!!!
2.服务端工作流程
这里跳过流程图中的前三步
2.1调用统一下单接口,获取prepayid
2.1.1准备所需参数
统一下单接口必需参数:appid,mch_id,nonce_str,body,out_trade_no,total_fee,spbill_create_ip,notify_url,trade_type,这九个参数部分是客户端传来的,其中notify_url是异步通知(微信通知应用服务端的URL地址)
详见pay.weixin.qq/wiki/doc/api/jsapi.php?chapter=9_1
第二个坑:以上所需九个参数变量名必是小写,total_fee以分为单位,是大于0的整数;同一个应用的安卓和苹果分配的appid不一样,可以让客户端携带appid来请求
2.1.1对参数进行签名
按照支付接口文档给的签名说明:需要先对参数按照ascii码进行排序,值为空的不参与排序,参与排序的字段不包括appkey(api密匙)。排完序后,将排好序的字段塞进xml中,同时用排好序的字符串与key及其值通过&拼接起来,之后再使用MD5加密,然后将小写转大写,这就是生成的sign(签名)值。最后将sign塞进xml中。然后就可以开始向微信统一下单接口发起请求了,接收prepayid。
以下是我自己的小程序代码,大部分和网上的一样:
//这个是将参数从reqInfo对象放进一个map中
[java] view plain copypublic StringgetXmlStr(WCPayGetPrePayIdReqInfo reqInfo) {
Mapparams = new HashMap();
params.put("appid",reqInfo.getAppId()); //上面的appid,注意大小写
params.put("mch_id",reqInfo.getMchId()); //商户id
params.put("key",reqInfo.getKey()); //appkey(api密匙)
params.put("nonce_str",WCPayUtils.getRandomNumber(32)); //32位随机数
params.put("body",reqInfo.getBody()); //商品描述
params.put("out_trade_no",reqInfo.getOutTradeNo()); //应用后台生成的订单id
params.put("total_fee",reqInfo.getTotalFee()); //总金额
params.put("spbill_create_ip",reqInfo.getSpbillCreateIp()); //用户终端ip
params.put("notify_url","application/test"); //异步通知URL
params.put("trade_type",reqInfo.getTradeType()); //交易方式,参见微信接口文档
try{
returnWCPayUtils.getXmlFromParamsMap(params);
}catch (Exception e) {
LogFactory.getLog("Message").debug("生成xml字符串出错");
}
return null;
}
以上就是小编整理微信小程序怎么链接java服务端接口的内容,希望有需要的各位亲们可以学会。如果您想了解更多相关内容请多多关注微小乔。本网内容不断更新中。
微信小程序适合应用于哪些场景?
到底是做微信小程序还是服务号?
微信小程序盈利模式是怎样的?微信小程序如何盈利?