springBoot微信支付(native)基本使用

springBoot微信支付(native)基本使用,第1张

springBoot微信支付(native)基本使用

不做太多判断什么的,就是单纯支付,剩下的自己完善,更开始学的时候我还是喜欢这样,不容易和其他知识弄混

pom.xml

     
        
            com.github.wxpay
            wxpay-sdk
            0.0.3
        

1,创建一类,实现WxPayConfig接口
2, 重写三分方法,分别设置商户AppID商户ID商户密钥

package com.qfedu.config;

import com.github.wxpay.sdk.WXPayConfig;
import org.springframework.stereotype.Component;

import java.io.InputStream;

//在这个配置类中填写商户信息
@Component
public class MyWxPayConfig implements WXPayConfig {

    @Override
    public String getAppID() {
        return "wx632c8f11111111111111111211f8122c6";
    }

    @Override
    public String getMchID() {
        return "12222222222222222222";
    }

    @Override
    public String getKey() {
        return "sb33333333333333333GxFnC";
    }

    @Override
    public InputStream getCertStream() {
        return null;
    }

    @Override
    public int getHttpConnectTimeoutMs() {
        return 0;
    }

    @Override
    public int getHttpReadTimeoutMs() {
        return 0;
    }
}
2.5.2.3、修改订单添加接口

这里按照微信支付规范需要做如下工作:

  1. 设置申请支付交易的参数
  2. 申请支付链接
package com.mall.controller;


import com.github.wxpay.sdk.WXPay;
import com.mall.beans.RespBean;
import com.mall.config.WxPayConfig;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;


@Api(tags = "订单接口")
@RestController
@CrossOrigin
@RequestMapping("/orders")
public class OrdersController {
    @Autowired
    private WxPayConfig wxPayConfig;

    @ApiOperation("微信支付")
    @PostMapping("/pay")
    public RespBean add() throws Exception {
        //微信支付
        //设置申请支付交易的参数
        HashMap data = new HashMap<>();
        data.put("out_trade_no", "123gduiaa"); //交易号,使用订单编号作为支付交易的交易号
        data.put("body", "百年孤独"); //body 支付交易的订单描述
        data.put("total_fee", "1"); //total_fee 支付金额 分
        data.put("fee_type", "CNY"); //fee_type 支持币种 CNY 人民币
        data.put("trade_type", "NATIVE"); //trade_type 交易类型
        data.put("notify_url", "http://zrx.free.svipss.top/wxpay/callback"); //notify_url 支付成功之后支付平台通知地址(回调接口)

        //申请支付链接
        WXPay wxPay = new WXPay(wxPayConfig);
        Map resp = wxPay.unifiedOrder(data);
        String payUrl = resp.get("code_url");
        System.out.println(resp);
        // 返回很多数据,最重要的就是code_url,打开连接,就是支付码
        //{nonce_str=jEZ8aIzvGT46sUlA,
        // code_url=weixin://wxpay/bizpayurl?pr=9geXpbYzz,

        return new RespBean(200, "success", payUrl);

    }
}


复制这个连接,随便去到二维码生成器,打开微信扫一扫即可完成支付

前端使用




    
    Title



    订单支付页面

    
{{tips}}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5138415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存