> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Carteiras Digitais

> Aceite Apple Pay, Google Pay, Amazon Pay, Cash App Pay e RevolutPay para um checkout rápido, seguro e com um toque. Saiba sobre configuração, verificação de domínio e testes.

Carteiras digitais permitem que clientes paguem com um único toque usando métodos de pagamento salvos em seus dispositivos. Elas oferecem taxas de conversão maiores, segurança reforçada por tokenização e uma experiência de checkout simplificada.

## Carteiras Suportadas

| Carteira         | Disponibilidade      | Moedas | Assinaturas | Configuração Necessária |
| :--------------- | :------------------- | :----- | :---------: | :---------------------- |
| **Apple Pay**    | Global (excl. Índia) | Todas  |     Sim     | Verificação de domínio  |
| **Google Pay**   | Global (excl. Índia) | Todas  |     Sim     | Nenhuma                 |
| **Amazon Pay**   | Global (excl. Índia) | USD    |     Não     | Nenhuma                 |
| **Cash App Pay** | Apenas EUA           | USD    |     Não     | Nenhuma                 |
| **RevolutPay**   | Global               | GBP    |     Não     | Nenhuma                 |

<Warning>
  **Suporte ao PayPal Pausado:** O PayPal está temporariamente indisponível para novas transações.
</Warning>

## Apple Pay

O Apple Pay permite que os clientes paguem usando cartões salvos na Apple Wallet, com autenticação Face ID ou Touch ID.

<Info>
  Apple Pay é oferecido para assinaturas mesmo quando a primeira cobrança é \*\*$0** (por exemplo, testes gratuitos) para que o mandato de pagamento possa ser configurado na inscrição. Para pagamentos únicos, o Apple Pay só é exibido quando o valor é maior que $0.
</Info>

### Requisitos

* **Dispositivos:** iOS 17+, iPadOS 17+, Safari 17+ no macOS
* **Protocolo:** HTTPS necessário
* **Domínio:** Deve ser verificado com a Apple

### Verificação do Domínio

<Info>
  A verificação de domínio é necessária apenas para o **checkout embutido (inline)**. Checkout em sobreposição, checkout hospedado e links de pagamento não precisam disso.
</Info>

<Steps>
  <Step title="Open Wallet domains">
    No seu painel, vá para **Configurações → Métodos de Pagamento** e, na linha do **Apple Pay**, clique em **Gerenciar domínios**.

    <Frame caption="Open Wallet domains from the Apple Pay row">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/manage-domains.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=a96c60ee0eef744336df955f5148c573" alt="Botão Gerenciar domínios na linha do Apple Pay nas configurações de Métodos de Pagamento" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1670" data-path="images/apple-pay-domains/manage-domains.png" />
    </Frame>
  </Step>

  <Step title="Download the domain association file">
    No painel de domínios da Wallet, baixe o arquivo de associação.

    <Frame caption="Download the Apple Pay domain association file">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/wallet-domains-panel.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=fb37db780807c0e92ffaa57d2140b91d" alt="Painel de domínios da Wallet com o botão Baixar arquivo" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1668" data-path="images/apple-pay-domains/wallet-domains-panel.png" />
    </Frame>
  </Step>

  <Step title="Register your domain">
    Clique em **Registrar domínio** e insira o domínio onde você embute o checkout (e.g., `shop.example.com`), então clique em **Continuar**.

    <Frame caption="Register the domain where you embed checkout">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/register-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=9c2bf22e51c8ff188a4e11b36b24c136" alt="Formulário de registro de domínio com um domínio inserido" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1672" data-path="images/apple-pay-domains/register-domain.png" />
    </Frame>
  </Step>

  <Step title="Host the file on your domain">
    Faça upload para o seu servidor em:

    ```
    https://shop.example.com/.well-known/apple-developer-merchantid-domain-association
    ```

    O arquivo deve ser servido via HTTPS, acessível sem redirecionamentos, e servido com `Content-Type: application/octet-stream` ou `text/plain`.
  </Step>

  <Step title="Verify the domain">
    Clique em **Verificar domínio**. O Dodo Payments verifica o arquivo hospedado e envia seu domínio para a Apple.

    <Frame caption="Verify the hosted association file">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/verify-domain.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=e9fcfe5b68320a0a22c644fb935c840b" alt="Tela Verificar seu domínio com o caminho do host do arquivo de associação e botão Verificar domínio" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1674" data-path="images/apple-pay-domains/verify-domain.png" />
    </Frame>
  </Step>

  <Step title="Confirm it's active">
    Quando o status mostrar **Ativo**, o Apple Pay estará ativo para esse domínio. Use o toggle **Ativado** para ligar ou desligar por domínio.

    <Frame caption="Verified domains show an Active status">
      <img src="https://mintcdn.com/dodopayments/TklciB6vqCMDIBgH/images/apple-pay-domains/domains-active.png?fit=max&auto=format&n=TklciB6vqCMDIBgH&q=85&s=51a2bf473b1faf3db5776bbfa7140854" alt="Lista de domínios da Wallet mostrando domínios com status do Apple Pay ativo e toggles ativados" style={{ maxHeight: '500px', width: 'auto' }} width="2940" height="1670" data-path="images/apple-pay-domains/domains-active.png" />
    </Frame>
  </Step>

  <Step title="Test the integration">
    1. Abra o checkout em um dispositivo Apple
    2. Verifique se o botão Apple Pay aparece
    3. Conclua uma transação de teste
  </Step>
