Java教程

【学习打卡】第11天 Java支付全家桶 企业级各类支付手段一站式解决方案(4-4)

本文主要是介绍【学习打卡】第11天 Java支付全家桶 企业级各类支付手段一站式解决方案(4-4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:Java支付全家桶 企业级各类支付手段一站式解决方案

课程章节:4-4 小程序向商户系统发出支付请求

主讲老师:神思者

课程内容:

今天学习的内容包括:

小程序向商户系统发出支付请求、小程序支付的流程、创建支付订单请求类、后端微信支付接口逻辑的编写、声明接口调用地址、在页面按钮点击事件中触发接口请求。

课程收获:
1、小程序支付的流程:【用户】–点击支付按钮–>【小程序】–请求生成订单–>【商户系统】–请求生成订单–>【微信平台(生成订单)】–订单信息–>【商户系统(生成数据签名)】–支付参数–>【小程序】;
2、创建支付订单请求类,关键代码如下:

@Data
@ApiModel(value = "支付订单表单")
public class PayOrderForm {
    @ApiModelProperty(value = "订单id")
    @NotNull(message = "订单id不能为空")
    private Long orderId;
}

3、后端微信支付接口逻辑的编写,关键代码如下:

@Login
@PostMapping("/microAppPayOrder")
@ApiModelProperty("小程序付款")
public R microAppPayOrder(@RequestBody PayOrderForm form, @RequestHeader HashMap header) {
    ValidatorUtils.validateEntity(form);
    String token = header.get("token").toString();
    long userId = Convert.toLong(jwtUtils.getClaimByToken(token).getSubject());
    long orderId = form.getOrderId();

    UserEntity one = userService.getOne(
            Wrappers.<UserEntity>lambdaQuery()
                    .eq(UserEntity::getUserId, userId)
                    .last("limit 1")
    );
    if (null == one) {
        return R.error("用户不存在");
    }
    String openid = one.getOpenId();

    OrderEntity order = orderService.getOne(
            Wrappers.<OrderEntity>lambdaQuery()
            .eq(OrderEntity::getId, orderId)
            .eq(OrderEntity::getUserId, userId)
            .eq(OrderEntity::getStatus, 1)
    );

    // 其他校验
    // 验证购物券是否有效
    // 验证团购活动是否有效

    // 向微信平台发送请求,创建支付订单
    // TODO: 老师下节课讲解

    return R.ok();
}

4、声明接口调用地址,关键代码如下:

let baseUrl = "https://haiten.virs.top/renren-fast"
Vue.prototype.url = {
……
	"microAppPayOrder": baseUrl + "/app/wx/microAppPayOrder"
}

5、在页面按钮点击事件中触发接口请求,关键代码如下:

pay(id) {
	uni.request({
		url: this.url.microAppPayOrder,
		method: "post",
		header: {
			"token": uni.getStorageSync("token")
		},
		data: {
			"orderId": id
		},
		success: (resp) => {
			console.log(resp);
			// 触发支付方法
			// TODO: 老师下节课讲解
		}
	})

今天看课程视频写手记的第11天,希望自己能坚持下去,为自己加油!

这篇关于【学习打卡】第11天 Java支付全家桶 企业级各类支付手段一站式解决方案(4-4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!