专栏首页达达前端微信小程序知识云开发

微信小程序知识云开发

一个小程序最多5个服务类目,一个月可以修改3次类目

小程序侵权投诉的发起与应对

软件著作权作品登记证书

实现小程序支付功能

如何借助官方支付api简单、高效率地实现小程序支付功能

借助小程序云开发实现 只需要一个简单的云函数

实现微信小程序支付功能

exports.main = async(event, context) => {
 const wxContent = cloud.getWXContext()
 let {
  orderid,
  money
 } = event; 
 // 初始化支付
 const api = tenpay.init(config);
 let result = await api.getPayParams({
  out_trade_no: orderid,
  body: '商品简单描述',
  total_fee: money, // 订单金额
  openid: wxContext.OPENID // 付款用户的openid
 });
  return result;
}

小程序界面设计、交互、功能与他人的手机应用软件或在先发布的小程序构成实质性相似,构成小程序抄袭

微信小程序代码抄袭,侵犯他人软件著作权

<image mode="widthFix" src="../../img/next-course.png"></image>
image {
 width: 100%;
}
<view class="card">
 <image src="" mode="widthFix"></image>
</view>

.card image {
 
}
.card {
 margin: 10rpx;
}
.bg {
 width: 100%;
}

什么是UniApp

Union Application 前端框架 基于Vue.js 开发规范同小程序

<style>
 @import url("index.css");
</style>

widthFix 宽度不变,高度自动变化,保存原图宽高比不变

一个云开发小程序 // app.js

App({
 onLaunch: function() {
  wx.cloud.init({
   env: "prod-ayrkn"
  })
 }
})

创建云函数pay

引入三方依赖tenpay

在命令行里执行 npm i tenpay

image.png

image.png

image.png

//云开发实现支付
const cloud = require('wx-server-sdk')
cloud.init()

//1,引入支付的三方依赖
const tenpay = require('tenpay');
//2,配置支付信息
const config = {
appid: '你的小程序appid', 
mchid: '你的微信商户号',
partnerKey: '微信支付安全密钥', 
notify_url: '支付回调网址,这里可以先随意填一个网址', 
spbill_create_ip: '127.0.0.1' //这里填这个就可以
};

exports.main = async(event, context) => {
const wxContext = cloud.getWXContext()
let {
orderid,
money
} = event;
//3,初始化支付
const api = tenpay.init(config);

let result = await api.getPayParams({
out_trade_no: orderid,
body: '商品简单描述',
total_fee: money, //订单金额(分),
openid: wxContext.OPENID //付款用户的openid
});
return result;
}

image.png

提交页面,调用pay云函数

<form bindsubmit="formSubmit" bindreset="formReset">
 <input name="orderid" placeholder="随便写一个订单号"/>
 <input name="money" placeholder="随便写一个订购单总价"/>
 <button form-type="submit" type="primary">提交订单</button>
</form>

订单号要大于6位 wx.requestPayment(Object object) 发起微信支付

image.png

调用wx.requestPayment实现支付

wx.requestPayment({
 timeStamp: '',
 nonceStr: '',
 package: '',
 signType: 'MD5',
 paySign: '',
 success(res){},
 fail(res){}
})

pay.js

// pages/pay/pay.js
Page({
//提交订单
formSubmit: function(e) {
let that = this;
let formData = e.detail.value
console.log('form发生了submit事件,携带数据为:', formData)
wx.cloud.callFunction({
name: "pay",
data: {
orderid: "" + formData.orderid,
money: formData.money
},
success(res) {
console.log("提交成功", res.result)
that.pay(res.result)
},
fail(res) {
console.log("提交失败", res)
}
})
},
//实现小程序支付
pay(payData) {
//官方标准的支付方法
wx.requestPayment({
timeStamp: payData.timeStamp,
nonceStr: payData.nonceStr,
package: payData.package, //统一下单接口返回的 prepay_id 格式如:prepay_id=***
signType: 'MD5',
paySign: payData.paySign, //签名
success(res) {
console.log("支付成功", res)
},
fail(res) {
console.log("支付失败", res)
},
complete(res) {
console.log("支付完成", res)
}
})
}
})

image.png

image.png

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小程序开发

    .json 后缀的 JSON 配置文件 .wxml 后缀的 WXML 模板文件 .wxss 后缀的 WXSS 样式文件 .js 后缀的 JS 脚本逻辑文件

    达达前端
  • 微信小程序微信登录

    开发接口 登录 wx.login wx.checkSession 签名加密

    达达前端
  • App上架App Store

    你用公司的账号申请个证书,然后打包的时候什么.p12文件秘钥啥的都填上打完包,就直接丢审核就好了呀,有啥要求的直接公司账号扣了,与你无瓜

    达达前端
  • 简约博客系统1.0版本完成并上线

    不知不觉的,从第一个亚子的博客系统到emlog,再到现在自个写的简约博客系统,忙忙碌碌的搭建博客也已经一周年了。

    阿珏
  • 通过saml统一身份认证登录腾讯云控制台实战

    saml全称:Security Assertion Markup Language,中文叫法是安全断言标记语言。首先,它是一种XML格式的语言;然后,它...

    文达
  • 移动直播播放不了的排查方法

    直播中大多数问题是推流的url不正确导致的,那么推流url是怎么样了,下面来讲解url的规则

    腾讯云-qichengdeng
  • ubuntu安装chrome浏览器64位

    李小白是一只喵
  • TXSQL Internals @2018

    腾讯云资深架构师王少华日前在 2018 开源数据库论坛(ODF)暨首届MariaDB中国用户者 大会上做了主题为“TXSQL Internals @2018”的...

    腾讯云数据库 TencentDB
  • 为什么Fiori客户主数据的头像在异步模式下取不回来

    在同步模式下,在navigation list里切换opportunity时,总是先将account的logo设成default image:

    Jerry Wang
  • create-react-app 配置 less

    copy_left

扫码关注云+社区

领取腾讯云代金券