VX 小程序付款

本文介绍了业务场景——组织活动申请时的保证金支付过程。详细阐述了用户点击提交申请后如何生成支付二维码,以及调用VX提供的方法来实现这一功能。接着讨论了支付方法的实现,包括如何生成支付信息。最后提到了支付成功后的回调接口处理机制。

业务场景:申请组织活动时,需要支付保证金。

1.点击提交申请后生出支付二维码,

         调取VX提供的方法,生成二维码

 2.支付方法,生成支付信息

 @GetMapping("/getWxMiniPayData")
    public Object getWxMiniPayData(HttpServletRequest request,
                                   @RequestParam("thirdSession") String thirdSession){
        String userIdStr = WeixinXcxUtil.getUserId(redisTemplate,thirdSession);
        if(userIdStr == null){
            throw new RRException("userId 不合法,请先登录");
        }
        long userId = Long.parseLong(userIdStr);    
        String pay_activity_bond = 
systemParameterInfoDubboService.selectValueByKey("pay_activity_bond");
            double payCount=Double.parseDouble(pay_activity_bond);//支付的数额(如果是现金可能是10,如果是金币:100)分为单位
            
                //获取用户redis的数据根据userId
                UserBaseInfoDubbo userBaseInfoDubbo = userBaseInfoDubboService.selectRedisUserByUid(userId);
                String openId = userBaseInfoDubbo.getBak1();//微信的openId
                //Long orgId = userBaseInfoDubbo.getOrgId();//获取组织名称

                String product = "申请活动保证金【"+orgBaseInfoService.selectOrgBaseByOrgId(orgId).getOrgName()+"】";//产品名称
                //获取组织配置信息
                SystemSetConfigDubbo systemSetConfigDubbo = systemSetConfigDubboService.getObject(orgId);
                String appId = systemSetConfigDubbo.getWeixinMiniAppId();//平台微信小程序的appid
                String apiSecret = systemSetConfigDubbo.getBak3();//商户系统里面的AIP秘钥,不是appSecret!!!
                String mchId = systemSetConfigDubbo.getBak2();//小程序支付的商户号
                //插入支付订单
   
### 微信小程序 `params` 参数传递 在微信小程序中,参数传递是一个常见的需求,在页面跳转、组件间通信等场景广泛应用。以下是有关如何使用 `params` 进行数据传递的方法。 #### 页面间传参 当从小程序的一个页面跳转至另一个页面时,可以通过 URL 查询字符串的方式携带参数。这通常发生在调用 wx.navigateTo 或其他类似的 API 函数时: ```javascript // 跳转并携带参数 wx.navigateTo({ url: '/pages/targetPage/targetPage?id=1&name=test' }) ``` 目标页面可以在 onLoad 生命周期函数里接收这些参数[^1]: ```javascript Page({ onLoad(options) { console.log('接收到的id:', options.id); // 输出 '1' console.log('接收到的名字:', options.name); // 输出 'test' } }); ``` #### 组件属性传参 除了页面间的参数传递外,还可以通过自定义组件来实现更复杂的交互逻辑。父级页面向子组件传递数据可通过设置组件标签上的属性完成: ```html <custom-component param-name="value"></custom-component> ``` 对应的 JS 文件内则需声明该属性以便于内部处理: ```javascript Component({ properties: { paramName: String, }, attached() { console.log(this.data.paramName); } }); ``` #### 数据绑定与事件触发中的应用 为了使用户体验更加流畅自然,有时还需要借助双向绑定机制以及事件冒泡特性来进行复杂的数据交换操作。比如在一个表单控件上监听输入变化,并实时更新关联字段的内容;又或者是点击按钮后触发表单提交动作的同时发送额外的信息给服务器端验证等等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值