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

# ACH Direct Debit

> Acepta ACH Direct Debit de clientes de EE. UU. que pagan en USD. Aprende cómo funcionan los débitos bancarios en el checkout, cuánto tardan en liquidarse y cómo probarlos.

ACH Direct Debit permite que los clientes de Estados Unidos paguen desde su cuenta bancaria en lugar de usar una tarjeta. Funciona en la red Automated Clearing House y está disponible en checkouts en USD para pagos únicos.

## ¿Por qué ofrecer ACH Direct Debit?

<CardGroup cols={3}>
  <Card title="Lower Processing Cost" icon="piggy-bank">
    ACH tiene un costo fijo del 1,5 % por pago, con un límite de \$15, en lugar de la comisión de la tarjeta. Consulta los [precios](https://dodopayments.com/pricing).
  </Card>

  <Card title="No Card Required" icon="building-columns">
    Llega a clientes de EE. UU. que prefieren pagar desde una cuenta bancaria o que no quieren usar una tarjeta para una compra grande.
  </Card>

  <Card title="Higher Value Orders" icon="chart-line">
    Como la comisión tiene un límite de \$15, el ahorro frente a la comisión de una tarjeta aumenta con el valor del pedido. ACH es adecuado para compras únicas de gran importe.
  </Card>
</CardGroup>

## Descripción general

| Detalle | Valor |
| :- | :- |
| **Moneda de facturación** | USD |
| **Países compatibles** | Estados Unidos |
| **Suscripciones** | No |
| **Importe mínimo** | \$0.50 |
| **Liquidación** | Hasta 4 días hábiles |

<Warning>
  ACH Direct Debit no es instantáneo. Un pago puede tardar **hasta 4 días hábiles** en completarse o fallar. Un débito autorizado no es un pago liquidado: completa el pedido únicamente después de que el pago alcance el estado succeeded.
</Warning>

## Cómo funciona

```mermaid theme={null}
sequenceDiagram
    participant Customer
    participant Checkout
    participant Dodo
    participant ACH as ACH Network
    participant Bank

    Customer->>Checkout: Select ACH Direct Debit
    Checkout->>Customer: Ask for bank account details
    Customer->>Checkout: Enter details and authorize the debit
    Checkout->>Dodo: Create payment
    Dodo->>ACH: Submit debit request
    Note over ACH,Bank: Clearing takes up to 4 business days
    ACH->>Bank: Debit customer account
    Bank->>ACH: Confirm or return
    ACH->>Dodo: Final status
    Dodo->>Checkout: Payment succeeded or failed
```

## Experiencia del cliente

1. El cliente selecciona **ACH Direct Debit** en el checkout.
2. El cliente introduce el nombre del titular de la cuenta, el routing number, el account number, el tipo de cuenta (checking o savings) y la dirección de correo electrónico. El checkout comprueba que el routing number sea válido.
3. El cliente envía el formulario, lo que autoriza el débito desde su cuenta bancaria de EE. UU. mediante un mandato.
4. El pago se envía a la red ACH y pasa al estado processing. El checkout se completa sin esperar a la liquidación.
5. La liquidación se completa durante los días hábiles siguientes.
6. El pago pasa al estado succeeded o falla si el banco lo devuelve.

<Info>
  Como la liquidación es asíncrona, usa [webhooks](/developer-resources/webhooks) para conocer el resultado final en lugar de la redirección del checkout. Una redirección después del checkout solo significa que el cliente autorizó el débito.

  El pago emite `payment.processing` una vez enviado el débito y, cuando se completa la liquidación, emite `payment.succeeded` o `payment.failed`. Completa el pedido únicamente con `payment.succeeded`.
</Info>

## Disponibilidad

ACH Direct Debit aparece en el checkout cuando se cumplen todas las condiciones siguientes:

* La **moneda de facturación** es `USD`.
* El **país de facturación** es `US`.
* La transacción es un **pago único**.

<Note>
  ACH Direct Debit no está disponible para suscripciones. Para pagos recurrentes, usa tarjetas u otro método compatible con suscripciones. Consulta la [descripción general de métodos de pago](/features/payment-methods).
</Note>

## Configuración

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_123', quantity: 1 }],
  allowed_payment_method_types: ['ach', 'credit', 'debit'],
  billing_currency: 'USD',
  billing_address: {
    country: 'US',
    zipcode: '94102'
  },
  return_url: 'https://example.com/success'
});
```

<Note>
  ACH Direct Debit requiere USD como **moneda de facturación** y una dirección de facturación de **EE. UU.** Si estableces los precios en otra moneda, habilita [Adaptive Currency](/features/adaptive-currency) para facturar a los clientes de EE. UU. en USD y habilitar ACH.
</Note>

## Tipo de método de API

| Tipo | Método | País |
| :- | :- | :- |
| `ach` | ACH Direct Debit | Estados Unidos |

## Reembolsos y disputas

Los reembolsos y las disputas de pagos ACH utilizan las mismas APIs y los mismos flujos del dashboard que cualquier otro método de pago. No necesitas un tratamiento específico para ACH.

<Warning>
  El banco de un cliente puede devolver un débito ACH después de que parezca haberse completado y, según las reglas de Nacha, un cliente puede devolver un débito no autorizado de una cuenta personal hasta 60 días naturales después de la liquidación. No emitas un reembolso hasta que el pago original haya alcanzado el estado succeeded.
</Warning>

## Pruebas

<Steps>
  <Step title="Enable test mode">
    Desactiva el interruptor de **Live Mode** en la barra lateral del dashboard y usa las API keys creadas en test mode.
  </Step>

  <Step title="Set currency and billing address">
    Establece la moneda de facturación en `USD` y el país de la dirección de facturación en `US`.
  </Step>

  <Step title="Include `ach` in allowed methods">
    Pasa `ach` en `allowed_payment_method_types` u omite el campo para mostrar todos los métodos aptos.
  </Step>

  <Step title="Enter the test bank details">
    Introduce uno de los pares de routing number y account number de prueba que aparecen a continuación. Después, confirma que tu webhook handler recibe el estado final del pago.
  </Step>
</Steps>

### Cuentas bancarias de prueba

El cliente introduce los números de cuenta y de routing en el formulario del checkout. En test mode, usa el routing number `110000000` con uno de estos account numbers para forzar un resultado:

| Account Number | Routing Number | Comportamiento |
| :- | :- | :- |
| `000123456789` | `110000000` | El pago se completa correctamente. |
| `000222222227` | `110000000` | El pago falla por fondos insuficientes. |
| `000111111113` | `110000000` | El pago falla porque la cuenta está cerrada. |
| `000111111116` | `110000000` | El pago falla porque no se encuentra la cuenta. |
| `000333333335` | `110000000` | El pago falla porque los débitos no están autorizados en la cuenta. |
| `000444444440` | `110000000` | El pago falla debido a una moneda no válida. |
| `000555555559` | `110000000` | El pago se completa correctamente y luego genera una disputa. |
| `000000000009` | `110000000` | El pago permanece en processing indefinidamente. Úsalo para probar una interfaz de usuario de estado pendiente. |

<Note>
  Los pagos de prueba alcanzan un estado final mucho más rápido que los pagos reales, por lo que no necesitas esperar días para verificar tu integración. La excepción es `000000000009`, que permanece en processing.
</Note>

## Prácticas recomendadas

<AccordionGroup>
  <Accordion title="Don't fulfill on authorization">
    Una autorización ACH no es un pago. Espera a que el pago alcance el estado succeeded antes de conceder acceso o enviar el pedido. El banco del cliente aún puede devolver el débito.
  </Accordion>

  <Accordion title="Set customer expectations at checkout">
    Informa a los clientes de que los pagos bancarios no se liquidan de inmediato. Esto reduce las solicitudes a soporte que preguntan por qué un pedido sigue pendiente.
  </Accordion>

  <Accordion title="Provide card fallbacks">
    Incluye `credit` y `debit` junto con `ach`, para que los clientes que necesiten acceso inmediato a tu producto puedan elegir un método más rápido.
  </Accordion>

  <Accordion title="Use ACH for high-value one-time purchases">
    La comisión ACH tiene un límite de \$15, por lo que el ahorro es mayor en compras únicas de gran importe.
  </Accordion>
</AccordionGroup>

## Solución de problemas

<AccordionGroup>
  <Accordion title="ACH not appearing at checkout">
    **Comprobación:**

    1. ¿La moneda de facturación es `USD`?
    2. ¿El país de facturación del cliente es `US`?
    3. ¿`ach` está incluido en `allowed_payment_method_types`?
    4. ¿Es un pago único? ACH no se ofrece para suscripciones.
    5. ¿El importe es de al menos \$0.50?

    **Solución:** Elimina temporalmente `allowed_payment_method_types` para ver todos los métodos aptos y, después, comprueba la moneda de facturación y el país de la dirección en tu solicitud de API.
  </Accordion>

  <Accordion title="ACH not appearing on a subscription checkout">
    **Causa:** ACH Direct Debit solo está disponible para pagos únicos.

    **Solución:** Usa tarjetas u otro método compatible con suscripciones para la facturación recurrente.
  </Accordion>

  <Accordion title="Payment stuck in processing">
    **Causa:** Esto es lo esperado. Un pago ACH permanece en el estado processing durante todo el periodo de liquidación, que es mucho más largo que el de un pago con tarjeta.

    **Solución:** Espera al webhook final. No vuelvas a intentar el pago, ya que un reintento podría cobrar al cliente dos veces.
  </Accordion>

  <Accordion title="Payment failed after initially succeeding at checkout">
    **Causa:** El checkout se completó, pero el banco del cliente devolvió el débito durante la liquidación, normalmente por fondos insuficientes o porque la cuenta estaba cerrada. El pago emite `payment.failed`.

    **Solución:** Trata el pago como fallido y pide al cliente que pague con otro método. Para evitar esta situación, completa el pedido únicamente cuando alcance el estado succeeded.
  </Accordion>
</AccordionGroup>

## Páginas relacionadas

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

  <Card title="Adaptive Currency" icon="globe" href="/features/adaptive-currency">
    Compatibilidad con monedas y conversión automática.
  </Card>

  <Card title="Checkout Guide" icon="book" href="/developer-resources/checkout-session">
    Guía completa de implementación del checkout.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/developer-resources/webhooks">
    Gestiona las confirmaciones de pago demoradas de forma asíncrona.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.