调至内容部分
创建账户
或
登录
Stripe 文档徽标
/
询问人工智能
创建账户
登录
开始
付款
财务自动化
平台和交易市场
资金管理
开发人员工具
开始
付款
财务自动化
开始
付款
财务自动化
平台和交易市场
资金管理
概览
关于 Stripe 支付
升级您的集成
支付分析
线上付款
概览查找您的用例Managed Payments
使用 Payment Link
构建结账页面
构建高级集成
构建应用内集成
支付方式
添加支付方式
    概览
    支付方式集成选项
    在管理平台中管理默认支付方式
    支付方式类型
    银行卡
    银行借记
    银行重定向
    银行转账
    贷记转账(来源)
    先买后付
    实时付款
    付款凭单
    钱包
      支付宝
      Amazon Pay
      Apple Pay
      Cash App Pay
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      微信支付
    按国家启用本地支付方式
    自定义支付方式
管理支付方式
用 Link 更快结账
支付接口
Payment Links
结账
Web Elements
应用内 Element
支付场景
自定义支付流程
灵活收单
编排
线下支付
Terminal
其他 Stripe 产品
Financial Connections
加密货币
Climate
首页付款Add payment methodsWallets

Google Pay

了解如何用 Google Pay 收款。

复制页面

Pricing and fees

For information on payment method transaction fees, refer to pricing details.

借助 Google Pay,客户可以用他们在 Google 账户中存储的信用卡或借记卡在您的应用或网站上进行支付,包括 Google Play、YouTube、Chrome 或 Andriod 设备中绑定的银行卡。用 Google Pay API 请求您的客户在 Google 账户中存储的任何信用卡或借记卡。

Google Pay 与 Stripe 的产品和功能(例如,经常性付款)完全兼容,您可以随时在需要时用它替换传统的支付表单。用它来接收实物商品、捐赠、订阅等的付款。

Google Pay 条款

集成 Google Pay,表示您同意 Google 的服务条款。

  • 客户所在地

    印度以外的全球

  • 出示货币

    参见受支持的出示货币

  • 支付确认

    客户发起

  • 支付方式类型

    钱包

  • 经常性付款

    是

  • 提现时间

    适用标准提现时间

  • Connect 支持

    是

  • 争议支持

    是

  • 手动捕获支持

    是

  • 退款/部分退款

    是 / 是

使用 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:

AndroidManifest.xml
<application> ... <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" /> </application>

本指南假设您使用最新版的 Stripe Android SDK。

build.gradle
Groovy
dependencies { implementation 'com.stripe:stripe-android:21.12.0' }

更多详情,请参见 Google Pay 针对 Android 设备编写的设置 Google Pay API 指南。

添加 Google Pay 按钮

按照 Google 教程 将 Google Pay 按钮添加到您的应用。这可确保您使用的是正确的素材资源。

实例化 GooglePayLauncher

接下来,在您的 Activity 或 Fragment 中创建一个 GooglePayLauncher 的实例。该操作必须要在 Activity#onCreate() 内完成。

GooglePayLauncher.Config 会显示配置 GooglePayLauncher 的必需和可选属性。有关配置选项的更多详情,请查看 GooglePayLauncher.Config。

