# 

## Credit and debit cards

Reefpay processes credit and debit card transactions through the TSYS processor. Provide card details in the `payment_method` object when calling `POST /v1/transactions`, or use a stored payment token.

### Supported card brands

| Brand | Card number prefix | Supported |
|  --- | --- | --- |
| Visa | 4xxx | Yes |
| Mastercard | 5xxx, 2xxx | Yes |
| American Express | 34xx, 37xx | Yes |
| Discover | 6011, 65xx | Yes |


### Required card fields

| Field | Description | Example |
|  --- | --- | --- |
| `pan` | Primary account number (card number) | `4111111111111234` |
| `expiry.month` | Two-digit expiration month | `03` |
| `expiry.year` | Four-digit expiration year | `2028` |
| `cardholder_name` | Name as printed on the card | `John Doe` |
| `cvv` | Card verification value (3 or 4 digits) | `456` |
| `address_line1` | Billing street address (for Address Verification Service) | `123 Main St` |
| `zip` | Billing postal code (for Address Verification Service) | `10001` |


### Card transaction types

| Type value | Description |
|  --- | --- |
| `sale` | Authorize and capture in one step |
| `auth` | Authorize only; capture separately |
| `update` | Update a previously created transaction |
| `capture` | Capture (complete) a prior authorization |
| `cancel` | Cancel before settlement |
| `refund` | Return funds for a settled transaction |


## ACH / bank accounts

Reefpay processes Automated Clearing House (ACH) transactions through the Vericheck processor. Provide bank account details in the `payment_method` object when calling `POST /v1/transactions`, or use a stored payment token.

### Required bank account fields

| Field | Description | Example |
|  --- | --- | --- |
| `routing_number` | Nine-digit American Bankers Association (ABA) routing number | `021000021` |
| `account_number` | Bank account number | `1234567890` |
| `account_type` | `checking` or `savings` | `checking` |
| `account_holder_name` | Name on the bank account | `John Doe` |


### ACH transaction types

| Type value | Description | Fund flow |
|  --- | --- | --- |
| `payment` | Debit (pull funds from account) | Person → Merchant |
| `payout` | Credit (push funds to account) | Merchant → Person |
| `cancel` | Cancel before settlement |  |


### ACH entry class codes

ACH transactions use Standard Entry Class (SEC) codes to identify the type of transaction. Common codes include:

| SEC code | Description | Use case |
|  --- | --- | --- |
| WEB | Internet-initiated entry | Online payments |
| PPD | Prearranged payment and deposit | Recurring debits with prior authorization |
| CCD | Corporate credit or debit | Business-to-business payments |


## Tokenized payment methods

Both card and bank account credentials can be tokenized and stored for future use. A stored payment token replaces raw credentials in subsequent transactions.

| Field | Description | Example |
|  --- | --- | --- |
| `payment_token` | Token referencing a stored payment method | `PAYMENT_TOKEN-01JMRSPCK8WLXDPRMW3SNPVQEA` |


For more information on creating and managing tokens, see [Storing a card for future use](/docs/how-tos/tokenization-vaulting/store-card).

## Regional availability

Reefpay currently supports transactions in the United States. All monetary amounts are expressed as integers in the smallest currency unit (cents for US dollars). For example, `1999` represents 19.99 US dollars (USD).

## Further reading

* [Supported processors](/docs/get-started/supported-processors)
* [About tokenization](/docs/concepts/tokenization/what-is-tokenization)
* [About features overview](/docs/get-started/features-overview)