Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序yang
unidocs-zh
提交
f8907605
U
unidocs-zh
项目概览
程序yang
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f8907605
编写于
1月 11, 2022
作者:
DCloud_iOS_WZT
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
格式整理
上级
a96cd81c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
43 addition
and
51 deletion
+43
-51
docs/app-payment-aip.md
docs/app-payment-aip.md
+6
-6
docs/app-payment-alipay.md
docs/app-payment-alipay.md
+2
-12
docs/app-payment-paypal.md
docs/app-payment-paypal.md
+18
-16
docs/app-payment-stripe.md
docs/app-payment-stripe.md
+9
-9
docs/app-payment-weixin.md
docs/app-payment-weixin.md
+8
-8
未找到文件。
docs/app-payment-aip.md
浏览文件 @
f8907605
...
...
@@ -16,10 +16,10 @@
通过和用户联调我们发现在调用支付接口后,如果用户未绑定支付方式此时会触发支付失败回调方法,实际上用户可以跳转 AppStrore 绑卡然后继续支付,之前的逻辑在回调失败方法中框架会关闭订单,用户付完钱在回到App中也不会触发成功回调,这样就造成了丢单,解决方法就是在调用支付接口时添加optimize: true参数,并标记 restoreFlag = true;,支付成功回调中清除标记 restoreFlag = false; 然后在支付失败回调中框架就不会关闭订单了,并在页面显示的时候通过标记判断是否需要调用 restoreComplateRequest 方法,如果用户跳转App Store绑定支付方式付款成功后回到 App 就可以通过 restoreComplateRequest 方法恢复之前支付的订单信息,解决丢单的问题;
#### 开发流程
1.
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“Apple应用内支付”项
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“Apple应用内支付”项
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/iap_setup_manifest_info.png
)
2.
获取支付渠道
######
获取支付渠道
```
js
var
iap
=
null
;
plus
.
payment
.
getChannels
(
function
(
channels
)
{
...
...
@@ -35,7 +35,7 @@ plus.payment.getChannels(function(channels) {
});
```
3.
获取订单信息
######
获取订单信息
```
js
// ids 为在苹果开发者后台配置的应用内购项目的标识集合
var
ids
=
[
'
商品1
'
,
'
商品2
'
];
...
...
@@ -49,7 +49,7 @@ iap.requestOrder(ids, function(e) {
});
```
4.
发起支付
######
发起支付
*
uni-app项目示例
```
js
var
restoreFlag
=
true
;
...
...
@@ -91,7 +91,7 @@ plus.payment.request(iap, {
});
```
5.
恢复购买
######
恢复购买
```
js
function
restoreComplateRequest
()
{
iap
.
restoreComplateRequest
({},
function
(
results
)
{
...
...
@@ -104,7 +104,7 @@ function restoreComplateRequest() {
*
丢单的商品(所有类型)
注意事项:
**丢单的消耗类型商品**
在支付完成后,
**首次**
调用该接口可返回支付凭证
6.
丢单检测
######
丢单检测
*
uni-app 在页面 onShow 方法中调用 restoreComplateRequest
```
js
onShow
()
{
...
...
docs/app-payment-alipay.md
浏览文件 @
f8907605
##
##
申请开通支付宝支付
## 申请开通支付宝支付
登录
[
支付宝开放平台
](
https://open.alipay.com/
)
[
创建应用
](
https://opendocs.alipay.com/open/200/105310
)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/alipay_create_app.png
)
[
添加功能
](
https://opendocs.alipay.com/open/200/105310#%E6%B7%BB%E5%8A%A0%E5%BA%94%E7%94%A8%E5%8A%9F%E8%83%BD
)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/alipay_add_pay.png
)
[
开发设置
](
https://opendocs.alipay.com/open/200/105310#%E9%85%8D%E7%BD%AE%E5%BA%94%E7%94%A8%E7%8E%AF%E5%A2%83
)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/alipay_develop_config.png
)
更多信息详见
[
支付宝官方文档
](
https://opendocs.alipay.com/open/204/105297/
)
##
##
使用支付宝支付
## 使用支付宝支付
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“支付宝支付”项
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/alipay_setup_manifest_info.png
)
...
...
docs/app-payment-paypal.md
浏览文件 @
f8907605
##
##
申请开通Paypal
1.
[
登录/注册
](
https://www.paypal.com/c2/signin
)
## 申请开通Paypal
[
登录/注册
](
https://www.paypal.com/c2/signin
)
2.
打开
[
paypal开发者中心
](
https://developer.paypal.com/developer/applications
)
打开
[
paypal开发者中心
](
https://developer.paypal.com/developer/applications
)
3.
如图,依次选择My Apps & Credentials -> Live(如果创建沙箱环境点击Sandbox) -> Create App
如图,依次选择My Apps & Credentials -> Live(如果创建沙箱环境点击Sandbox) -> Create App
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_develop_center.png
)
4.
输入App Name,点击Create App
输入App Name,点击Create App
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_create_app.png
)
5.
创建完成后,点击AppName
创建完成后,点击AppName
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_setup_app_info.png
)
6.
查看Client ID 以及 Secret
查看Client ID 以及 Secret
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_get_clientid.png
)
7.
添加return URL并保存(必须使用小写字母)
添加return URL并保存(必须使用小写字母)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_add_returnurl.png
)
8.
勾选Accept payments 并点击Advanced options选择详情配置(点击保存后生效)
勾选Accept payments 并点击Advanced options选择详情配置(点击保存后生效)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_accept_payments.png
)
9.
勾选Log in with PayPal 并点击Advanced options选择详情配置(点击保存后生效)
勾选Log in with PayPal 并点击Advanced options选择详情配置(点击保存后生效)
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_log_in.png
)
------
##
##
使用Paypal支付
## 使用Paypal支付
1.
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“paypal支付”项并配置相关参数
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“paypal支付”项并配置相关参数
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/paypal_setup_manifest_info.png
)
配置说明:returnURL必须为paypal开发者中心配置的returnURL,否则无法调起支付
2.
通过服务器生成支付订单并获取orderId(服务器获取订单信息详见
[
paypal API
](
https://developer.paypal.com/docs/api/orders/v2/
)
)
配置说明:returnURL必须为paypal开发者中心配置的returnURL,否则无法调起支付
通过服务器生成支付订单并获取orderId(服务器获取订单信息详见
[
paypal API
](
https://developer.paypal.com/docs/api/orders/v2/
)
)
3.
应用中调用支付功能(支付参数如下)
应用中调用支付功能(支付参数如下)
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
...
...
@@ -101,5 +103,5 @@ plus.payment.request(this.paypalSev, statement, function(result) {
});
```
4.
应用发起支付完成后,返回订单id,服务器捕获或授权订单
[
详见paypal API
](
https://developer.paypal.com/docs/api/orders/v2/
)
应用发起支付完成后,返回订单id,服务器捕获或授权订单
[
详见paypal API
](
https://developer.paypal.com/docs/api/orders/v2/
)
docs/app-payment-stripe.md
浏览文件 @
f8907605
##
##
申请开通Stripe
1.
[
登录/注册
](
https://dashboard.stripe.com/login
)
## 申请开通Stripe
[
登录/注册
](
https://dashboard.stripe.com/login
)
2.
进入主页后,点击顶部继续按钮,完善公司信息
进入主页后,点击顶部继续按钮
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_home_page.png
)
3.
完善
信息
完善公司
信息
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_company_info.png
)
4.
完善公司
信息后,回到首页即可在右侧查看密钥
完善
信息后,回到首页即可在右侧查看密钥
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_get_publishkey.png
)
------
##
##
使用Stripe支付
1.
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“stripe支付”项并添加配置
## 使用Stripe支付
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“stripe支付”项并添加配置
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/stripe_setup_manifest_info.png
)
配置说明:returnURL(只需配置iOS),格式为'your-app://stripe'(示例 hbuilder://stripe),'your-app'为应用的自定义scheme,参考:
[
配置一个自定义页面内跳转协议 (URL Scheme)
](
https://ask.dcloud.net.cn/article/64
)
2.
服务器生成支付订单
[
参考stripeAPI
](
https://stripe.com/docs/payments/accept-a-payment
)
服务器生成支付订单
[
参考stripeAPI
](
https://stripe.com/docs/payments/accept-a-payment
)
```
js
uni
.
request
({
url
:
'
https://stripe-mobile-payment-sheet.glitch.me/checkout
'
,
//仅为示例
...
...
@@ -30,7 +30,7 @@
}
})
```
3.
应用中调用支付功能(支付参数如下)
应用中调用支付功能(支付参数如下)
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
...
...
docs/app-payment-weixin.md
浏览文件 @
f8907605
##
##
申请开通微信支付
1.
登录
[
微信开放平台
](
https://open.weixin.qq.com/
)
,申请移动应用并开通支付功能,申请应用后可以获取 AppID 和 AppSecret 值
2.
应用接入
[
微信商户平台
](
https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F
)
,选择 App 支付
3.
开通支付功能后可获取支付业务服务器配置数据:PARTNER(财付通商户号)、PARTNER_KEY(财付通密钥)、PAYSIGNKEY(支付签名密钥)
## 申请开通微信支付
登录
[
微信开放平台
](
https://open.weixin.qq.com/
)
,申请移动应用并开通支付功能,申请应用后可以获取 AppID
应用接入
[
微信商户平台
](
https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F
)
,选择 App 支付
开通支付功能后可获取支付业务服务器配置数据:PARTNER(财付通商户号)、PARTNER_KEY(财付通密钥)、PAYSIGNKEY(支付签名密钥)
更多信息详见
[
移动应用开发
](
https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN
)
##
##
使用微信支付
1.
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付”项
## 使用微信支付
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“微信支付”项
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/payment/wxpay_setup_manifest_info.png
)
2.
通过服务器生成支付订单,参考:
[
微信支付示例(PHP)
](
https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3
)
通过服务器生成支付订单,参考:
[
微信支付示例(PHP)
](
https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3
)
3.
应用中调用支付功能(支付参数如下)
应用中调用支付功能(支付参数如下)
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录