</Steps>

### Configuração

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['apple_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Google Pay

O Google Pay permite que os clientes paguem usando cartões salvos em suas contas Google, com proteção contra fraudes embutida.

### Requisitos

* **Navegadores:** Chrome (desktop/mobile), Safari, Firefox
* **Dispositivos:** Dispositivos Android com aplicativo Google Pay
* **Configurações:** "Permitir que sites verifiquem se você tem métodos de pagamento" habilitado no Chrome

### Configuração

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['google_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

<Info>
  Nenhuma verificação de domínio é necessária para o Google Pay — ele funciona automaticamente assim que sua conta estiver ativa.
</Info>

## Amazon Pay

O Amazon Pay permite que os clientes usem suas credenciais da conta Amazon e métodos de pagamento salvos para uma experiência de checkout familiar.

### Limitações

* **Moeda:** Apenas USD
* **Assinaturas:** Não suportadas
* **Região:** Não disponível na Índia

### Configuração

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['amazon_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Cash App Pay

O Cash App Pay permite pagamentos via Cash App, popular entre os consumidores dos EUA para pagamentos de pessoa para pessoa.

### Limitações

* **Região:** Apenas EUA
* **Moeda:** Apenas USD
* **Assinaturas:** Não suportadas

### Configuração

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['cashapp', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## RevolutPay

O RevolutPay permite pagamentos rápidos e sem complicações para usuários do Revolut globalmente, aproveitando o saldo existente da conta Revolut ou cartões vinculados.

### Limitações

* **Moeda:** Apenas GBP
* **Assinaturas:** Não suportadas

### Configuração

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['revolut_pay', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

## Testes

### Testes do Apple Pay

<Steps>
  <Step title="Use test mode">
    Ative o modo de teste no seu painel do Dodo Payments.
  </Step>

  <Step title="Add a card to Apple Wallet">
    Adicione um cartão real à sua Apple Wallet. No modo de teste, o cartão não será cobrado.
  </Step>

  <Step title="Complete test purchase">
    Abra o checkout em um dispositivo Apple e conclua o fluxo do Apple Pay.
  </Step>
</Steps>

<Warning>
  O Apple Pay requer HTTPS. Não aparecerá em `localhost` sem a configuração adequada de SSL.
</Warning>

### Testes do Google Pay

<Steps>
  <Step title="Join the test card group">
    [Participe do grupo de cartões de teste do Google Pay](https://groups.google.com/g/googlepay-test-mode-stub-data) para obter cartões de teste adicionados automaticamente à sua wallet.
  </Step>

  <Step title="Enable test mode">
    Use suas chaves de API de teste do Dodo Payments.
  </Step>

  <Step title="Complete test purchase">
    Selecione um dos cartões de teste no Google Pay para completar a transação.
  </Step>
</Steps>

### Amazon Pay & Cash App Pay

Use suas chaves de API de teste e siga o fluxo padrão de checkout. Transações de teste serão simuladas sem cobranças reais.

## Suporte a SDK

### SDKs para Web

Todas as carteiras digitais são totalmente suportadas em:

* Checkout em Sobreposição
* Checkout Inline
* Integração direta via API

### SDKs Móveis

<Warning>
  **Limitação do React Native:** Apple Pay, Google Pay, Cash App Pay e UPI **não são atualmente suportados** no SDK do React Native. Use a sobreposição de checkout baseada na web para apps móveis que precisam desses métodos.
</Warning>

Para suporte móvel nativo, considere:

* Abrir o checkout em um WebView
* Usar o [Checkout em Sobreposição](/developer-resources/overlay-checkout) em um contexto web
* Implementar SDKs nativos para Apple Pay / Google Pay separadamente

## Melhores Práticas

<AccordionGroup>
  <Accordion title="Prioritize wallets on mobile">
    Usuários de dispositivos móveis esperam o Apple Pay e o Google Pay. Exiba essas opções de forma destacada no checkout móvel.
  </Accordion>

  <Accordion title="Complete domain verification early">
    Apple Pay requer verificação de domínio. Não espere até o dia do lançamento — inicie o processo durante o desenvolvimento.
  </Accordion>

  <Accordion title="Always include card fallbacks">
    Nem todos os clientes têm carteiras digitais. Sempre inclua `credit` e `debit` em seus métodos permitidos.
  </Accordion>

  <Accordion title="Test on real devices">
    Simuladores não replicam totalmente o comportamento de carteiras. Teste em dispositivos reais iOS e Android antes do lançamento.
  </Accordion>

  <Accordion title="Handle wallet unavailability gracefully">
    Se uma carteira não estiver disponível (dispositivo errado, nenhum cartão salvo), certifique-se de que outras opções de pagamento estejam visíveis.
  </Accordion>
</AccordionGroup>

## Solução de Problemas

<AccordionGroup>
  <Accordion title="Apple Pay button not appearing">
    **Verifique:**

    1. Domínio verificado com o Dodo Payments?
    2. Está usando HTTPS?
    3. O dispositivo é iOS 17+ / Safari 17+ / iPadOS 17+?
    4. O cliente tem cartões na Apple Wallet?
    5. `apple_pay` incluído em `allowed_payment_method_types`?

    **Solução:** Complete a verificação de domínio e garanta o HTTPS. Teste em um dispositivo Apple real.
  </Accordion>

  <Accordion title="Google Pay button not appearing">
    **Verifique:**

    1. Usando Chrome ou navegador compatível?
    2. O cliente tem cartões no Google Pay?
    3. Configuração do Chrome "Permitir que sites verifiquem métodos de pagamento" habilitada?
    4. `google_pay` incluído em `allowed_payment_method_types`?

    **Solução:** Verifique a compatibilidade do navegador e a configuração do Google Pay do cliente.
  </Accordion>

  <Accordion title="Wallet payment failed">
    **Causas comuns:**

    * Cartão na carteira expirado ou inválido
    * Banco recusou a transação
    * Problema de conectividade de rede

    **Solução:** O cliente deve verificar o cartão na carteira ou tentar outro método de pagamento.
  </Accordion>

  <Accordion title="Wrong device type">
    Carteiras digitais aparecem apenas em dispositivos compatíveis:

    * Apple Pay: Apenas dispositivos Apple
    * Google Pay: Navegador Chrome ou dispositivos Android

    **Solução:** Esse é o comportamento esperado. Garanta que opções de cartão alternativas estejam disponíveis.
  </Accordion>
</AccordionGroup>

## Páginas Relacionadas

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="credit-card" href="/features/payment-methods">
    Veja todos os métodos de pagamento suportados.
  </Card>

  <Card title="Overlay Checkout" icon="window-restore" href="/developer-resources/overlay-checkout">
    Implemente checkout com suporte a carteiras digitais.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Guia de testes completo para todos os métodos de pagamento.
  </Card>

  <Card title="React Native Integration" icon="mobile" href="/developer-resources/react-native-integration">
    Documentação e limitações do SDK móvel.
  </Card>
</CardGroup>
