Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
ccab1108
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3317
Star
107
Fork
842
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
102
列表
看板
标记
里程碑
合并请求
80
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
102
Issue
102
列表
看板
标记
里程碑
合并请求
80
合并请求
80
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
未验证
提交
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录