> ## 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.

# Billeteras Digitales

> Acepta Apple Pay, Google Pay, Amazon Pay, Cash App Pay y RevolutPay para un pago rápido y seguro con un solo toque. Aprende sobre la configuración, verificación de dominio y pruebas.

Las billeteras digitales permiten a los clientes pagar con un solo toque utilizando métodos de pago guardados en sus dispositivos. Ofrecen tasas de conversión más altas, mayor seguridad a través de la tokenización y una experiencia de pago simplificada.

## Billeteras Soportadas

| Billetera        | Disponibilidad       | Monedas | Suscripciones | Configuración Requerida |
| :--------------- | :------------------- | :------ | :-----------: | :---------------------- |
| **Apple Pay**    | Global (excl. India) | Todas   |       Sí      | Verificación de dominio |
| **Google Pay**   | Global (excl. India) | Todas   |       Sí      | Ninguna                 |
| **Amazon Pay**   | Global (excl. India) | USD     |       No      | Ninguna                 |
| **Cash App Pay** | Solo EE. UU.         | USD     |       No      | Ninguna                 |
| **RevolutPay**   | Global               | GBP     |       No      | Ninguna                 |

<Warning>
  **Soporte de PayPal en pausa:** PayPal no está disponible temporalmente para nuevas transacciones.
</Warning>

## Apple Pay

Apple Pay permite a los clientes pagar utilizando tarjetas guardadas en su Apple Wallet, con autenticación mediante Face ID o Touch ID.

<Info>
  Apple Pay se ofrece para suscripciones incluso cuando el primer cargo es \*\*$0** (por ejemplo, pruebas gratuitas) para que el mandato de pago pueda configurarse al registrarse. Para pagos únicos, Apple Pay solo se muestra cuando el monto es mayor a $0.
</Info>

### Requisitos

* **Dispositivos:** iOS 17+, iPadOS 17+, Safari 17+ en macOS
* **Protocolo:** Se requiere HTTPS
* **Dominio:** Debe ser verificado con Apple

### Verificación de Dominio

<Info>
  La verificación de dominio solo es necesaria para el **checkout integrado**. El checkout overlay, checkout alojado y los enlaces de pago no la necesitan.
</Info>

<Steps>
  <Step title="Open Wallet domains">
    En tu panel de control, ve a **Configuración → Métodos de Pago** y, en la fila de **Apple Pay**, haz clic en **Gestionar dominios**.

    <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ón de gestionar dominios en la fila de Apple Pay en la configuración de métodos de pago" 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">
    Desde el panel de dominios de Wallet, descarga el archivo de asociación.

    <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="Panel de dominios de Wallet con el botón de descargar archivo" 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">
    Haz clic en **Registrar dominio** e ingresa el dominio donde integras el checkout (e.g., `shop.example.com`), luego **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="Formulario de registrar un dominio con un dominio ingresado" 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">
    Sube a tu servidor en:

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

    El archivo debe ser servido sobre HTTPS, accesible sin redirecciones y servido con `Content-Type: application/octet-stream` o `text/plain`.
  </Step>

  <Step title="Verify the domain">
    Haz clic en **Verificar dominio**. Dodo Payments verifica el archivo alojado y envía tu dominio 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="Pantalla de verificar tu dominio con la ruta de host del archivo de asociación y el botón de verificar dominio" 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">
    Cuando el estado muestre **Activo**, Apple Pay está disponible para ese dominio. Usa el interruptor de **Activado** para encenderlo o apagarlo por dominio.

    <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 dominios de Wallet mostrando dominios con un estado de Apple Pay Activo y conmutadores de Activado" 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. Abre el checkout en un dispositivo Apple
    2. Verifica que el botón de Apple Pay aparezca
    3. Completa una transacción de prueba
  </Step>
</Steps>

### Configuración

```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

Google Pay permite a los clientes pagar usando tarjetas guardadas en su cuenta de Google, con protección contra fraudes incorporada.

### Requisitos

* **Navegadores:** Chrome (escritorio/móvil), Safari, Firefox
* **Dispositivos:** Dispositivos Android con la aplicación Google Pay
* **Configuraciones:** "Permitir que los sitios verifiquen si tienes métodos de pago" habilitado en Chrome

### Configuración

```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>
  No se necesita verificación de dominio para Google Pay: funciona automáticamente una vez que tu cuenta está activa.
</Info>

## Amazon Pay

Amazon Pay permite a los clientes usar las credenciales de su cuenta de Amazon y los métodos de pago guardados para una experiencia de checkout familiar.

### Limitaciones

* **Moneda:** Solo USD
* **Suscripciones:** No soportado
* **Región:** No disponible en India

### Configuración

```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

Cash App Pay permite pagos desde Cash App, popular entre los consumidores de EE. UU. para pagos entre personas.

### Limitaciones

* **Región:** Solo EE. UU.
* **Moneda:** Solo USD
* **Suscripciones:** No soportado

### Configuración

```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

RevolutPay permite pagos rápidos y fluidos para usuarios de Revolut a nivel global, aprovechando su saldo de cuenta de Revolut existente o tarjetas vinculadas.

### Limitaciones

* **Moneda:** Solo GBP
* **Suscripciones:** No soportado

### Configuración

```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'
});
```

## Pruebas

