云快卖,提供专业好用的外卖系统、跑腿系统和同城信息系统,公众号+小程序+APP多端适用。
​微信扫码支付的开发流程及流程介绍
2024-01-01 00:01:43 云快卖

第一章微信扫码支付介绍

​微信扫码支付就是我们目前生活中最常使用的联通端支付方法之一。

第二章微信支付必要条件

​我们要完成微信支付,这么我们顾客自己是付款方,这么收款方呢?所以在这儿我们须要一个收款方。这么要才能成为微信扫码支付的收款方,我们须要去申请微信的服务号,之后去开通扫码支付。(这个服务号个人未能申请,在这儿不做教程说明)

第三章微信支付流程介绍

微信支付模式介绍

模式一:商户必须在公众平台后台设置支付反弹URL。

模式二:调用微信的插口,获取支付的地址。

在这儿,我没法登录后台,所以选择使用模式二。

模式二开发流程介绍

按照上述的时序图,得到如下的流程:注意上图中蓝色部份就是我们开发者须要做的部份

(1)商户后台系统按照用户购买的商品生成订单。

(2)用户确认支付后调用微信支付【统一下单API】生成预支付交易.

(3)微信支付收到恳求后生成预支付交易单,并返回交易会话的二维码链接

(4)商户后台系统按照返回的生成二维码。

(5)用户打开微信“扫一扫”扫描二维码,微信顾客端将扫码内容发送到微信支付系统。

(6)微信支付系统收到顾客端恳求,验证链接有效性后发起用户支付,要求用户授权。

(7)用户在微信顾客端输入密码,确认支付后,微信顾客端递交授权。

(8)微信支付系统按照用户授权完成支付交易。

(9)微信支付系统完成支付交易后给微信顾客端返回交易结果,并将交易结果通过邮件、微信消息提示用户。微信顾客端展示支付交易结果页面。

(10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。

(11)未收到支付通知的情况,商户后台系统调用【查询订单API】。

(12)商户确认订单已支付后给用户发货。

第四章核心流程所涉及的功能代码

1.调用微信的【统一下单API】,会的到微信支付的地址

2.依据生成二维码

3.调用【查询订单API】,查询微信支付的结果。

第五章统一下单api代码说明

首先须要下载微信支付的jar包【SDK与DEMO下载】

其中微信扫码点单,企业公众号id、api密钥、商户帐号须要申请服务号能够拥有,可以查看第二章,这儿公司隐私,不能透漏

收款方的配置文件

public class MyConfig implements WXPayConfig {   //获取 App ID(企业方公众号Id)
   @Override
   public String getAppID() {       return "*****************";   }    //获取 API 密钥
   @Override
   public String getKey() {       return "*****************";   }   //获取 Mch ID(商户账号)
   @Override
   public String getMchID() {       return "****************";   } ​   //获取商户证书内容(我们这里不需要证书)
   @Override
   public InputStream getCertStream() {       // TODO Auto-generated method stub
       return null;   } ​   //HTTP(S) 连接超时时间,单位毫秒
   @Override
   public int getHttpConnectTimeoutMs() {       // TODO Auto-generated method stub
       return 8000;   } ​   //HTTP(S) 读数据超时时间,单位毫秒
   @Override
   public int getHttpReadTimeoutMs() {       return 10000;   } }

统一下单DEMO

详尽参数点击【统一下单API】

class{

voidmain([]args){

微信扫码点单_微信扫一扫点单怎么弄_微信扫码点单英文怎么说

=new();

//加载微信支付的企业参数

WXPaywxpay=newWXPay();

//设置微信支付的参数

Mapdata=new();

//商品的描述

data.put("body","商城");

//订单号,订单号必须惟一。自己测试请切换其他订单号

data.put("","12");

//设备号,无关

data.put("","");

//币种人民币

data.put("","CNY");

//支付金额

data.put("","50");

data.put("","123.12.12.123");

//异步接收微信支付结果通知的反弹地址,通知url必须为内网可访问的url,不能携带参数。我们不适用异步通知,而且这儿的参数必需要有

data.put("","");

data.put("","");//此处指定为扫码支付

data.put("","12");

try{

Mapresp=wxpay.(data);

for(Map.Entryentry:resp.()){

key=entry.();

value=entry.();

.out.(key+":"+value);

}catch(e){

e.();

输出结果

输出结果是一个map集合,map集合的详尽参数介绍同样点击【统一下单API】,重点是,获取map集合中的key为的值,这个就是微信支付的地址。

第六章二维码生成介绍

我们一般扫描二维码微信扫码点单,虽然可以发觉访问了一个地址。说白了,二维码的本质就是一个网路资源的地址。二维码的生成是通过js插件生成的。

【.js下载】

 
 
 
     
     
 
 
   
         

结果如图:

微信扫码点单_微信扫一扫点单怎么弄_微信扫码点单英文怎么说

切换参数中的百度的地址为我们第五章中生成的支付地址://wxpay/?pr=

第七章查询订单API代码说明

详尽参数请参考【查询订单API】

voidmain([]args){

//加载企业参数

=new();

WXPaywxpay=newWXPay();

//设置须要查询的订单的单号

Mapdata=new();

data.put("","12");

//输出查询的结果

try{

Mapresp=wxpay.(data);

/*

代表的就是订单支付结果

—支付成功

—转入退货

—未支付

—已关掉

—已撤消(刷卡支付)

--用户支付中

--支付失败(其他缘由,如交行返回失败)

*/

for(Map.Entryentry:resp.()){

key=entry.();

value=entry.();

.out.(key+":"+value);

}catch(e){

e.();

返回值同样是一个map集合,其中的key所对应的值就是订单的交易状态。

参数结果:

第八章:总结

1.必须申请公众号,获取微信支付的参数。

2.在中设置微信支付的参数

3.调用微信支付的下单的api,填写指定参数,获取支付的url地址

4.调用现有的js,给定指定的url地址参数,生成扫码支付的二维码地址

5.后台协程查询订单的支付状态

免责声明:部分文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们会尽快为您处理。

云快卖

留言咨询

×