> For the complete documentation index, see [llms.txt](https://docs.zumrails.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zumrails.com/payments/card-payments/debit-card.md).

# Debit Card

Available only to US customers.

## Introduction

As a US customer, you can add a debit card as a payment instrument for a user to pull or push funds instantly.&#x20;

## How it works?

You can add a new debit card as a payment instrument for a user using the portal. The following information is required when adding a debit card.

* First Name (Mandatory)&#x20;
* Last Name (Mandatory)&#x20;
* Email (Mandatory)&#x20;
* Debit Card Number (Mandatory)&#x20;
* Expiry Month (Mandatory)&#x20;
* Expiry Year (Mandatory)&#x20;
* Address Line 1 (Mandatory)&#x20;
* Address Line 2 (Optional)&#x20;
* City (Mandatory)&#x20;
* State (Mandatory)&#x20;
* Zip Code (Mandatory)&#x20;
* Country (Mandatory)&#x20;

## **Transaction Types**

Debit card supports both pushing funds to a card and pulling funds from one:

* `FundZumWallet` — pull funds from the card into the wallet
* `WithdrawZumWallet` — push funds from the wallet to the card
* `AccountsPayable` — push funds from the wallet or a funding source to the card
* `AccountsReceivable` — pull funds from the card to the wallet or a funding source

{% hint style="info" %}
Each transaction type is subject to its own set of limits, as outlined in the [**Transaction Limits**](/payments/introduction.md#transaction-limits) section.
{% endhint %}

## Processing Schedule

* Debit card transaction are instantaneous.

## **Transaction Events**

| Event                                   | Description                                        |
| --------------------------------------- | -------------------------------------------------- |
| DebitCardFailedGeneralError             | When transaction has failed due to general error   |
| DebitCardFailedPaymentDeclined          | When transaction is rejected by issuing bank       |
| DebitCardFailedTransactionExpired       | When transaction has failed due to timeout expire  |
| DebitCardFailedHighRiskOrPotentialFraud | When transaction has failed due to potential fraud |

## Testing

To simulate an Debit card failure, include an event name from the list above in the COMMENT field when creating a transaction. If you don't mention an event in the COMMENT, the transaction will change its status to "Completed" in the sandbox environment.

{% tabs %}
{% tab title="Simulating Success" %}

```json
{
  "ZumRailsType": "AccountPayable",
  "TransactionMethod": "DebitCard",
  "Amount": 123.45,
  "Memo": "This transaction will succeed",
  "Comment": "This transaction will succeed because there's no keyword",
  "UserId": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
```

{% endtab %}

{% tab title="Simulating Failure" %}

```json
{
  "ZumRailsType": "AccountPayable",
  "TransactionMethod": "DebitCard",
  "Amount": 123.45,
  "Memo": "This transaction will fail with event DebitCardFailedPaymentDeclined",
  "Comment": "DebitCardFailedPaymentDeclined",
  "UserId": "1d431e8b-...85452adb4eee",
  "WalletId": "8ebd932b-...b92633e14297"
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zumrails.com/payments/card-payments/debit-card.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
