调用微信支付的接口开发(微信支付接口开发文档)

网友投稿 620 2023-03-06


本篇文章给大家谈谈调用微信支付的接口开发,以及微信支付接口开发文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享调用微信支付的接口开发的知识,其中也会对微信支付接口开发文档进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

微信小程序支付API

2019年12月26日

文档:

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7

一.一般要开发的两个接口

1.统一下单

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

2.申请退款

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4

3.签名规则

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

二.小程序支付时序图

关键就是wx.requestPayment(object)

2.ps商户系统和微信支付系统主要交互:

1、小程序内调用登录接口,获取到用户的openid,api参见公共api【 小程序登录API 】

2、商户server调用支付统一下单,api参见公共api【 统一下单API 】

3、商户server调用再次签名,api参见公共api【 再次签名 】

4、商户server接收支付通知,api参见公共api【 支付结果通知API 】

5、商户server查询支付结果,api参见公共api【 查询订单API 】

三.微信小程序支付实现步骤

1.获取登录凭证code 并传给后端服务器

2.后端服务器请求微信服务器获取openid和session_key,并将openid返回给小程序

3.小程序客服端发起支付请求给后端服务器 (带上openid参数)

4.后端服务器接收到openId后,调用微信支付统一下单接口(后端调用的,用来给小程序获取支付参数)

5.拿到后端服务器返回的5个参数后,调用最终支付接口wx.requestPayment

6.微信服务器进行支付成功后,通知后端服务器。

微信小程序怎么调用微信支付接口

微信小程序是可以接入微信支付的接口的调用微信支付的接口开发,比如目前还信用卡的小程序就可以通过微信支付来完成信用卡的还款调用微信支付的接口开发;要使用此功能,用户只需在微信中关联一张银行卡,并完成身份认证,即可将装有app的智能手机变成一个全能钱包,之后即可购买合作商户的商品及服务,在付费时只需在自己的智能手机上输入密码,无需任何刷卡步骤即可完成整个过程且简便流畅

如何调通微信支付及微信发货通知接口

一、
1.使用网页授权接口
使用网页授权接口获取用户的基本信息。
2.使用共享收货地址控件
使用共享收货地址控件,获取用户在微信的收货地址。
3.使用JSAPI发起支付请求
使用JSAPI在微信的网页中发起支付请求,详细方法见文档中有关JSAPI的章节。
4.使用NativeAPI发起支付请求
使用NativeAPI发起支付请求,详细方法文档中有关NativeAPI的章节。
5.接入客服维权系统
所有公众号商户必须接入客服维权系统。接入客服维权系统后,用户可以通过自定义菜单中“维权”菜单,选择订单,向微信发起维权请求。微信将会把维权信息通过payfeedback_url通知到商户,商户必须在规定时间内处理维权请求。
6.在第三方应用上发起支付请求
在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。
微信支付接口开发的出现改变了传统网购只有支付宝这种第三方支付平台的格局,无论是买家还是卖家都有了个新的选择,对于人们而言只是有利而无害的。
二、
1.使用网页授权接口
使用网页授权接口获取用户的基本信息。
2.使用共享收货地址控件
使用共享收货地址控件,获取用户在微信的收货地址。【微信公众号支付】收货地址共享接口文档V1.6.pdf点击下载
3.使用公众号发起支付请求
使用JSAPI在微信的网页中发起支付请求,详细方法见文档中有关JSAPI的章节。
使用NativeAPI发起支付请求,详细方法文档中有关NativeAPI的章节。微信支付接口文档及demo(公众账号).zip点击下载
4.接入客服维权系统
所有公众号商户必须接入客服维权系统。接入客服维权系统后,用户可以通过自定义菜单中“维权”菜单,选择订单,向微信发起维权请求。微信将会把维权信息通过payfeedback_url通知到商户,商户必须在规定时间内处理维权请求。【微信公众号支付】用户维权系统及接口说明V1.6.pdf点击下载
5.在第三方应用上发起支付请求
在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。微信支付接口文档及demo(APP).zip点击下载
6.微信支付退款对账
使用微信支付退款和对账功能,帮助轻松实现退款和对账。微信支付(退款对账接口)文档.zip点击下载
微信支付接口开发对接教程就是这样,微信支付接口开发完后一定要进行对接。现在无论供接口开发、微信接口开发还是需要微信支付接口开发,一品威客网上都有优秀的接口开发设计威客给你提供各种方案。

