diff --git a/docs/uniCloud/uni-pay.md b/docs/uniCloud/uni-pay.md index f295b02ee941d0d7bbe9fd586a28120bdc04f5f4..e2e983c64f9afe6135eb97fef56bd56e4eabb4d0 100644 --- a/docs/uniCloud/uni-pay.md +++ b/docs/uniCloud/uni-pay.md @@ -25,7 +25,7 @@ > 插件市场地址:[https://ext.dcloud.net.cn/plugin?name=uni-pay](https://ext.dcloud.net.cn/plugin?name=uni-pay) -`uni-pay` 的功能包括: +## 功能概览@overview - 页面 + 支付收银台弹窗组件 [组件详情](#uni-pay-component) @@ -51,6 +51,7 @@ + 关闭订单 + 获取当前支持的支付方式 + 获取当前支付用户的openid + + 苹果内购支付(未上线,敬请期待) + 支付统计(未上线,敬请期待) + 概况 + 漏斗分析 @@ -96,6 +97,8 @@ │ └─readme.md 插件自述文件 ``` +注意:支付配置不在插件目录中,统一存放在 `uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js` [查看支付配置介绍](#config) + 完整的uni-app目录结构[详情查看](https://uniapp.dcloud.net.cn/frame?id=%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84) ## 示例项目运行教程@rundemo @@ -110,8 +113,6 @@ * 2、打开`uni-pay`配置文件,配置文件地址: `uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js` [查看支付配置介绍](#config) -![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/59d5f656-bac8-4504-9584-719e17d1a52a.png) - * 3、上传公共模块 `uni-config-center`(右键,上传公共模块,每次修改了支付配置,都需要重新上传此模块才会生效) * 4、上传公共模块 `uni-pay`(右键,上传公共模块) * 5、上传云对象 `uni-pay-co`(右键,上传部署) @@ -119,6 +120,10 @@ ## 配置@config +`uni-pay`支付配置文件地址为:`uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js` + +![](https://f184e7c3-1912-41b2-b81f-435d1b37c7b4.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/59d5f656-bac8-4504-9584-719e17d1a52a.png) + ### 完整支付配置示例@config-demo ```js @@ -639,7 +644,58 @@ module.exports = { * 3、上传公共模块 `uni-config-center`(右键,上传公共模块,每次修改了支付配置,都需要重新上传此模块才会生效) * 4、上传公共模块 `uni-pay`(右键,上传公共模块) * 5、上传云对象 `uni-pay-co`(右键,上传部署) -* 6、安装完成 +* 6、项目根目录`pages.json`添加`subPackages`分包页面配置(如果页面已自动配置,则可无视此步骤) +```js +"pages": [ + ...你的页面 +], +"subPackages": [ + { + "root": "uni_modules/uni-pay/pages", + "pages": [ + { + "path": "success/success", + "style": { + "navigationBarTitleText": "支付成功", + "backgroundColor": "#F8F8F8" + } + }, + { + "path": "ad-interactive-webview/ad-interactive-webview", + "style": { + "navigationBarTitleText": "ad", + "backgroundColor": "#F8F8F8" + } + } + ] + } +], +``` + +只需要复制这部分代码到你的`subPackages`节点内 + +```json +{ + "root": "uni_modules/uni-pay/pages", + "pages": [ + { + "path": "success/success", + "style": { + "navigationBarTitleText": "支付成功", + "backgroundColor": "#F8F8F8" + } + }, + { + "path": "ad-interactive-webview/ad-interactive-webview", + "style": { + "navigationBarTitleText": "ad", + "backgroundColor": "#F8F8F8" + } + } + ] +} +``` +* 7、安装完成 ## 快速上手 - 前端@quickly-pages @@ -1509,11 +1565,11 @@ APP支付除了配置uni-pay的支付配置外,还需要打包时添加支付 ## 常见问题@question -### 发起支付时报数据库表不存在? +### 老项目如何升级到uni-pay2.0 -支付插件需要创建支付相关的表后才能正常运行。[查看相关的数据库表](#database) +`uni-pay 2.x`向下兼容`uni-pay 1.x`,即从`uni-pay 1.x`可以一键升级到`uni-pay 2.x`,且不会对你的老项目造成影响。 -### 支付账号如何申请? +### 支付账号如何申请 本插件对接的支付渠道是微信和支付宝官方渠道 @@ -1535,7 +1591,7 @@ APP支付除了配置uni-pay的支付配置外,还需要打包时添加支付 ### 如何获得插件需要的密钥参数@get-config-help -#### 微信支付@get-wxpay-config-help +**微信支付** [微信支付参数和证书生成教程](https://docs.qq.com/doc/DWUpGTW1kSUdpZGF5) @@ -1543,11 +1599,19 @@ APP支付除了配置uni-pay的支付配置外,还需要打包时添加支付 - appCertPath:微信支付v3需要用到的证书,是一个名为`apiclient_cert.pem`的文件,将它复制到 `uni-config-center/uni-pay/wxpay/` 目录下 - appPrivateKeyPath:微信支付v3需要用到的证书,是一个名为`apiclient_key.pem`的文件,将它复制到 `uni-config-center/uni-pay/wxpay/` 目录下 -#### 支付宝@get-alipay-config-help +**支付宝** [支付宝支付证书生成教程](https://docs.qq.com/doc/DWVBlVkZ1Z21SZFpS) - privateKey:支付宝商户私钥 - appCertPath:支付宝商户公钥路径,是一个后缀名为`appCertPublicKey.crt`的文件,将它复制到 `uni-config-center/uni-pay/alipay/` 目录下 - alipayPublicCertPath:支付宝商户公钥路径,是一个后缀名为`alipayCertPublicKey_RSA2.crt`的文件,将它复制到 `uni-config-center/uni-pay/alipay/` 目录下 -- alipayRootCertPath:支付宝根证书路径,是一个后缀名为`alipayRootCert.crt`的文件,将它复制到 `uni-config-center/uni-pay/alipay/` 目录下 \ No newline at end of file +- alipayRootCertPath:支付宝根证书路径,是一个后缀名为`alipayRootCert.crt`的文件,将它复制到 `uni-config-center/uni-pay/alipay/` 目录下 + +### 发起支付时报数据库表不存在 + +支付插件需要创建支付相关的表后才能正常运行。[查看相关的数据库表](#database) + +### 只想用uni-pay公共模块,不想用uni-pay-co + +升级到 `uni-pay2.x` 后,会多一个`uni-pay-co`云对象以及一些前端页面和组件,这些页面和组件都是按需引入的,即不使用则不会打包到项目里(也可手动删除或将uni-pay公共模块单独复制到你的项目中) \ No newline at end of file