uniapp 小程序 支付逻辑处理

uniapp 小程序 支付逻辑处理

  1. 上代码如果你不需要支付宝适配,可以删除掉支付宝的条件判断代码
    <button class="subBtn" :disabled="submiting" @click="goPay">去支付</button>
   // 以下代码你需要改的地方// 1.  order/app/v1/order/waitPayToPay 更换自己的支付接口// 2.  修改接口传参// 3.  修改接口返回的的各种状态码,并处理逻辑// 4.  请更换为你的模版id// 5.  更换跳转页面的路由export default {data() {return {submiting: false,};},methods: {goPay() {if (this.submiting) {return;}uni.showLoading({ title: "发起支付..." });this.submiting = true;// 调用接口this.$uniApi.dataRequestYesLoading("POST","order/app/v1/order/waitPayToPay",{// #ifdef MP-WEIXINpayChannel: "",// #endif// #ifdef MP-ALIPAYpayChannel: "alipay_mini",// #endiforderSource: 5, //小程序orderId: this._orderId,buyerMemo: this.memberRemark, //备注// #ifdef MP-WEIXINseriesNumber:uni.getStorageSync("userInfor").openId ||uni.getStorageSync("wxopenid"), //订单序列号// #endif// #ifdef MP-ALIPAYseriesNumber: uni.getStorageSync("userInfor").zfbUserId, //订单序列号// #endif},"支付中").then((data) => {if (data.code == 18018 || data.code == 18019 || data.code == 18020) {//该优惠券无法使用// this.orderEnsure();//  this.openPopup();//请根据自己的需求 处理此处逻辑this.submiting = false;uni.hideLoading();return;}// 我的接口成功的时候 返回的是1if (data.code !== 1) {uni.hideLoading();this.submiting = false;this.$util.showToast(data.msg);return;}//微信支付uni.requestPayment({// #ifdef MP-WEIXINtimeStamp: data.data.timeStamp,  // String类型,支付签名时间戳,需与后台统一nonceStr: data.data.nonceStr,  // String类型,支付签名随机串,需与后台统一package: `prepay_id=${data.data.prepayid}`,  // String类型,统一下单接口返回的 prepay_id 参数值,格式如:prepay_id=xxxsignType: data.data.signType, // String类型,签名方式,默认为 “MD5” ,仅支持 “MD5” 和 “HMAC-SHA256”paySign: data.data.pay_sign, // String类型,签名,具体签名方案参考微信支付开发文档// #endif// #ifdef MP-ALIPAYorderInfo: data.data.tradeNo,// #endifsuccess: (success) => {  // 接口调用成功的回调函数console.log(success);// #ifdef MP-ALIPAYlet resultCode = success.resultCode;if (resultCode == 6001 ||resultCode == 4000 ||resultCode == 6002) {// 操作失败 时 逻辑处理return;}// 用户订阅操作 订阅后 用户可在微信收到支付信息等// #endifthis.wxInForm(["YUjKUVJIRah0xxxxxxxxxxxxxxxxxxxxxxxxx5CE8CVuM",  // 这是订阅模版id 请更换为你的模版id]).then((res) => {// 订阅成功后 跳转到指定页面uni.redirectTo({url: '../order_pay/order_pay',,});}).catch((err) => {// 不订阅 跳转到指定页面uni.redirectTo({url: '../order_pay/order_pay',});});this.submiting = false;},fail: (err) => { //接口调用失败的回调函数console.log("fail:" + JSON.stringify(err));this.submiting = false;// 支付失败处理},});});},// 改方法最好写在vuex中wxInForm(tmplIds){return new Promise(resolve => {uni.requestSubscribeMessage({tmplIds:tmplIds,  // 订阅模版idsuccess(res){resolve()},fail(res){resolve()}})})},}}
  1. 完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/49195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎样实现大语言模型微调,庞氏骗局智能合约检查,BERT

