b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Java版微信公众号支付开发的

电脑杂谈  发布时间:2020-07-15 10:51:10  来源:网络整理

微信开发教程java_微信支付java开发详细_php开发app微信支付接口开发教程

一,微信官方文件微信支付开发流程(公共账户支付)

首先,我们进入微信支付官方文档的开发步骤,以检查所需的设置.

[图像上传失败...(image-5eb825-1531014079742)]

由于微信支付需要更高的权限,因此只有授权的服务号码才有权使用微信支付界面. 我们很难申请,因此我们需要从其他朋友那里借用帐号.

进入文档的业务流程部分并检查微信支付流程(我认为仍然需要非常仔细地理解和检查,这有助于您了解微信开发流程.

然后,访问微信支付界面时需要传递许多参数,请参见统一订单

[图片上传失败...(image-df7051-1531014079742)]

php开发app微信支付接口开发教程_微信支付java开发详细_微信开发教程java

在查看完上面的WeChat Pay的正式文档后,我相信您应该对此有一定的了解,但是仍然觉得WeChat Pay的开发非常麻烦,因此我们接下来使用第三方SDK进行开发.

第二,微信支付第三方SDK开发(公共帐户支付)

这是公共帐户付款. 我们使用best-pay-sdk. 该SDK使用PayRequest和PayResponse对请求接口和相应的结果进行很多封装. 需要动态传递的主要参数是openid(用户的唯一标识符)和orderId. 接下来,我们看看如何开发.

1. 配置

//微信公众账号支付配置
  WxPayH5Config wxPayH5Config = new WxPayH5Config();
  wxPayH5Config.setAppId("xxxxx");
  wxPayH5Config.setAppSecret("xxxxxxxx");
  wxPayH5Config.setMchId("xxxxxx");
  wxPayH5Config.setMchKey("xxxxxxx");
  wxPayH5Config.setNotifyUrl("http://xxxxx");
  //支付类, 所有方法都在这个类里
  BestPayServiceImpl bestPayService = new BestPayServiceImpl();
  bestPayService.setWxPayH5Config(wxPayH5Config);

2. 开始付款

 PayRequest payRequest = new PayRequest();
   payRequest.setPayTypeEnum(BestPayTypeEnum.WXPAY_H5);
   payRequest.setOrderId("123456");
   payRequest.setOrderName("微信公众账号支付订单");
   payRequest.setOrderAmount(0.01);
   payRequest.setOpenid("openid_xxxxxx");
   bestPayService.pay(payRequest);

3. 异步回调

微信支付java开发详细_微信开发教程java_php开发app微信支付接口开发教程

bestPayService.asyncNotify();

这是此SDK用来解决微信支付的10行代码.

付款完成后,微信将返回给我们,将付款结果作为一条付款xml数据返回. 我们需要将此数据传递到异步通知url(notify_url)以完成付款结果的验证(验证签名,验证付款状态),这两个步骤已为我们完成了SDK,只需调用bestPayService.asyncNotify(notifyData);微信支付java开发详细,验证后微信支付java开发详细,我们需要将这样的数据返回给微信:

<xml>
 <return_code><![CDATA[SUCCESS]]></return_code>
 <return_msg><![CDATA[OK]]></return_msg>
</xml>

告诉微信验证已完成,并且不再向我们发送异步通知请求.

还不清楚如何将其集成到项目中吗?没关系,还有一个示例演示,它可以变得更加清晰.

三,演示操作

演示URL为:

微信支付java开发详细_php开发app微信支付接口开发教程_微信开发教程java

我们的主控制器在这里:

@Controller
@Slf4j
public class PayController {
  @Autowired
  private BestPayServiceImpl bestPayService;
  /**
   * 发起支付
   */
  @GetMapping(value = "/pay")
  public ModelAndView pay(@RequestParam("openid") String openid,
              Map<String, Object> map) {
    PayRequest request = new PayRequest();
    Random random = new Random();
    //支付请求参数
    request.setPayTypeEnum(BestPayTypeEnum.WXPAY_H5);
    request.setOrderId(String.valueOf(random.nextInt(1000000000)));
    request.setOrderAmount(0.01);
    request.setOrderName("最好的支付sdk");
    request.setOpenid(openid);
    log.info("【发起支付】request={}", JsonUtil.toJson(request));
    PayResponse payResponse = bestPayService.pay(request);
    log.info("【发起支付】response={}", JsonUtil.toJson(payResponse));
    map.put("payResponse", payResponse);
    return new ModelAndView("pay/create", map);
  }
  /**
   * 异步回调
   */
  @PostMapping(value = "/notify")
  public ModelAndView notify(@RequestBody String notifyData) throws Exception {
    log.info("【异步回调】request={}", notifyData);
    PayResponse response = bestPayService.asyncNotify(notifyData);
    log.info("【异步回调】response={}", JsonUtil.toJson(response));
    return new ModelAndView("pay/success");
  }
}

此文件可以自己下载. 让我们看看如何运行它

项目说明

需要在Jdk版本> 1.8上运行

该项目是使用Spring Boot 1.5.1开发的

项目结构

src/main/java/com/github/lly835
├── PayDemoApplication.java  
├── ServletInitializer.java
├── config
│  └── PayConfig.java    //支付密钥配置类
└── controller
  └── PayController.java  //支付调用

微信开发教程java_微信支付java开发详细_php开发app微信支付接口开发教程

运行示例

密钥需要在运行之前进行配置,请参见PayConfig.java

运行命令

git clone https://github.com/Pay-Group/best-pay-demo
cd best-pay-demo
mvn clean package
java -jar target/*.war

浏览器访问: 8080 /付费

摘要

以上是编辑器向您介绍的Java版微信公众号支付开发的. 希望对大家有帮助. 如有任何疑问,请给我留言,编辑会及时答复您!

本文标题: Java版微信公众号支付开发的


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-281088-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...