CardPointe
Connect your CardPointe merchant account to process credit card, ACH, and digital wallet transactions through Preczn.
CardPointe is a direct merchant payment processor powered by CardConnect that enables standalone merchants to accept credit card, ACH (bank account), and digital wallet payments.
Supported Capabilities
| Capability | Status | Notes |
|---|---|---|
| Credit Card Transactions | Supported | Full transaction lifecycle including auth, capture, sale, refund, and void |
| ACH (Bank Account) Transactions | Supported | Process eCheck payments using bank routing and account numbers |
| Digital Wallets | Supported | Apple Pay and Google Pay (see Digital Wallets below) |
| Level II Data | Supported | Includes tax-exempt transactions (see Level II Data below) |
Supported Transaction Types
| Type | Card | ACH | Description |
|---|---|---|---|
| Sale | ✅ | ✅ | Authorize and capture in a single request |
| Auth | ✅ | — | Authorize only (hold funds without capturing) |
| Capture | ✅ | — | Capture a previous authorization |
| Refund | ✅ | ✅ | Return funds from a captured transaction |
| Void | ✅ | — | Cancel an uncaptured authorization |
| Verify | ✅ | ✅ | Zero-dollar auth to validate a card or bank account |
ACH transactions support Sale, Refund, and Verify only. Auth, Capture, and Void requests with a bank account are rejected — use Sale instead of Auth + Capture, and refund an ACH transaction after settlement rather than voiding it.
Adding Merchant Credentials
To connect CardPointe, you'll need the following credentials from your CardPointe account:
| Credential | API Field | Required | Description |
|---|---|---|---|
| API Username | key | Yes | Your CardPointe API username for authentication |
| API Password | secret | Yes | Your CardPointe API password for authentication |
| Merchant ID | mid | Yes | Your CardPointe merchant identifier |
| Site URL Prefix | urlPrefix | No | Your CardPointe site name, if Fiserv gave you one other than the default (see Site URL Prefix below) |
Credential VerificationPreczn automatically verifies your CardPointe credentials when you save them. If verification fails, you'll receive an "Invalid connection credentials" error. Double-check that your API username, password, and merchant ID are correct and that your account is active.
Configuration Methods
CardPointe credentials can be configured through three methods:
Dashboard Upload
Upload credentials directly through the merchant connection settings in the Preczn Dashboard.
- Navigate to Merchants > select merchant > Connections
- Click Add Connection and select CardPointe
- Enter your API Username, API Password, and Merchant ID
- Optionally enter your Site URL Prefix
- Save the connection
Merchant Import
Include CardPointe credentials when importing merchants via CSV. Use the following column headers:
| Column | Description |
|---|---|
cardpointe_api_username | API Username |
cardpointe_api_password | API Password |
cardpointe_merchant_id | Merchant ID |
API Integration
Configure credentials programmatically using the merchant connections endpoint:
curl --request PATCH \
--url https://api.preczn.com/v1/merchants/{merchantId}/connections/CardPointe \
--header 'Authorization: Bearer {api_key}' \
--header 'Content-Type: application/json' \
--data '{
"key": "{API Username}",
"secret": "{API Password}",
"mid": "{Merchant ID}",
"urlPrefix": "{Site URL Prefix}"
}'Request Fields
| Field | Type | Required | Description |
|---|---|---|---|
key | string | Yes | Your CardPointe API username |
secret | string | Yes | Your CardPointe API password |
mid | string | Yes | Your CardPointe merchant ID |
urlPrefix | string | No | CardPointe site name (e.g., fts-uat). A full URL is also accepted and normalized. See Site URL Prefix. |
No Spaces AllowedThe
key,secret,mid, andurlPrefixfields cannot contain spaces. Requests with spaces in these fields will be rejected.
Site URL Prefix
CardPointe routes every API request through a site-specific host:
https://<site>.cardconnect.com/cardconnect/rest/<endpoint>
The <site> value is the site name that Fiserv assigns when it boards your merchants. Fiserv defines a site as a partner-level grouping of merchants that share processing settings. Most merchants are boarded to CardPointe's default site, and Fiserv provides the exact name in your welcome kit. For Fiserv's own description, see the CardPointe Gateway Developer Guide and the Sites section of the API Connectivity Guide.
The urlPrefix field on a Preczn connection holds that site name. Preczn uses it only to build the request host. It is not a CardPointe account setting, and it does not appear in CardPointe reporting.
How Preczn resolves the host
For every CardPointe request, Preczn checks three sources in order and uses the first value it finds:
| Priority | Source | Host used |
|---|---|---|
| 1 | urlPrefix on the merchant's CardPointe connection | https://{merchant urlPrefix}.cardconnect.com |
| 2 | urlPrefix on the platform's CardPointe connection | https://{platform urlPrefix}.cardconnect.com |
| 3 | No urlPrefix at either level | Preczn default: https://fts-uat.cardconnect.com in test mode, https://fts.cardconnect.com in live mode |
The defaults are CardPointe's standard fts site. If Fiserv boarded your merchants to that site, leave urlPrefix empty at both levels. Each connection then resolves to the correct host for its mode with no configuration.
A Prefix Overrides the ModeWhen a
urlPrefixis set, Preczn uses it for test and live connections alike. If you set a production prefix on a test connection, Preczn sends test transactions to CardPointe's production host.Unless Fiserv tells you otherwise, leave
urlPrefixempty on test-mode connections. Preczn already routes them to CardPointe's UAT host. If Fiserv did give you a dedicated site, use its UAT name (for example,fts-uat) on test connections and its production name (for example,fts) on live connections.
When to set a prefix
- Leave it empty if Fiserv boarded your merchants to the default
ftssite. - Set it on the platform connection if Fiserv granted your platform its own site. Every merchant connection inherits it.
- Set it on a merchant connection only if that merchant is boarded to a different site than the rest of your portfolio.
The prefix is a host label, not an identifier. Every merchant on the same site shares the same value, and CardPointe reporting does not show it. To tag transactions for a group of merchants in CardPointe reporting, send an identifying value in metadata (see Transaction Metadata below).
Digital Wallets
CardPointe supports Apple Pay and Google Pay. Wallet payments are card transactions, so they follow the same flow as any other card payment on this connection — you send the wallet payload to Preczn exactly as you would for any other connection, and Preczn maps it to CardPointe's format.
| Transaction Type | Accepts Wallet Payment Data |
|---|---|
| Sale | Yes |
| Auth | Yes |
| Verify | Yes |
| Capture | No |
| Refund | No |
| Void | No |
Capture, Refund, and Void act on an existing transaction rather than on payment data, so they work normally against a wallet-funded sale or authorization — there is simply no wallet payload to send.
Google Pay works with both of its token formats. A device token (CRYPTOGRAM_3DS) is sent with its cryptogram, and a card-on-file token (PAN_ONLY) is sent as ordinary card data.
Wallet Transactions Are Not Labelled in CardPointeCardPointe's API has no wallet indicator field, so an Apple Pay or Google Pay transaction appears alongside ordinary card transactions in CardPointe's reporting with nothing marking it as a wallet payment.
If you need to tell them apart on the CardPointe side, send an identifying value in
metadata— it is forwarded as a userfield. See Transaction Metadata below.
Level II Data
CardPointe supports Level II data, including tax-exempt transactions. For the requirements and the taxExempt rules, see Level II Data. For CardPointe's own field rules, see Processing Level 2 and Level 3 Transactions in the CardPointe Gateway Developer Guide.
Preczn sends Level II fields on Sale, Auth, and Verify requests. It doesn't send them on Capture, Refund, or Void.
| Preczn field | Sent to CardPointe as | Notes |
|---|---|---|
tax | Tax amount | Sent when greater than 0 |
taxExempt | Tax-exempt flag | When true, Preczn also sends a tax amount of zero |
invoice | Purchase order number | First 36 characters |
Preczn sends order as the CardPointe order ID, not as the purchase order number.
Transaction Metadata
Preczn forwards the metadata object on a transaction to CardPointe as userfields, making your custom transaction data available in CardPointe's reporting. See Metadata for the platform-wide rules that apply to the metadata object.
| Transaction Type | Metadata Forwarded |
|---|---|
| Sale | Yes |
| Auth | Yes |
| Verify | Yes |
| Capture | No |
| Refund | No |
| Void | No |
Sale, Auth, and Verify all reach CardPointe as authorization requests, so each one carries userfields — for both card and ACH transactions. Preczn does not send userfields on Capture, Refund, or Void requests; metadata sent at authorization stays attached to the transaction in CardPointe.
How Metadata Maps to Userfields
Each key/value pair in metadata becomes a single-key object in the userfields array, in the order the keys appear in your request.
Your Preczn request:
{
"type": "sale",
"amount": 1000,
"currency": "USD",
"metadata": {
"orderRef": "ord-58213",
"campaign": "spring-promo",
"channel": "mobile-app"
}
}What Preczn sends to CardPointe:
{
"userfields": [
{ "orderRef": "ord-58213" },
{ "campaign": "spring-promo" },
{ "channel": "mobile-app" }
]
}When a transaction has no metadata, or metadata is empty, userfields is omitted from the CardPointe request entirely.
Size Limit
CardPointe limits userfields to 4,000 bytes once JSON-encoded (1 character = 1 byte). Preczn sends your metadata exactly as you supplied it and never shortens values to fit.
CardPointe Discards Oversized UserfieldsIf the encoded
userfieldspayload exceeds 4,000 bytes, CardPointe still accepts and approves the transaction — but silently discards every userfield. None of your metadata reaches CardPointe reporting, and no error is returned.Your metadata is always stored on the Preczn transaction either way, and stays available through the Get Transaction endpoint.
Reaching the limit takes deliberately large metadata. Preczn accepts up to 20 keys, each key up to 20 characters and each value up to 255 characters. At those maximum lengths, 15 entries encode to 4,246 bytes and cross the limit, and a full 20 entries encode to 5,661 bytes. Typical metadata stays well under it.
Custom Field Reporting OrderThe CardPointe web application's custom-field transaction reporting expects
userfieldsin the order configured for your merchant account. Preczn sends them in the order the keys appear in yourmetadataobject and has no visibility into your CardPointe column configuration.If you use that reporting feature, send your metadata keys in the same order as your configured columns.
Updated 1 day ago