目录 怎样实现大语言模型微调 一、了解微调的基本概念 二、选择合适的微调方法 三、实施微调的具体步骤 四、注意事项 庞氏骗局智能合约检查 一、使用的大模型 二、微调方法 1. 数据准备 2. 微调策略 3. 微调过程 三、输入和输出 输入 输出 四、注意事项 一、使…

【Linux】centos7安装php7.4

环境说明 本文档在服务器不能连接互联网的情况下&#xff0c;进行安装php7.4及其扩展。 操作系统&#xff1a;centos7.6 架构&#xff1a;X86_64 一、安装依赖&#xff08;可选&#xff09; 说明&#xff1a;服务器能联网就可以通过 yum install 命令下载对应php需要的依赖…

设计模式之策略模式_入门

前言 最近接触了优惠券相关的业务&#xff0c;如果是以前&#xff0c;我第一时间想到的就是if_else开始套&#xff0c;这样的话耦合度太高了&#xff0c;如果后期添加或者删除优惠券&#xff0c;必须直接修改业务代码&#xff0c;不符合开闭原则&#xff0c;这时候就可以选择我…

【TypeScript 一点点教程】

文章目录 一、开发环境搭建二、基本类型2.1 类型声明2.2 基本类型 三、编译3.1 tsc命令3.2 tsconfig.json3.2.1 基本配置项includeexcludeextendsfiles 3.2.2 compilerOptions编译器的配置项 四、面向对象4.1 类4.2 继承4.3 抽象类4.4 接口 一、开发环境搭建 下载Node.js《Nod…

usb pd message结构解析

usb pd 3.1规范定义了三种类型的消息: •简短的控制消息&#xff0c;用于管理端口伙伴之间的消息流或交换不需要额外数据的消息。控制消息的长度为16位。 •用于在一对端口伙伴之间交换信息的数据消息。数据报文的长度范围是48 ~ 240位。 有三种类型的数据消息: ▪那些用于暴露…

【区块链+绿色低碳】双碳数字化管控平台 | FISCO BCOS应用案例

地方政府、园区及企业实现“双碳”目标过程中存在一些挑战与难点&#xff1a; 1. 管理者难以掌握完整、准确、全面的碳排放数据进行科学决策&#xff1a;由于碳排放核算需要对数据的来源、核算方法 的规范性和采集方法的科学性有严格要求&#xff0c;当前面临碳排放数据数据采…

中国一汽发布“一汽●北斗云工作台” 意在推动企业数智化转型

“一汽●北斗云工作台”已经实现100%自主可控&#xff0c;覆盖企业全价值链、全体系、全过程、全岗位的工作需求。目前一汽2.3万个业务单元实现线上作业&#xff0c;产品开发效率提升30%&#xff0c;订单交付周期缩短25%以上。”7月17日&#xff0c;中国第一汽车集团有限公司&a…

智能路面裂缝检测:基于YOLO和深度学习的全流程实现

引言 路面裂缝检测是维护道路质量和延长道路寿命的重要手段。传统的检测方法往往费时费力且易受人为因素影响。为了提高检测效率和准确性&#xff0c;本文介绍了一种基于深度学习的路面裂缝检测系统。该系统包括用户界面&#xff0c;利用YOLO&#xff08;You Only Look Once&a…

Typescript学习笔记(1.0)

1.ts开发环境&#xff1a;先安装Node&#xff0c;然后执行命令npm i -g typescript,这里使用的是npm命令&#xff0c;也可以使用pnpm和yarn安装&#xff0c;不过需要额外安装pnpm 和yarn。 2.第一个一ts为后缀的文件&#xff0c;使用命令&#xff1a; tsc *.ts 就会生成对应…

electron 网页TodoList工具打包成win桌面应用exe

参考&#xff1a; electron安装&#xff08;支持win、mac、linux桌面应用&#xff09; https://blog.csdn.net/weixin_42357472/article/details/140643624 TodoList工具 https://blog.csdn.net/weixin_42357472/article/details/140618446 electron打包过程&#xff1a; 要将…

【吊打面试官系列-ZooKeeper面试题】Zookeeper 的典型应用场景

