Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
c3f0f7b2
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3036
Star
102
Fork
763
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
87
列表
看板
标记
里程碑
合并请求
59
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
87
Issue
87
列表
看板
标记
里程碑
合并请求
59
合并请求
59
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c3f0f7b2
编写于
3月 11, 2024
作者:
VK1688
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: 新增 uni.requestVirtualPayment 微信小程序虚拟支付API
上级
235410a9
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
140 addition
and
6 deletion
+140
-6
docs/api/_sidebar.md
docs/api/_sidebar.md
+3
-1
docs/api/plugins/payment.md
docs/api/plugins/payment.md
+4
-4
docs/api/plugins/virtualPayment.md
docs/api/plugins/virtualPayment.md
+132
-0
docs/tutorial/app-payment.md
docs/tutorial/app-payment.md
+1
-1
未找到文件。
docs/api/_sidebar.md
浏览文件 @
c3f0f7b2
...
...
@@ -137,7 +137,9 @@
*
[
获取服务供应商
](
plugins/provider.md
)
*
[
登录
](
plugins/login.md
)
*
[
分享
](
plugins/share.md
)
*
[
支付
](
plugins/payment.md
)
*
支付
```{"collapsable": true}```
*
[
requestPayment
](
plugins/payment.md
)
*
[
requestVirtualPayment
](
plugins/virtualPayment.md
)
*
[
推送
](
plugins/push.md
)
*
[
语音
](
plugins/voice.md
)
*
[
实人认证
](
plugins/facialRecognitionVerify.md
)
...
...
docs/api/plugins/payment.md
浏览文件 @
c3f0f7b2
...
...
@@ -9,9 +9,9 @@ uni.requestPayment是一个统一各平台的客户端支付API,不管是在
比如微信有App支付、小程序支付、H5支付等不同的申请入口和使用流程,对应到uni-app,在App端要申请微信的App支付,而小程序端则申请微信的小程序支付。
如果服务端使用
[
uniCloud
](
https://uniapp.dcloud.io/uniCloud/README
)
,那么官方提供了
[
uniPay
](
https://
uniapp.dcloud.io/uniCloud/unipay
)
云端统一支付服务,把App、微信小程序、支付宝小程序里的服务端支付开发进行了统一的封装。
如果服务端使用
[
uniCloud
](
https://uniapp.dcloud.io/uniCloud/README
)
,那么官方提供了
[
uniPay
](
https://
doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
云端统一支付服务,把App、微信小程序、支付宝小程序里的服务端支付开发进行了统一的封装。
前端统一的
`uni.requestPayment`
和云端统一的
`uniPay`
搭配,可以极大提升支付业务的开发效率,强烈推荐给开发者使用。
`uniPay`
的文档另见:
[
https://
uniapp.dcloud.io/uniCloud/unipay
](
https://uniapp.dcloud.io/uniCloud/unipay
)
前端统一的
`uni.requestPayment`
和云端统一的
`uniPay`
搭配,可以极大提升支付业务的开发效率,强烈推荐给开发者使用。
`uniPay`
的文档另见:
[
https://
doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
](
https://doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
**平台差异说明**
...
...
@@ -695,8 +695,8 @@ uni.requestPayment({
## 服务器相关
### uniCloud开发
-
前端:使用
`unicloud.callfunction`
调用指定的云函数
。
-
服务端:使用
[
uniPay
](
https://
uniapp.dcloud.io/uniCloud/unipay
)
,该服务对应的演示工程在插件市场:
[
https://ext.dcloud.net.cn/plugin?id=1835
](
https://ext.dcloud.net.cn/plugin?id=1835
)
,此示例为完整的前后端支付演示,使用
`uniPay`
可极快的完成支付业务开发。
-
前端:使用
`uni-pay`
组件发起支付
。
-
服务端:使用
[
uniPay
](
https://
doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
,该服务对应的演示工程在插件市场:
[
https://ext.dcloud.net.cn/plugin?id=1835
](
https://ext.dcloud.net.cn/plugin?id=1835
)
,此示例为完整的前后端支付演示,使用
`uniPay`
可极快的完成支付业务开发。
### php开发
-
前端:使用
``uni.request``
请求服务端接口,得到订单数据,使用
``uni.requestPayment``
向支付平台发起支付请求,拉起支付平台的客户端进行支付。在hello uni-app里详细代码。
...
...
docs/api/plugins/virtualPayment.md
0 → 100644
浏览文件 @
c3f0f7b2
# uni.requestVirtualPayment(OBJECT)
**概述**
微信规定上架
**短剧**
类目的小程序必须使用微信小程序虚拟支付,不可以使用原先的微信支付
**注意**
1.
微信小程序虚拟支付只有短剧类目的小程序才能开通
2.
微信小程序虚拟支付不支持ios系统
3.
微信小程序虚拟支付有较高的手续费(已知目前为10% ~ 20%),由微信官方收取,非uni-app收取(手续费多少跟使用uni-app无关)
**如何开户?**
-
[
微信虚拟支付官方文档
](
https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html#_1-%E4%BA%A7%E5%93%81%E4%BB%8B%E7%BB%8D
)
如果服务端使用
[
uniCloud
](
https://uniapp.dcloud.io/uniCloud/README
)
,那么官方提供了
[
uniPay
](
https://doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
云端统一支付服务,把App、微信小程序、支付宝小程序里的服务端支付开发进行了统一的封装。
前端统一的
`uni.requestVirtualPayment`
和云端统一的
`uniPay`
搭配,可以极大提升支付业务的开发效率,强烈推荐给开发者使用。
`uniPay`
的文档另见:
[
https://doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
](
https://doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|抖音小程序|飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|x|x|√|x|x|x|x|x|x|x|
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
|:-|:-|:-|:-|:-|
|signData|Object|是|具体支付参数见signData|微信小程序|
|mode|String|是|支付的类型, 不同的支付类型有各自额外要传的附加参数|微信小程序|
|paySig|String|是|支付签名, 详见
[
《签名详解》
](
https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html
)
|微信小程序|
|signature|String|是|用户态签名, 详见
[
《签名详解》
](
https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html
)
|微信小程序|
|success|Function|否|接口调用成功的回调||
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)||
`signData`
说明
|结构属性|类型|必填|说明|
|:-|:-|:-|:-|
|offerId|String|是|在米大师侧申请的应用 id, mp-支付基础配置中的offerid|
|buyQuantity|Number|是|购买数量|
|currencyType|String|是|币种 固定为 CNY|
|outTradeNo|String|是|业务订单号, 每个订单号只能使用一次, 重复使用会失败(极端情况不保证唯一, 不建议业务强依赖唯一性). 要求8-32个字符内, 只能是数字、大小写字母、符号 _-
*
@组成, 不能以下划线 _ 开头|
|attach|String|是|透传数据, 发货通知时会透传给开发者|
|productId|String|否|道具ID,
**该字段仅mode=short_series_goods时需要必填**
|
|goodsPrice|String|否|道具单价(分),
**该字段仅mode=short_series_goods时需要必填**
, 用来校验价格与后台道具价格是否一致, 避免用户在业务商城页看到的价格与实际价格不一致导致投诉|
|env|Number|否|环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0|
`mode`
说明
|合法值 |说明 |
|:-|:-|
|short_series_goods |道具直购 |
|short_series_coin| 代币充值 |
## 代码示例
### 代币充值
```
javascript
// 仅作为示例,非真实参数信息。
uni
.
requestVirtualPayment
({
signData
:
{
offerId
:
""
,
// 在米大师侧申请的应用 id, mp-支付基础配置中的offerid
buyQuantity
:
1
,
// 购买数量
env
:
0
,
// 环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0
currencyType
:
"
CNY
"
,
// 固定CNY
outTradeNo
:
"
test2024030101
"
,
attach
:
JSON
.
stringify
({
user_id
:
"
001
"
})
},
mode
:
"
short_series_coin
"
,
paySig
:
"
支付签名
"
,
signature
:
'
用户态签名
'
,
success
:
(
res
)
=>
{
console
.
log
(
'
success:
'
+
JSON
.
stringify
(
res
));
},
fail
:
(
err
)
=>
{
console
.
log
(
'
fail:
'
+
JSON
.
stringify
(
err
));
},
complete
:
(
res
)
=>
{
console
.
log
(
'
complete:
'
+
JSON
.
stringify
(
res
));
}
});
```
### 道具直购
```
javascript
// 仅作为示例,非真实参数信息。
uni
.
requestVirtualPayment
({
signData
:
{
offerId
:
""
,
// 在米大师侧申请的应用 id, mp-支付基础配置中的offerid
buyQuantity
:
1
,
// 购买数量
env
:
0
,
// 环境配置, 0 米大师正式环境, 1 米大师沙箱环境, 默认为 0
currencyType
:
"
CNY
"
,
// 固定CNY
outTradeNo
:
"
test2024030101
"
,
attach
:
JSON
.
stringify
({
user_id
:
"
001
"
}),
productId
:
""
,
// 道具ID, **该字段仅mode=short_series_goods时需要必填**
goodsPrice
:
1
,
// 道具单价(分), **该字段仅mode=short_series_goods时需要必填**, 用来校验价格与后台道具价格是否一致, 避免用户在业务商城页看到的价格与实际价格不一致导致投诉
},
mode
:
"
short_series_coin
"
,
paySig
:
"
支付签名
"
,
signature
:
'
用户态签名
'
,
success
:
(
res
)
=>
{
console
.
log
(
'
success:
'
+
JSON
.
stringify
(
res
));
},
fail
:
(
err
)
=>
{
console
.
log
(
'
fail:
'
+
JSON
.
stringify
(
err
));
},
complete
:
(
res
)
=>
{
console
.
log
(
'
complete:
'
+
JSON
.
stringify
(
res
));
}
});
```
## 服务器相关
### uniCloud开发
-
前端:使用
`uni-pay`
组件发起支付。
-
服务端:使用
[
uniPay
](
https://doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
,该服务对应的演示工程在插件市场:
[
https://ext.dcloud.net.cn/plugin?id=1835
](
https://ext.dcloud.net.cn/plugin?id=1835
)
,此示例为完整的前后端支付演示,使用
`uniPay`
可极快的完成支付业务开发。
### php、java等后端语言开发
-
前端:使用
`uni.request`
请求服务端接口,得到订单数据,使用
`uni.requestVirtualPayment`
向支付平台发起支付请求,拉起支付平台的客户端进行支付。
-
服务端:
[
参考文档
](
https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html
)
\ No newline at end of file
docs/tutorial/app-payment.md
浏览文件 @
c3f0f7b2
...
...
@@ -5,7 +5,7 @@ App端支付模块封装了市场上主流的三方支付平台SDK,提供JS AP
|uni-app|
[
uni.requestPayment(OBJECT)
](
/api/plugins/payment.md#requestpayment
)
|
|5+ App/Wap2App|
[
plus.payment.*
](
https://www.html5plus.org/doc/zh_cn/payment.html
)
如果服务端使用
[
uniCloud
](
https://uniapp.dcloud.io/uniCloud/README
)
,官方提供了
[
uniPay
](
https://
uniapp.dcloud.io/uniCloud/unipay
)
云端统一支付服务,极大提升支付业务的开发效率,强烈推荐给开发者使用,参考示例:
[
https://ext.dcloud.net.cn/plugin?id=1835
](
https://ext.dcloud.net.cn/plugin?id=1835
)
如果服务端使用
[
uniCloud
](
https://uniapp.dcloud.io/uniCloud/README
)
,官方提供了
[
uniPay
](
https://
doc.dcloud.net.cn/uniCloud/uni-pay/uni-app.html
)
云端统一支付服务,极大提升支付业务的开发效率,强烈推荐给开发者使用,参考示例:
[
https://ext.dcloud.net.cn/plugin?id=1835
](
https://ext.dcloud.net.cn/plugin?id=1835
)
使用支付功能需在项目manifest.json的“App模块配置”中勾选“Payment(支付)”,并根据项目实际情况勾选使用的三方支付平台:
![](
https://native-res.dcloud.net.cn/images/uniapp/payment/modules.png
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录