JS交互微信之JSAPI支付

本篇为 JS交互微信系列篇 的第四篇 微信JSAPI支付 ,记录在微信内置浏览器内用调用微信支付过程。

JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。

要拥有两个账号:

要开通产品中心的JSAPI支付。然后 产品中心=开发配置=支付配置=公众号支付配置 绑定支付授权目录,写已通过ICP备案的域名。
另外,要在ip白名单中,配置测试地址ip和线上生产地址ip,不然各种回调都会失败!

由于在微信内支付需要获取用户的 openid ,要获取它则必须通过网页授权配置。在公微信公众平台中, 公众号设置=功能设置=网页授权域名 中按要求填写。

在支付流程方面,重点依然都在后端处理,前端方面步骤比较简单。本文只叙述前端内容。

在将要进入支付的前一页面,直接接入微信授权,然后跳转进要支付的那个页面。举个例子:有a、b两个页面,在b页面用到支付,b页面由a页面跳转而来。那么在a页面跳b页面的时候,别直接跳转b的url,而是跳转到:
https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}redirect_uri={b.html}response_type=codescope=snsapi_base#wechat_redirect
我们注意到,这里有这两个需要自己写的参数: appid 和 redirect_uri ,意义是:

另外,还有一个注意的点是, b.html这个url我们要进行encode转码,不然地址解析可能会出现问题!

上一步执行完后,在微信浏览器中,我们会得到一个链接,类似:
b.html?code={code}state=#/
在此处,我们得到了一个code值,这就是我们获取 openid 的凭证了。
获取方法当然是把值传给后台,后台去处理啦~

在上一步中,我们拿到code值后,就可以提交一些信息给后端了,比如商品相关属性、总价等,另外加上code值,传给后端。后端一顿操作后,返回给前端。我们需要的参数如下(后端返回下面这些参数):

上个步骤拿到需要交互微信的参数后,就开始调用微信的支付接口了,如下:

至此,调用微信JSAPI来完成在微信内的支付就完成了。

怎么用java调用微信支付接口

java调用微信支付接口方法调用微信支付的接口开发
RequestHandler requestHandler = new RequestHandler(super.getRequest(),super.getResponse());

//获取token //两小时内有效调用微信支付的接口开发,两小时后重新获取

Token = requestHandler.GetToken();

//更新token 到应用中

requestHandler.getTokenReal();

System.out.println("微信支付获取token=======================:" +Token);
//requestHandler 初始化

requestHandler.init();

requestHandler.init(appid,appsecret, appkey,partnerkey, key);
// --------------------------------本地系统生成订单-------------------------------------

// 设置package订单参数

SortedMap<String, String packageParams = new TreeMap<String, String();

packageParams.put("bank_type", "WX"); // 支付类型

packageParams.put("body", "xxxx"); // 商品描述

packageParams.put("fee_type", "1"); // 银行币种

packageParams.put("input_charset", "UTF-8"); // 字符集

packageParams.put("notify_url", "http://xxxx.com/xxxx/wxcallback"); // 通知地址 这里的通知地址使用外网地址测试调用微信支付的接口开发,注意80端口是否打开。

packageParams.put("out_trade_no", no); // 商户订单号

packageParams.put("partner", partenerid); // 设置商户号

packageParams.put("spbill_create_ip", super.getRequest().getRemoteHost()); // 订单生成的机器IP调用微信支付的接口开发,指用户浏览器端IP

packageParams.put("total_fee", String.valueOf(rstotal)); // 商品总金额,以分为单位
// 设置支付参数

SortedMap<String, String signParams = new TreeMap<String, String();

signParams.put("appid", appid);

signParams.put("noncestr", noncestr);

signParams.put("traceid", PropertiesUtils.getOrderNO());

signParams.put("timestamp", timestamp);

signParams.put("package", packageValue);

signParams.put("appkey", this.appkey);
// 生成支付签名,要采用URLENCODER的原始值进行SHA1算法!

String sign ="";