​大家好&#xff0c;我是锋哥。今天分享关于 【Zookeeper 的典型应用场景 】面试题&#xff0c;希望对大家有帮助&#xff1b; Zookeeper 的典型应用场景 Zookeeper 是一个典型的发布/订阅模式的分布式数据管理与协调框架&#xff0c;开发人员可以使用它来进行分布式数据的发布…

学习React(状态管理)

随着你的应用不断变大&#xff0c;更有意识的去关注应用状态如何组织&#xff0c;以及数据如何在组件之间流动会对你很有帮助。冗余或重复的状态往往是缺陷的根源。在本节中&#xff0c;你将学习如何组织好状态&#xff0c;如何保持状态更新逻辑的可维护性&#xff0c;以及如何…

基于自组织映射的检索增强生成

大量数据用于训练大型语言模型 (LLM)&#xff0c;该模型包含数百万和数十亿个模型参数&#xff0c;目的是生成文本&#xff0c;例如文本补全、文本摘要、语言翻译和回答问题。虽然 LLM 从训练数据源中开发知识库&#xff0c;但总有一个训练截止日期&#xff0c;在此日期之后 LL…

java jts 针对shp含洞多边形进行三角剖分切分成可行区域

前言 java jts 提供了Delaunay三角剖分的相关方法,但是该方法不考虑含洞的多边形的。虽然 jts 的 ConformingDelaunayTriangulationBuilder 类可以通过提供线段约束的方式防止切割到洞内&#xff0c;但是仅支持最多99条线段&#xff0c;虽然可以通过重写破除99条线段的约束&am…

Java——————接口(interface) <详解>

1.1 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本电脑上的USB接口&#xff0c;电源插座等。 电脑的USB口上&#xff0c;可以插&#xff1a;U盘、鼠标、键盘...所有符合USB协议的设备 电源插座插孔上&#xff0c;可以插&#xff…

CSS Text(文本)

CSS Text(文本) CSS中的text属性用于控制文本的显示方式&#xff0c;包括字体、大小、颜色、对齐方式等。本文将详细介绍CSS中文本属性的各种用法和技巧&#xff0c;帮助您更好地设计和布局网页文本。 1. 字体属性 1.1 font-family font-family属性用于设置文本的字体。可以…

OS Copilot初体验的感受与心得

本文介绍体验操作系统智能助手OS Copilot后&#xff0c;个人的一些收获、体验等。 最近&#xff0c;抽空体验了阿里云的操作系统智能助手OS Copilot&#xff0c;在这里记录一下心得与收获。总体观之&#xff0c;从个人角度来说&#xff0c;感觉这个OS Copilot确实抓住了不少开发…

TypeScript极速梳理

TypeScript简介 TypeScript是对JavaScript的超集它对JS进行了扩展&#xff0c;向JS中引入了类型的概念&#xff0c;并添加了许多新的特性TS代码需要通过编译器编译为JS&#xff0c;然后再交由JS解析器执行TS完全兼容JS,换言之&#xff0c;任何的JS代码都可以直接当成JS使用相较…

Vue Router【实用教程】(2024最新版)vue3 路由管理

Vue Router 是 Vue 官方的客户端路由解决方案&#xff0c;在单页应用 (SPA) 中&#xff0c;用户在应用中浏览不同页面时&#xff0c;URL 会随之更新&#xff0c;但页面不需要从服务器重新加载。 核心思想&#xff1a; 通过配置路由来告诉 Vue Router 为每个 URL 路径显示哪些…

EasyMedia转码rtsp视频流flv格式,hls格式,H5页面播放flv流视频

EasyMedia转码rtsp视频流flv格式&#xff0c;hls格式 H5页面播放flv流视频 文章最后有源码地址 解决海康视频播放视频流&#xff0c;先转码后自定义页面播放flv视频流 先看效果&#xff0c;1&#xff0c;EasyMedia自带的页面&#xff0c;这个页面二次开发改动页面比较麻烦 …