Google Pay
了解如何用 Google Pay 收款。
借助 Google Pay,客户可以用他们在 Google 账户中存储的信用卡或借记卡在您的应用或网站上进行支付,包括 Google Play、YouTube、Chrome 或 Andriod 设备中绑定的银行卡。用 Google Pay API 请求您的客户在 Google 账户中存储的任何信用卡或借记卡。
Google Pay 与 Stripe 的产品和功能(例如,经常性付款)完全兼容,您可以随时在需要时用它替换传统的支付表单。用它来接收实物商品、捐赠、订阅等的付款。
使用 Stripe 和 Google Pay 与 Google Play 计费系统
对于实物商品和服务的销售,您的应用程序可以接受 Google Pay 或任何其他 Stripe 支持的支付方式。这些付款是通过 Stripe 处理的,只需支付 Stripe 的手续费。但是,应用内购买数字产品和内容必须使用 Google Play 计费系统。这些付款由 Google 处理,会收取交易费。
有关哪些购买必须使用 Google Play 计费系统的更多信息,请参见 Google Play 的开发人员条款。
在您的 Android 应用中用 Google Pay 收款
GooglePayLauncher
是 Stripe Android SDK 的一部分,是在 Android 应用中开通 Google Pay 的最快最便捷的方式。
前提条件
要支持 Android 上的 Google Pay,您需要:
minSdkVersion
:19
或更高 。compileSdkVersion
:28
或更高 。
此外,如果您希望使用自己的设备进行测试,您需要向您的 Google 账户添加支付方式。
设置您的集成应用
要使用 Google Pay,先将以下内容添加到您的 AndroidManifest.xml 的 <application>
标签,来启用 Google Pay API:
<application> ... <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" /> </application>
本指南假设您使用最新版的 Stripe Android SDK。
更多详情,请参见 Google Pay 针对 Android 设备编写的设置 Google Pay API 指南。
添加 Google Pay 按钮
按照 Google 教程 将 Google Pay 按钮添加到您的应用。这可确保您使用的是正确的素材资源。
实例化 GooglePayLauncher
接下来,在您的 Activity
或 Fragment
中创建一个 GooglePayLauncher 的实例。该操作必须要在 Activity#onCreate()
内完成。
GooglePayLauncher.
会显示配置 GooglePayLauncher
的必需和可选属性。有关配置选项的更多详情,请查看 GooglePayLauncher.
。
实例化 GooglePayLauncher
后,通过一个标志调用 GooglePayLauncher.
实例,该标志表示 Google Pay 是否可以使用。可以用此标志来更新您的 Ui,通过它告诉客户可以使用 Google Pay。
启动 GooglePayLauncher
开通 Google Pay 并且您的应用程序获得了 PaymentIntent
或 SetupIntent
客户端私钥后,用适当的方式启动 GooglePayLauncher
。确认 PaymentIntent
时,使用 GooglePayLauncher#presentForPaymentIntent(clientSecret)
。确认 SetupIntent
时,使用 GooglePayLauncher#presentForSetupIntent(clientSecret)
。
处理结果
最后,部署 GooglePayLauncher.
,以处理 GooglePayLauncher
操作的结果。
结果可能会是 GooglePayLauncher.
、GooglePayLauncher.
或 GooglePayLauncher.
。
推出 Google Pay
按照 Google 的说明,请求访问您的应用程序的生产环境。收到提示时,选择集成类型 Gateway,并提供您的应用的截图供审核。
您的应用程序得到批准后,通过将环境设置为 GooglePayEnvironment.
,在生产模式下测试您的集成,然后从一个签署的已发布版本启动 Google Pay。请记得使用您的真实模式下的 API 密钥。您可以用包含 capture_
= manual
的 PaymentIntent
来在不捕获付款的情况下处理交易。
创建 PaymentMethod
如果您在您的服务器上确认付款,则可以用 GooglePayPaymentMethodLauncher
仅收集 PaymentMethod
,而非确认付款。
争议
用户必须验证用他们的 Google Pay 账户进行的付款,以降低发生欺诈或付款无法识别的风险。但是,用户仍然可以在完成付款后对交易提出争议。您可以直接提交证据,对争议提出质疑。争议流程与银行卡付款相同。了解如何管理争议。
Google Pay 收款的责任转移
Google Pay 支持全球范围内的责任转移。使用 Stripe 托管产品和 Stripe.js 的用户可自动启用。对于 Stripe 托管产品之外的 Visa 交易,必须在 Google Pay 和 Wallet Console 中启用责任转移。为此,请导航到您的 Google Pay & Wallet Console,选择左侧导航栏中的_Google Pay API_,然后为责任转移保护启用 Fraud Liability Protection for Visa Device Tokens。
Google Pay 交易可在三种场景中使用:
- 如果用户用其移动设备向 Google Pay 应用添加银行卡,则该卡会作为一个设备主账号 (DPAN) 进行保存,并且默认支持责任转移。
- 如果用户向 Chrome 或 Google 的一个属性(例如,YouTube 或 Play)添加银行卡,那么该银行卡会作为充值主账号 (FPAN) 进行保存。当执行3DS 验证时,包括 Visa 在内的所有主要卡组织都支持全球责任转移。您可以自定义 Stripe Radar 规则来请求激活 3DS 验证。
- 如果用户在用 Google Pay 支付的电商网站或应用中选择 Google Pay 作为支付方式,则这些卡将以电商令牌的形式保存,在文件中表示这些卡。目前电商令牌不支持责任转移和 3DS 验证。
对于 Sigma 用户,charges
表包含一个指示 Google Pay 交易类型的 card_
字段。FPAN 交易将 card_
设置为 fpan
。DPAN 和电商令牌交易将 card_
设置为 dpan_
。
退款
您可以部分或全额退还任何成功的 Google Pay 付款。退款流程与银行卡付款相同。有关发起或管理退款的说明,请参阅退款和取消付款。