Google Pay
Receba pagamentos pelo Google Pay.
O Google Pay permite fazer pagamentos no seu aplicativo ou site com qualquer cartão de crédito ou débito salvo na conta do Google, inclusive no Google Play, YouTube, Chrome ou aparelho Android. Use a API Google Pay para solicitar cartões de crédito ou débito armazenados na conta do seu cliente.
O Google Pay é totalmente compatível com os produtos e recursos da Stripe (por exemplo, pagamentos recorrentes), permitindo que você o utilize no lugar de uma forma de pagamento tradicional sempre que for possível. Use-o para aceitar pagamentos referentes a produtos físicos, doações, assinaturas e assim por diante.
Uso da Stripe e Google Pay x sistema de faturamento do Google Play![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Para vendas de mercadorias e serviços físicos, seu aplicativo pode aceitar Google Pay ou qualquer forma de pagamento aceita pela Stripe. Esses pagamentos são processados pela Stripe, e você só precisa pagar as tarifas de processamento da Stripe. No entanto, compras de produtos e conteúdos digitais no aplicativo devem usar o sistema de faturamento do Google Play. Esses pagamentos são processados pelo Google e estão sujeitos às tarifas de transação do Google.
Para obter mais informações sobre quais compras devem usar o sistema de faturamento do Google Play, consulte os termos para desenvolvedores do Google Play.
O SDK do React Native da Stripe é a maneira mais rápida e simples de começar a aceitar Google Pay nos seus aplicativos React Native. O componente PlatformPayButton inclui a IU obrigatória do Google, e você pode usar os métodos confirmPlatformPayPayment
e createPlatformPayPaymentMethod
para coletar ou criar pagamentos no seu aplicativo facilmente e com o mínimo de configuração.
Configurar a StripeLado do servidorLado do cliente![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Servidor![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Esta integração exige que os endpoints do seu servidor se comuniquem com a API da Stripe. Use nossas bibliotecas oficiais para acessar a API da Stripe a partir do seu servidor:
Cliente![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
O SDK do React Native é de código aberto e totalmente documentado. Internamente, utiliza as SDKs de iOS nativo e Android. Para instalar o SDK do React Native da Stripe, execute um dos seguintes comandos no diretório do seu projeto (dependendo de qual gerenciador de pacotes você usa):
Em seguida, instale algumas outras dependências necessárias:
- Para iOS, vá até o diretório ios e execute
pod install
para garantir a instalação das dependências nativas necessárias. - Para Android, não há mais dependências para instalar.
Inicialização da Stripe![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
To initialize Stripe in your React Native app, either wrap your payment screen with the StripeProvider
component, or use the initStripe
initialization method. Only the API publishable key in publishableKey
is required. The following example shows how to initialize Stripe using the StripeProvider
component.
import { StripeProvider } from '@stripe/stripe-react-native'; function App() { const [publishableKey, setPublishableKey] = useState(''); const fetchPublishableKey = async () => { const key = await fetchKey(); // fetch key from your server here setPublishableKey(key); }; useEffect(() => { fetchPublishableKey(); }, []); return ( <StripeProvider publishableKey={publishableKey} merchantIdentifier="merchant.identifier" // required for Apple Pay urlScheme="your-url-scheme" // required for 3D Secure and bank redirects > // Your app code here </StripeProvider> ); }
Ativar Google Pay![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Para usar o Google Pay, habilite a API Google Pay adicionando o seguinte à <application>
tag do seu AndroidManifest.xml:
<application> ... <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" /> </application>
Veja mais detalhes na Configuração da API Google Pay do Google Pay para Android.
Crie um PaymentIntentLado do servidor![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Primeiro, crie um PaymentIntent
no seu servidor e especifique o valor a ser coletado e a moeda. Se já tiver uma integração que usa a API Payment Intents, adicione card
à lista de tipos de forma de pagamento para o seu PaymentIntent
(essa também é a forma de pagamento padrão se nenhuma for informada):
Um PaymentIntent inclui um client secretsegredo do cliente. Você pode usar o segredo do cliente no aplicativo React Native para concluir o processo de pagamento em vez de passar de volta todo o objeto PaymentIntent. No aplicativo, solicite um PaymentIntent do seu servidor e armazene o segredo do cliente.
Inicializar o Google PayDo lado do cliente![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Primeiro, verifique se o dispositivo aceita ou não o Google Pay chamando isPlatformPaySupported
.
import { usePlatformPay } from '@stripe/stripe-react-native'; function PaymentScreen() { const { isPlatformPaySupported } = usePlatformPay(); React.useEffect(() => { (async function () { if (!(await isPlatformPaySupported({ googlePay: {testEnv: true} }))) { Alert.alert('Google Pay is not supported.'); return; } })(); }, []); ... return ( <View > ... </View> ); }
Apresentar a planilha do Google PayDo lado do cliente![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Após saber que o Google Pay está disponível e que seu aplicativo obteve um segredo do cliente PaymentIntent
ou SetupIntent
, chame confirmPlatformPayPayment
. Ao confirmar um SetupIntent
, use confirmPlatformPaySetupIntent
.
import {PlatformPayButton, usePlatformPay} from '@stripe/stripe-react-native'; function PaymentScreen() { const { isPlatformPaySupported, confirmPlatformPayPayment, } = usePlatformPay(); React.useEffect(() => { ... // see above }, []); const fetchPaymentIntentClientSecret = async () => { // Fetch payment intent created on the server, see above const response = await fetch(`${API_URL}/create-payment-intent`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ currency: 'usd', }), }); const { clientSecret } = await response.json(); return clientSecret; }; const pay = async () => { const clientSecret = await fetchPaymentIntentClientSecret(); const { error } = await confirmPlatformPayPayment( clientSecret, { googlePay: { testEnv: true, merchantName: 'My merchant name', merchantCountryCode: 'US', currencyCode: 'USD', billingAddressConfig: { format: PlatformPay.BillingAddressFormat.Full, isPhoneNumberRequired: true, isRequired: true, }, }, } ); if (error) { Alert.alert(error.code, error.message); // Update UI to prompt user to retry payment (and possibly another payment method) return; } Alert.alert('Success', 'The payment was confirmed successfully.'); }; return ( <View > <PlatformPayButton type={PlatformPay.ButtonType.Pay} onPress={pay} style={{ width: '100%', height: 50, }} /> </View> ); }
Usar o Google Pay no modo de produção![](https://b.stripecdn.com/docs-statics-srv/assets/fcc3a1c24df6fcffface6110ca4963de.svg)
Siga as instruções do Google para solicitar acesso de produção para seu aplicativo. Escolha o tipo de integração Gateway quando solicitado e forneça capturas de tela do seu aplicativo para análise.
Após a aprovação do aplicativo, teste sua integração em produção usado testEnv: false
e iniciando o Google Pay em uma versão assinada do seu aplicativo. Lembre-se de usar seu modo de produção API keys. Você pode usar um PaymentIntent
com capture_
= manual
para processar uma transação sem capturar o pagamento.