Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
suncj1314
unidocs-zh
提交
ccab1108
U
unidocs-zh
项目概览
suncj1314
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ccab1108
编写于
1月 11, 2022
作者:
DCloud-yyl
提交者:
Gitee
1月 11, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add docs/app-payment-google.md.
上级
b4f27eb0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
155 addition
and
0 deletion
+155
-0
docs/app-payment-google.md
docs/app-payment-google.md
+155
-0
未找到文件。
docs/app-payment-google.md
0 → 100644
浏览文件 @
ccab1108
#### 申请开通Google支付
1.
注册谷歌账号。
2.
打开
[
Google Pay | Google Developers
](
https://developers.google.com/pay
)
并登录谷歌账号。
3.
进入控制台
[
Sign up: Google Pay's Business Console
](
https://pay.google.com/business/console/?pli=1
)
并设置商家名称。如图:
!
[
image-20220110010505156
](
https://gitee.com/duoguang/md-image/raw/master/image-20220110010505156.png
)
4.
设置完成后进入控制台页面,并设置对应的商家资料。
!
[
image-20220110011030589
](
https://gitee.com/duoguang/md-image/raw/master/image-20220110011030589.png
)
5.
当需要上线正式版的时候,app的签名秘钥指纹需要确保与
`Google Play`
注册的发布秘钥指纹一致。
------
#### 使用Google支付
**环境要求**
1.
海外网络环境。
2.
确保您的 Android 设备装有 18.0.0 或更高版本的 Google Play 服务。
**支付参数**
由于谷歌支付参数较多,并且区分付款方式,且不同付款方式配置并不相同,所以需要开发者在
`公共配置`
的基础上根据不同的支付方式追加对应的配置。具体字段请参照
[
谷歌支付官方字段说明
](
https://developers.google.com/pay/api/android/reference/request-objects?authuser=1#PaymentMethod
)
###### 公共配置
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
|environment|环境(1:生产 3:测试)|是|
|paymentMethodType|付款方式(CARD、PAYPAL)|是|
|existingPaymentMethodRequired|如果设置为true,isReadyToPay方法就会返回true。|否|
|currencyCode|货币单位( ISO 4217)|是|
|countryCode|在欧洲经济区使用的货币单位|在欧洲经济区必填|
|transactionId|交易id|当想要接收googlepay回调的时候必填|
|totalPriceStatus|价格状态(NOT_CURRENTLY_KNOWN、ESTIMATED、FINAL)|是|
|totalPrice|总价|是|
|totalPriceLabel|显示的价格|否|
|checkoutOption|影响支付按钮显示的配置(DEFAULT、COMPLETE_IMMEDIATE_PURCHASE)|否|
|merchantName|商户名称|否|
|emailRequired|是否需要email|否|
|shippingAddressRequired|是否需要地址|否|
|shippingPhoneNumberRequired|送货地址是否需要电话号码|否|
|allowedCountryCodes|允许的国家code。|否|
###### 付款方式配置
付款方式分为两种:
`CARD`
、
`PAYPAL`
,所以参数列表所以根据
`paymentMethodType`
参数区分为以下两种。
1.
`CARD`
支付
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
|allowedAuthMethods|支持的身份校验|是|
|allowedCardNetworks|支持的卡类型(AMEX、DISCOVER、INTERAC、JCB、MASTERCARD、VISA)|是|
|allowPrepaidCards|是否支持预付卡|否|
|allowCreditCards|是否支持信用卡|否|
|assuranceDetailsRequired||否|
|billingAddressRequired|是否需要账单地址|否|
|billingAddressParametersFormat|账单地址格式(MIN、FULL)|否|
|phoneNumberRequired|处理交易是否需要电话号码|否|
|tokenizationSpecificationType|支付方式的token type(当支付方式是CARD的时候支持PAYMENT_GATEWAY、DIRECT。当支付方式是PayPal的时候只支持DIRECT)|是|
|gateway|支付网关
[
详情
](
https://developers.google.com/pay/api/android/reference/request-objects?authuser=1#PaymentDataRequest
)
|当
`tokenizationSpecificationType`
为
`PAYMENT_GATEWAY`
时必填|
|gatewayMerchantId|支付网关的商户id|当
`tokenizationSpecificationType`
为
`PAYMENT_GATEWAY`
时必填|
|protocolVersion|加密协议版本|当
`tokenizationSpecificationType`
为
`DIRECT`
时必填|
|publicKey|公钥|当
`tokenizationSpecificationType`
为
`DIRECT`
时必填|
2.
`PAYPAL`
支付
| 参数名称 | 参数说明 | 必须 |
|-------------|-------|-----|
|merchant|PayPal的商户id|是|
### 示例
```
js
plus
.
payment
.
getChannels
((
providers
)
=>
{
let
provider
=
providers
.
find
(
function
(
e
)
{
return
e
.
id
===
"
google-pay
"
;
});
let
paymentMethodType
=
"
CARD
"
;
let
statement
=
{
environment
:
3
,
// 必填 1 是product 3是test
paymentMethodType
:
paymentMethodType
,
//必填 CARD、PAYPAL
existingPaymentMethodRequired
:
false
,
//可选 如果设置为true同时已经准备好了支付allowedPaymentMethods中的付款方式,isReadyToPay就会返回true。
currencyCode
:
"
USD
"
,
//必填
countryCode
:
"
US
"
,
//在欧洲经济区必填
transactionId
:
""
,
//当你想要接收googlepay回调的时候必填
totalPriceStatus
:
"
FINAL
"
,
//必填 NOT_CURRENTLY_KNOWN、ESTIMATED、FINAL
totalPrice
:
"
111.00
"
,
//必填 满足正则格式^[0-9]+(\.[0-9][0-9])?$
totalPriceLabel
:
"
100heelo
"
,
//可选
checkoutOption
:
"
DEFAULT
"
,
//可选 DEFAULT、COMPLETE_IMMEDIATE_PURCHASE
merchantName
:
"
Example Merchant
"
,
//可选
emailRequired
:
true
,
//可选
shippingAddressRequired
:
true
,
//可选
shippingPhoneNumberRequired
:
false
,
//可选
allowedCountryCodes
:
[
"
US
"
,
"
GB
"
],
//可选
};
let
paymentMethodConfig
=
{};
let
paypalPaymentMethodConfig
=
{
merchantId
:
""
,
//必填
};
let
cardPaymentMethodConfig
=
{
allowedAuthMethods
:
[
"
PAN_ONLY
"
,
"
CRYPTOGRAM_3DS
"
],
//必填
allowedCardNetworks
:
[
"
AMEX
"
,
"
DISCOVER
"
,
"
JCB
"
,
"
MASTERCARD
"
,
"
VISA
"
],
//必填
allowPrepaidCards
:
false
,
//可选
// allowCreditCards:false,//可选
assuranceDetailsRequired
:
false
,
//可选
billingAddressRequired
:
true
,
//可选
billingAddressParametersFormat
:
"
FULL
"
,
//可选 MIN
phoneNumberRequired
:
false
,
//可选
tokenizationSpecificationType
:
"
PAYMENT_GATEWAY
"
,
//必填 PAYMENT_GATEWAY、DIRECT
gateway
:
"
example
"
,
//PAYMENT_GATEWAY时必填
gatewayMerchantId
:
"
exampleGatewayMerchantId
"
,
//PAYMENT_GATEWAY时必填
protocolVersion
:
""
,
//DIRECT时必填
publicKey
:
""
,
//DIRECT时必填
};
if
(
paymentMethodType
===
"
PAYPAL
"
)
{
paymentMethodConfig
=
{
...
paypalPaymentMethodConfig
};
}
else
{
paymentMethodConfig
=
{
...
cardPaymentMethodConfig
};
}
statement
=
{
...
statement
,
...
paymentMethodConfig
};
console
.
log
(
JSON
.
stringify
(
statement
));
plus
.
payment
.
request
(
provider
,
statement
,
(
result
)
=>
{
console
.
log
(
"
支付成功 :
"
+
JSON
.
stringify
(
result
));
},
(
e
)
=>
{
console
.
log
(
"
支付失败:
"
+
JSON
.
stringify
(
e
));
})
});
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录