Kotlin
import com.google.android.gms.wallet.button.PayButton class CheckoutActivity : AppCompatActivity() { // fetch client_secret from backend private lateinit var clientSecret: String private lateinit var googlePayButton: PayButton override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.checkout_activity) PaymentConfiguration.init(this, PUBLISHABLE_KEY) googlePayButton = /* TODO: Initialize button by following Google's guide. */ val googlePayLauncher = GooglePayLauncher( activity = this, config = GooglePayLauncher.Config( environment = GooglePayEnvironment.Test, merchantCountryCode = "US", merchantName = "Widget Store" ), readyCallback = ::onGooglePayReady, resultCallback = ::onGooglePayResult ) googlePayButton.setOnClickListener { // launch `GooglePayLauncher` to confirm a Payment Intent googlePayLauncher.presentForPaymentIntent(clientSecret) } } private fun onGooglePayReady(isReady: Boolean) { // implemented below } private fun onGooglePayResult(result: GooglePayLauncher.Result) { // implemented below } }

实例化 GooglePayLauncher 后,通过一个标志调用 GooglePayLauncher.ReadyCallback 实例,该标志表示 Google Pay 是否可以使用。可以用此标志来更新您的 Ui,通过它告诉客户可以使用 Google Pay。

Kotlin
import com.google.android.gms.wallet.button.PayButton class CheckoutActivity : AppCompatActivity() { // continued from above private lateinit var googlePayButton: PayButton private fun onGooglePayReady(isReady: Boolean) { googlePayButton.isEnabled = isReady } }

启动 GooglePayLauncher

开通 Google Pay 并且您的应用程序获得了 PaymentIntent 或 SetupIntent 客户端私钥后,用适当的方式启动 GooglePayLauncher。确认 PaymentIntent 时,使用 GooglePayLauncher#presentForPaymentIntent(clientSecret)。确认 SetupIntent 时,使用 GooglePayLauncher#presentForSetupIntent(clientSecret)。

Kotlin
import com.google.android.gms.wallet.button.PayButton class CheckoutActivity : AppCompatActivity() { // fetch client_secret from backend private lateinit var clientSecret: String private lateinit var googlePayButton: PayButton override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // instantiate `googlePayLauncher` googlePayButton.setOnClickListener { // launch `GooglePayLauncher` to confirm a Payment Intent googlePayLauncher.presentForPaymentIntent(clientSecret) } } }

处理结果

最后,部署 GooglePayLauncher.ResultCallback,以处理 GooglePayLauncher 操作的结果。

结果可能会是 GooglePayLauncher.Result.Completed、GooglePayLauncher.Result.Canceled 或 GooglePayLauncher.Result.Failed。

Kotlin
class CheckoutActivity : AppCompatActivity() { // continued from above private fun onGooglePayResult(result: GooglePayLauncher.Result) { when (result) { GooglePayLauncher.Result.Completed -> { // Payment succeeded, show a receipt view } GooglePayLauncher.Result.Canceled -> { // User canceled the operation } is GooglePayLauncher.Result.Failed -> { // Operation failed; inspect `result.error` for the exception } } } }

推出 Google Pay

按照 Google 的说明,请求访问您的应用程序的生产环境。收到提示时,选择集成类型 Gateway,并提供您的应用的截图供审核。

您的应用程序得到批准后,通过将环境设置为 GooglePayEnvironment.Production,在生产模式下测试您的集成,然后从一个签署的已发布版本启动 Google Pay。请记得使用您的真实模式下的 API 密钥。您可以用包含 capture_method = manual 的 PaymentIntent 来在不捕获付款的情况下处理交易。

创建 PaymentMethod

如果您在您的服务器上确认付款,则可以用 GooglePayPaymentMethodLauncher 仅收集 PaymentMethod,而非确认付款。

Kotlin
import com.google.android.gms.wallet.button.PayButton class CheckoutActivity : AppCompatActivity() { private lateinit var googlePayButton: PayButton override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.checkout_activity) PaymentConfiguration.init(this, PUBLISHABLE_KEY) googlePayButton = /* TODO: Initialize button by following Google's guide. */ val googlePayLauncher = GooglePayPaymentMethodLauncher( activity = this, config = GooglePayPaymentMethodLauncher.Config( environment = GooglePayEnvironment.Test, merchantCountryCode = "FR", merchantName = "Widget Store" ), readyCallback = ::onGooglePayReady, resultCallback = ::onGooglePayResult ) googlePayButton.setOnClickListener { googlePayLauncher.present( currencyCode = "EUR", amount = 2500 ) } } private fun onGooglePayReady(isReady: Boolean) { googlePayButton.isEnabled = isReady } private fun onGooglePayResult( result: GooglePayPaymentMethodLauncher.Result ) { when (result) { is GooglePayPaymentMethodLauncher.Result.Completed -> { // Payment details successfully captured. // Send the paymentMethodId to your server to finalize payment. val paymentMethodId = result.paymentMethod.id } GooglePayPaymentMethodLauncher.Result.Canceled -> { // User canceled the operation } is GooglePayPaymentMethodLauncher.Result.Failed -> { // Operation failed; inspect `result.error` for the exception } } } }

争议

用户必须验证用他们的 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 交易可在三种场景中使用:

  1. 如果用户用其移动设备向 Google Pay 应用添加银行卡,则该卡会作为一个设备主账号 (DPAN) 进行保存,并且默认支持责任转移。
  2. 如果用户向 Chrome 或 Google 的一个属性(例如,YouTube 或 Play)添加银行卡,那么该银行卡会作为充值主账号 (FPAN) 进行保存。当您使用 3DS 验证时,我们全球支持所有主要卡组织的责任转移,包括 Visa。您可以自定义 Stripe Radar 规则来请求激活 3DS 验证。
  3. 如果用户在用 Google Pay 支付的电商网站或应用中选择 Google Pay 作为支付方式,则这些卡将以电商令牌的形式保存,在文件中表示这些卡。目前电商令牌不支持责任转移和 3DS 验证。

对于 Sigma 用户,charges 表包含一个指示 Google Pay 交易类型的 card_token_type 字段。FPAN 交易将 card_token_type 设置为 fpan。DPAN 和电商令牌交易将 card_token_type 设置为 dpan_or_ecommerce_token。

退款

您可以部分或全额退还任何成功的 Google Pay 付款。退款流程与银行卡付款相同。有关发起或管理退款的说明,请参阅退款和取消付款。

测试 Google Pay

您不能将 Stripe 的测试卡信息保存到 Google Pay 钱包。而是,在您使用测试 API 密钥时 Stripe 会识别出,并返回一个成功的测试卡令牌供您使用。这样您即可用真实卡进行测试付款,不会被扣款。

此页面的内容有帮助吗?
是否
需要帮助?联系支持。
加入我们的早期使用计划。
查看我们的更改日志。
有问题?联系销售。
LLM? Read llms.txt.
Powered by Markdoc