提交 f8907605 编写于 作者: DCloud_iOS_WZT's avatar DCloud_iOS_WZT

格式整理

上级 a96cd81c
......@@ -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() {
......
#### 申请开通支付宝支付
## 申请开通支付宝支付
登录[支付宝开放平台](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)
......
#### 申请开通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/)
#### 申请开通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. 应用中调用支付功能(支付参数如下)
应用中调用支付功能(支付参数如下)
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
......
#### 申请开通微信支付
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.
先完成此消息的编辑!
想要评论请 注册