码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • uniapp支付之APP微信支付unicloud版(附源码)


    1 先上效果图

    在这里插入图片描述

    为啥要用 unicloud ? 不用搭建自己的服务器,不用买域名,不用备案域名,不用支持https。只需要一个简单的云函数,就可以轻松的实现微信支付功能

    问:服务端语言是什么,有框架限制吗?

    答:服务端基于uniCloud开发,无框架限制,使用任何框架都可以集成。

    问:我的项目不是uniCloud,是java、php等语言,可以使用吗?

    答:可以,支付环节部署在云开发环境,支付成功后通知你的服务器接口。

    2 准备工作

    • 1, appid,要在微信开放平台(https://open.weixin.qq.com)注册申请账号。注这里公司使用需300元认证费。在应用详情中申请开通微信支付功能。
    • 2,已经申请微信支付的商户号(商户id,商户秘钥)。
    • 3,appid和你的商户号关联
      在这里插入图片描述

    3 配置

    1、在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付”项

    在这里插入图片描述

    参数说明
    • appid
      微信开放平台申请的应用ID(AppID)
    • iOS平台通用链接(Universal Link)
      在iOS平台微信支付使用的通用链接,必须与微信开放平台 “管理中心” > “应用详情” > “开发信息” 中的“Universal Links”项中配置一致
      注:关于通用链接,如果没有配置一致,iOS是无法在支付完成后回到APP的。

    2、找到 uniCloud -> cloudfunctions -> common 云函数 uni-config-center -> uni-pay -> config.json->wxConfigApp修改为你自己的appId,商户号和秘钥

    应用内发起支付——API使用

    调用 uni.requestPayment(OBJECT)发起支付,OBJECT参数中provider属性值固定为wxpay

    这里是orderInfo,该属性值为订单对象。依然值得注意的是package,微信直传过来的值是packageValue。
    partnerid,微信传过来的是partnerId。
    prepayid,微信传过来是prepayId。
    noncestr,微信传过来的是nonceStr。
    timestamp,微信传过来的是timeStamp。
    这里一定一定要注意大小写,不然订单请求失败,让你找问题,找到痛不欲生。

    //订单对象,从uniCloud获取
    let orderInfo = {
      "appid": res.data.orderInfo.appId,  // 应用ID(AppID)
      "partnerid": res.data.orderInfo.partnerId, // 商户号(PartnerID)
      "prepayid": res.data.orderInfo.prepayId,  // 预支付交易会话ID
      "package": res.data.orderInfo.packageValue,        // 固定值
      "noncestr": res.data.orderInfo.nonceStr, // 随机字符串
      "timestamp": res.data.orderInfo.timeStamp, // 时间戳(单位:秒)
      "sign": res.data.orderInfo.sign, // 签名,这里用的 MD5 签名
    };
    
    uni.requestPayment({
        provider: "wxpay",
        orderInfo: orderInfos,
        success(res) {
                console.log('success:' + JSON.stringify(res));
                console.log("支付成功");
        },
        fail(err) {
                console.log('fail:' + JSON.stringify(err));
                console.log("支付失败");                        
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    源码地址

    https://ext.dcloud.net.cn/plugin?id=8612

    下载源码只要把appid、微信商户号、密钥换成自己的就可以使用了

    帮助

    大家支付有问题有不懂的地方加我qq2214904953咨询

    作者相关文章

    反编译获取任何微信小程序源码——看这篇就够了

    万能节日头像生成器

    资源变现资讯、新闻、自媒体、博客小程序(可引流,开通流量主,带pc后台管理))

  • 相关阅读:
    H5唤起地图导航路线,唤起高德地图app,百度地图,腾讯
    操作系统(五)| 文件系统上 结构 存取方式 文件目录 检索
    国产操作系统麒麟v10、UOS在线打开excel文件并动态赋值
    Nginx 实战教程
    AtCoder Beginner Contest 320 G - Slot Strategy 2
    python分支结构的花样玩法(一)
    Python 潮流周刊#17:Excel 终于支持 Python 了、Meta 重磅开源新项目、Mojo 新得 1 亿美元融资
    Vben Admin 源码学习:项目初始化
    微信又更新啦,再也不怕错过女朋友的消息
    第五十六章 CSP的常见问题 - 我如何修复`Zen`错误
  • 原文地址:https://blog.csdn.net/qq_32340877/article/details/125461425
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号