try {

sign = Sha1Util.createSHA1Sign(signParams);

} catch (Exception e) {

e.printStackTrace();

}
// 增加非参与签名的额外参数

signParams.put("sign_method", "sha1");

signParams.put("app_signature", sign);
// api支付拼包结束------------------------------------
//获取prepayid

String prepayid = requestHandler.sendPrepay(signParams);

System.out.println("prepayid :" + prepayid);
// --------------------------------生成完成---------------------------------------------
//生成预付快订单完成,返回给android,ios 掉起微信所需要的参数。

SortedMap<String, String payParams = new TreeMap<String, String();

payParams.put("appid", appid);

payParams.put("noncestr", noncestr);

payParams.put("package", "Sign=WXPay");

payParams.put("partnerid", partenerid);

payParams.put("prepayid", prepayid);

payParams.put("appkey", this.appkey);

//这里除1000 是因为参数长度限制。

int time = (int) (System.currentTimeMillis() / 1000);

payParams.put("timestamp",String.valueOf(time));
System.out.println("timestamp:" + time);
//签名

String paysign ="";

try {

paysign = Sha1Util.createSHA1Sign(payParams);

} catch (Exception e) {

e.printStackTrace();

}

payParams.put("sign", paysign);
//拼json 数据返回给客户端

BasicDBObject backObject = new BasicDBObject();

backObject.put("appid", appid);

backObject.put("noncestr", payParams.get("noncestr"));

backObject.put("package", "Sign=WXPay");

backObject.put("partnerid", payParams.get("partnerid"));

backObject.put("prepayid", payParams.get("prepayid"));

backObject.put("appkey", this.appkey);

backObject.put("timestamp",payParams.get("timestamp"));

backObject.put("sign",payParams.get("sign"));
String backstr = dataObject.toString();

System.out.println("backstr:" + backstr);
return backstr;
====================到此为止,预付款订单已生成,并且已返回客户端====================
//坐等微信服务器通知,通知的地址就是生成预付款订单的notify_url
ResponseHandler resHandler = new ResponseHandler(request, response);

resHandler.setKey(partnerkey);

//创建请求对象

//RequestHandler queryReq = new RequestHandler(request, response);

//queryReq.init();

if (resHandler.isTenpaySign() == true) {

//商户订单号

String out_trade_no = resHandler.getParameter("out_trade_no");

System.out.println("out_trade_no:" + out_trade_no);

//财付通订单号

String transaction_id = resHandler.getParameter("transaction_id");

System.out.println("transaction_id:" + transaction_id);

//金额,以分为单位

String total_fee = resHandler.getParameter("total_fee");

//如果有使用折扣券,discount有值,total_fee+discount=原请求的total_fee

String discount = resHandler.getParameter("discount");

//支付结果

String trade_state = resHandler.getParameter("trade_state");
//判断签名及结果

if ("0".equals(trade_state)) {

//------------------------------

//即时到账处理业务开始

//------------------------------
System.out.println("----------------业务逻辑执行-----------------");
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

System.out.println("----------------业务逻辑执行完毕-----------------");

System.out.println("success"); // 请不要修改或删除
System.out.println("即时到账支付成功");

//给财付通系统发送成功信息,财付通系统收到此结果后不再进行后续通知

resHandler.sendToCFT("success");
//给微信服务器返回success 否则30分钟通知8次

return "success";

}else{

System.out.println("通知签名验证失败");

resHandler.sendToCFT("fail");

response.setCharacterEncoding("utf-8");

}

}else {

System.out.println("fail -Md5 failed");

微信支付接口开发

用户扫描商户展示在各种场景的二维码进行支付。
步骤1:商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。
步骤2:用户使用微信“扫一扫”扫描二维码后,获取商品支付信息,引导用户完成支付。
步骤(3):用户确认支付,输入支付密码。
步骤(4):支付完成后会提示用户支付成功,商户后台得到支付成功的通知,然后进行发货处理。 关于调用微信支付的接口开发和微信支付接口开发文档的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 调用微信支付的接口开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于微信支付接口开发文档、调用微信支付的接口开发的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于Vue单页面骨架屏实践记录
下一篇:浅谈java定时器的发展历程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~