### Pruebas de Apple Pay

<Steps>
  <Step title="Use test mode">
    Habilita el modo de prueba en tu panel de Dodo Payments.
  </Step>

  <Step title="Add a card to Apple Wallet">
    Agrega una tarjeta real a tu Apple Wallet. En modo prueba, la tarjeta no será cobrada.
  </Step>

  <Step title="Complete test purchase">
    Abre el checkout en un dispositivo Apple y completa el flujo de Apple Pay.
  </Step>
</Steps>

<Warning>
  Apple Pay requiere HTTPS. No aparecerá en `localhost` sin una configuración SSL adecuada.
</Warning>

### Pruebas de Google Pay

<Steps>
  <Step title="Join the test card group">
    [Únete al grupo de tarjetas de prueba de Google Pay](https://groups.google.com/g/googlepay-test-mode-stub-data) para agregar tarjetas de prueba automáticamente a tu wallet.
  </Step>

  <Step title="Enable test mode">
    Usa tus claves API de prueba de Dodo Payments.
  </Step>

  <Step title="Complete test purchase">
    Selecciona una de las tarjetas de prueba en Google Pay para completar la transacción.
  </Step>
</Steps>

### Amazon Pay & Cash App Pay

Usa tus claves API de prueba y sigue el flujo de checkout estándar. Las transacciones de prueba se simularán sin cargos reales.

## Soporte para SDK

### SDKs Web

Todas las billeteras digitales son completamente compatibles con:

* Checkout Overlay
* Checkout Integrado
* Integración Directa de API

### SDKs Móviles

<Warning>
  **Limitación de React Native:** Apple Pay, Google Pay, Cash App Pay y UPI **no son compatibles actualmente** en el SDK de React Native. Usa el overlay de checkout basado en web para aplicaciones móviles que necesiten estos métodos.
</Warning>

Para soporte móvil nativo, considera:

* Abrir el checkout en un WebView
* Usar el [Overlay Checkout](/developer-resources/overlay-checkout) en un contexto web
* Implementar los SDKs nativos de Apple Pay / Google Pay por separado

## Mejores Prácticas

<AccordionGroup>
  <Accordion title="Prioritize wallets on mobile">
    Los usuarios de móviles esperan Apple Pay y Google Pay. Muestra estas opciones de manera destacada en los checkouts móviles.
  </Accordion>

  <Accordion title="Complete domain verification early">
    Apple Pay requiere verificación de dominio. No esperes hasta el día del lanzamiento: comienza el proceso durante el desarrollo.
  </Accordion>

  <Accordion title="Always include card fallbacks">
    No todos los clientes tienen billeteras digitales. Siempre incluye `credit` e `debit` en tus métodos permitidos.
  </Accordion>

  <Accordion title="Test on real devices">
    Los simuladores no replican completamente el comportamiento de las billeteras. Prueba en dispositivos iOS y Android reales antes del lanzamiento.
  </Accordion>

  <Accordion title="Handle wallet unavailability gracefully">
    Si una billetera no está disponible (dispositivo incorrecto, sin tarjetas guardadas), garantiza que otras opciones de pago sean visibles.
  </Accordion>
</AccordionGroup>

## Solución de Problemas

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

    1. ¿Dominio verificado con Dodo Payments?
    2. ¿Usando HTTPS?
    3. ¿El dispositivo es iOS 17+ / Safari 17+ / iPadOS 17+?
    4. ¿El cliente tiene tarjetas en Apple Wallet?
    5. ¿`apple_pay` incluido en `allowed_payment_method_types`?

    **Solución:** Completa la verificación de dominio y garantiza HTTPS. Prueba en un dispositivo Apple real.
  </Accordion>

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

    1. ¿Usando Chrome o un navegador compatible?
    2. ¿El cliente tiene tarjetas en Google Pay?
    3. ¿Configuración de Chrome "Permitir que los sitios verifiquen métodos de pago" habilitada?
    4. ¿`google_pay` incluido en `allowed_payment_method_types`?

    **Solución:** Verifica la compatibilidad del navegador y la configuración de Google Pay del cliente.
  </Accordion>

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

    * Tarjeta en la billetera expirada o inválida
    * El banco rechazó la transacción
    * Problema de conectividad de red

    **Solución:** El cliente debe verificar la tarjeta en su billetera o intentar con otro método de pago.
  </Accordion>

  <Accordion title="Wrong device type">
    Las billeteras digitales solo aparecen en dispositivos compatibles:

    * Apple Pay: Solo dispositivos Apple
    * Google Pay: Navegador Chrome o dispositivos Android

    **Solución:** Este es el comportamiento esperado. Asegúrate de que haya métodos de pago alternativos disponibles.
  </Accordion>
</AccordionGroup>

## Páginas Relacionadas

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="credit-card" href="/features/payment-methods">
    Ver todos los métodos de pago compatibles.
  </Card>

  <Card title="Overlay Checkout" icon="window-restore" href="/developer-resources/overlay-checkout">
    Implementa el checkout con soporte para billeteras digitales.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Guía completa de pruebas para todos los métodos de pago.
  </Card>

  <Card title="React Native Integration" icon="mobile" href="/developer-resources/react-native-integration">
    Documentación y limitaciones del SDK móvil.
  </Card>
</CardGroup>
