Payments
Tool types that drive the QuickBooks Payments API: tokenizing cards and bank accounts, charging and refunding them, storing payment methods on customers, and composites that collapse tokenize-store-charge sequences into one call.
Every type on this page requires a QuickBooks connector whose Intuit company has a QuickBooks Payments merchant account; connectorId is the ID of that connector. Unlike the accounting families, these tools move real money in production — sandbox connectors hit Intuit's sandbox Payments endpoint and accept test card and bank numbers. Charges and refunds here do not write accounting entries by themselves; the *_AND_RECORD_* composites here and on the Workflows page bridge the two sides.
Tokenize card TOOLQUICKBOOKS_TOKENIZE_CARD
Exchanges raw card details for a single-use payment token, so downstream calls never carry the card number. Tokens are short-lived — spend the token promptly with QUICKBOOKS_CHARGE_CARD or store it with QUICKBOOKS_CREATE_CARD, or use the tokenize-and-* composites to do both steps atomically.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_CARD",
"connectorId": "V1StGXR8Z5",
"cardNumber": "@@{cardNumber}",
"expMonth": "@@{expMonth}",
"expYear": "@@{expYear}",
"cvc": "@@{cvc}",
"cardHolderName": "@@{cardHolderName}",
"addressPostalCode": "@@{billingZip}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
cardNumber- Type
- string
- Description
- Credit card number
- Name
expMonth- Type
- string
- Description
- Expiration month (MM)
- Name
expYear- Type
- string
- Description
- Expiration year (YYYY)
- Name
cvc- Type
- string
- Description
- Card verification code
- Name
cardHolderName- Type
- string
- Description
- Name on card
- Name
addressStreet- Type
- string
- Description
- Billing address street
- Name
addressCity- Type
- string
- Description
- Billing address city
- Name
addressRegion- Type
- string
- Description
- Billing address state/region
- Name
addressPostalCode- Type
- string
- Description
- Billing address postal code
- Name
addressCountry- Type
- string
- Description
- Billing address country (ISO code)
Tokenize bank account TOOLQUICKBOOKS_TOKENIZE_BANK_ACCOUNT
Exchanges bank account details (routing and account number) for a single-use token for ACH eCheck processing. accountType is one of PERSONAL_CHECKING, PERSONAL_SAVINGS, BUSINESS_CHECKING, or BUSINESS_SAVINGS. Pair with QUICKBOOKS_PROCESS_ECHECK or the tokenize-and-* composites.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_BANK_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"routingNumber": "@@{routingNumber}",
"accountNumber": "@@{accountNumber}",
"accountType": "PERSONAL_CHECKING",
"accountHolderName": "@@{accountHolderName}",
"phone": "@@{phone}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
routingNumber- Type
- string
- Description
- Bank routing number (9 digits)
- Name
accountNumber- Type
- string
- Description
- Bank account number
- Name
accountType- Type
- string
- Description
- PERSONAL_CHECKING, PERSONAL_SAVINGS, BUSINESS_CHECKING, BUSINESS_SAVINGS
- Name
accountHolderName- Type
- string
- Description
- Name on account
- Name
phone- Type
- string
- Description
- Account holder phone
Create card TOOLQUICKBOOKS_CREATE_CARD
Stores a tokenized card on a QuickBooks customer as a reusable payment method, returning a permanent cardId. The cardToken must come from a fresh QUICKBOOKS_TOKENIZE_CARD call; isDefault makes it the customer's default method.
Example
{
"toolType": "QUICKBOOKS_CREATE_CARD",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"cardToken": "@@{cardToken}",
"isDefault": true
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- QuickBooks customer ID
- Name
cardToken- Type
- string
- Description
- Token from tokenizeCard
- Name
isDefault- Type
- boolean
- Description
- Set as default payment method
Charge card TOOLQUICKBOOKS_CHARGE_CARD
Charges a card for amount — pass either a one-time cardToken or a stored cardId (with its owning customerId), never both. capture defaults to true; set it false to authorize only. This processes money but books nothing; use QUICKBOOKS_CHARGE_AND_RECORD_PAYMENT on the Workflows page to also write the accounting entry.
Example
{
"toolType": "QUICKBOOKS_CHARGE_CARD",
"connectorId": "V1StGXR8Z5",
"amount": 450.00,
"currency": "USD",
"cardToken": "@@{cardToken}",
"capture": true,
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
amount- Type
- number
- Description
- Charge amount
- Name
currency- Type
- string
- Description
- Currency code (USD, etc.)
- Name
cardToken- Type
- string
- Description
- Token for one-time payment (use this OR cardId)
- Name
cardId- Type
- string
- Description
- Stored card ID (use this OR cardToken)
- Name
customerId- Type
- string
- Description
- Customer ID (required if using cardId)
- Name
capture- Type
- boolean
- Description
- Whether to capture immediately (default true)
- Name
description- Type
- string
- Description
- Payment description
Process eCheck TOOLQUICKBOOKS_PROCESS_ECHECK
Debits a bank account via ACH — pass either a one-time bankAccountToken or a stored bankAccountId (with its customerId). paymentMode is the ACH authorization class (WEB default, TEL, CCD, PPD). ACH settles over days rather than instantly, so treat the result as initiated, not cleared.
Example
{
"toolType": "QUICKBOOKS_PROCESS_ECHECK",
"connectorId": "V1StGXR8Z5",
"amount": 450.00,
"bankAccountToken": "@@{bankAccountToken}",
"paymentMode": "WEB",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
amount- Type
- number
- Description
- Payment amount
- Name
bankAccountToken- Type
- string
- Description
- Token for one-time payment (use this OR bankAccountId)
- Name
bankAccountId- Type
- string
- Description
- Stored bank account ID (use this OR bankAccountToken)
- Name
customerId- Type
- string
- Description
- Customer ID (required if using bankAccountId)
- Name
paymentMode- Type
- string
- Description
- WEB (default), TEL, CCD, PPD
- Name
description- Type
- string
- Description
- Payment description
Refund charge TOOLQUICKBOOKS_REFUND_CHARGE
Refunds a card charge by chargeId, back to the original card. Omit amount for a full refund or set it for a partial one. The refund is Payments-API-only; QUICKBOOKS_REFUND_CHARGE_AND_RECORD_CREDIT below also books the credit memo.
Example
{
"toolType": "QUICKBOOKS_REFUND_CHARGE",
"connectorId": "V1StGXR8Z5",
"chargeId": "@@{chargeId}",
"amount": 450.00,
"description": "@@{refundReason}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
chargeId- Type
- string
- Description
- ID of the charge to refund
- Name
amount- Type
- number · optional
- Description
- Refund amount (optional for partial refund)
- Name
description- Type
- string
- Description
- Refund description/reason
Refund eCheck TOOLQUICKBOOKS_REFUND_ECHECK
Refunds an ACH eCheck payment by echeckId, in full (omit amount) or partially. eCheck refunds can only be issued once the original debit has settled, so a refund immediately after processing may be rejected.
Example
{
"toolType": "QUICKBOOKS_REFUND_ECHECK",
"connectorId": "V1StGXR8Z5",
"echeckId": "@@{echeckId}",
"description": "@@{refundReason}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
echeckId- Type
- string
- Description
- ID of the eCheck to refund
- Name
amount- Type
- number · optional
- Description
- Refund amount (optional for partial refund)
- Name
description- Type
- string
- Description
- Refund description/reason
Tokenize and charge TOOLQUICKBOOKS_TOKENIZE_AND_CHARGE
Tokenizes raw card details and charges the token in one call — the standard way to take a one-off card payment without juggling short-lived tokens across tool calls. The card is not stored; for repeat billing use QUICKBOOKS_TOKENIZE_AND_STORE_CARD instead.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_AND_CHARGE",
"connectorId": "V1StGXR8Z5",
"amount": 450.00,
"currency": "USD",
"cardNumber": "@@{cardNumber}",
"expMonth": "@@{expMonth}",
"expYear": "@@{expYear}",
"cvc": "@@{cvc}",
"cardHolderName": "@@{cardHolderName}",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
amount- Type
- number
- Description
- Charge amount
- Name
currency- Type
- string
- Description
- Currency code (USD, etc.)
- Name
cardNumber- Type
- string
- Description
- Credit card number
- Name
expMonth- Type
- string
- Description
- Expiration month (MM)
- Name
expYear- Type
- string
- Description
- Expiration year (YYYY)
- Name
cvc- Type
- string
- Description
- Card verification code
- Name
cardHolderName- Type
- string
- Description
- Name on card
- Name
description- Type
- string
- Description
- Payment description
Tokenize and process eCheck TOOLQUICKBOOKS_TOKENIZE_AND_PROCESS_ECHECK
Tokenizes bank account details and initiates the ACH debit in one call — the eCheck counterpart of tokenize-and-charge. The bank account is not stored for reuse; that's QUICKBOOKS_TOKENIZE_AND_STORE_BANK_ACCOUNT.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_AND_PROCESS_ECHECK",
"connectorId": "V1StGXR8Z5",
"amount": 450.00,
"routingNumber": "@@{routingNumber}",
"accountNumber": "@@{accountNumber}",
"accountType": "PERSONAL_CHECKING",
"accountHolderName": "@@{accountHolderName}",
"paymentMode": "WEB",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
amount- Type
- number
- Description
- Payment amount
- Name
routingNumber- Type
- string
- Description
- Bank routing number
- Name
accountNumber- Type
- string
- Description
- Bank account number
- Name
accountType- Type
- string
- Description
- PERSONAL_CHECKING, PERSONAL_SAVINGS, etc.
- Name
accountHolderName- Type
- string
- Description
- Name on account
- Name
paymentMode- Type
- string
- Description
- WEB, TEL, CCD, PPD
- Name
description- Type
- string
- Description
- Payment description
Tokenize and store card TOOLQUICKBOOKS_TOKENIZE_AND_STORE_CARD
Tokenizes a card and stores it on an existing customer in one call, returning a permanent cardId for later QUICKBOOKS_CHARGE_STORED_CARD calls. Nothing is charged. If the customer record may not exist yet, QUICKBOOKS_SETUP_CUSTOMER_PAYMENT_METHOD below handles that too.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_AND_STORE_CARD",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"cardNumber": "@@{cardNumber}",
"expMonth": "@@{expMonth}",
"expYear": "@@{expYear}",
"cvc": "@@{cvc}",
"cardHolderName": "@@{cardHolderName}",
"isDefault": true
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- Customer to store card for
- Name
cardNumber- Type
- string
- Description
- Credit card number
- Name
expMonth- Type
- string
- Description
- Expiration month (MM)
- Name
expYear- Type
- string
- Description
- Expiration year (YYYY)
- Name
cvc- Type
- string
- Description
- Card verification code
- Name
cardHolderName- Type
- string
- Description
- Name on card
- Name
isDefault- Type
- boolean
- Description
- Set as default payment method
Tokenize and store bank account TOOLQUICKBOOKS_TOKENIZE_AND_STORE_BANK_ACCOUNT
Tokenizes a bank account and stores it on an existing customer in one call, returning a permanent bankAccountId for later QUICKBOOKS_CHARGE_STORED_BANK_ACCOUNT calls. Nothing is debited at store time.
Example
{
"toolType": "QUICKBOOKS_TOKENIZE_AND_STORE_BANK_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"routingNumber": "@@{routingNumber}",
"accountNumber": "@@{accountNumber}",
"accountType": "PERSONAL_CHECKING",
"accountHolderName": "@@{accountHolderName}",
"isDefault": true
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- Customer to store bank account for
- Name
routingNumber- Type
- string
- Description
- Bank routing number
- Name
accountNumber- Type
- string
- Description
- Bank account number
- Name
accountType- Type
- string
- Description
- PERSONAL_CHECKING, PERSONAL_SAVINGS, etc.
- Name
accountHolderName- Type
- string
- Description
- Name on account
- Name
phone- Type
- string
- Description
- Account holder phone
- Name
isDefault- Type
- boolean
- Description
- Set as default payment method
Charge stored card TOOLQUICKBOOKS_CHARGE_STORED_CARD
Charges a card previously stored on a customer, identified by customerId plus cardId — no card details or fresh token needed. This is the repeat-billing workhorse for customers set up via the store composites.
Example
{
"toolType": "QUICKBOOKS_CHARGE_STORED_CARD",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"cardId": "@@{cardId}",
"amount": 450.00,
"currency": "USD",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- Customer ID who owns the card
- Name
cardId- Type
- string
- Description
- Stored card ID
- Name
amount- Type
- number
- Description
- Charge amount
- Name
currency- Type
- string
- Description
- Currency code (USD, etc.)
- Name
description- Type
- string
- Description
- Payment description
Charge stored bank account TOOLQUICKBOOKS_CHARGE_STORED_BANK_ACCOUNT
Debits a bank account previously stored on a customer via ACH, identified by customerId plus bankAccountId. paymentMode carries the ACH authorization class, and the same settlement-delay caveat as QUICKBOOKS_PROCESS_ECHECK applies.
Example
{
"toolType": "QUICKBOOKS_CHARGE_STORED_BANK_ACCOUNT",
"connectorId": "V1StGXR8Z5",
"customerId": "@@{customerId}",
"bankAccountId": "@@{bankAccountId}",
"amount": 450.00,
"paymentMode": "WEB",
"description": "@@{paymentDescription}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
customerId- Type
- string
- Description
- Customer ID who owns the bank account
- Name
bankAccountId- Type
- string
- Description
- Stored bank account ID
- Name
amount- Type
- number
- Description
- Payment amount
- Name
paymentMode- Type
- string
- Description
- WEB, TEL, CCD, PPD
- Name
description- Type
- string
- Description
- Payment description
Setup customer payment method TOOLQUICKBOOKS_SETUP_CUSTOMER_PAYMENT_METHOD
The full onboarding composite: finds the customer by email (creating one if missing), then tokenizes and stores the payment method on them. paymentMethodType selects CARD (card fields required) or BANK_ACCOUNT (bank fields required), so one tool config can onboard either kind. Returns the customer, whether it was created, and the stored method.
Example
{
"toolType": "QUICKBOOKS_SETUP_CUSTOMER_PAYMENT_METHOD",
"connectorId": "V1StGXR8Z5",
"email": "@@{customerEmail}",
"displayName": "@@{customerName}",
"paymentMethodType": "CARD",
"cardNumber": "@@{cardNumber}",
"expMonth": "@@{expMonth}",
"expYear": "@@{expYear}",
"cvc": "@@{cvc}",
"cardHolderName": "@@{cardHolderName}",
"setAsDefault": true
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
email- Type
- string
- Description
- Customer email (primary search key)
- Name
displayName- Type
- string
- Description
- Customer display name
- Name
givenName- Type
- string
- Description
- First name
- Name
familyName- Type
- string
- Description
- Last name
- Name
paymentMethodType- Type
- string
- Description
- CARD or BANK_ACCOUNT
- Name
cardNumber- Type
- string
- Description
- Required string value.
- Name
expMonth- Type
- string
- Description
- Required string value.
- Name
expYear- Type
- string
- Description
- Required string value.
- Name
cvc- Type
- string
- Description
- Required string value.
- Name
cardHolderName- Type
- string
- Description
- Required string value.
- Name
routingNumber- Type
- string
- Description
- Required string value.
- Name
accountNumber- Type
- string
- Description
- Required string value.
- Name
accountType- Type
- string
- Description
- Required string value.
- Name
accountHolderName- Type
- string
- Description
- Required string value.
- Name
phone- Type
- string
- Description
- Required string value.
- Name
setAsDefault- Type
- boolean
- Description
- Required boolean value.
Refund charge and record credit TOOLQUICKBOOKS_REFUND_CHARGE_AND_RECORD_CREDIT
Refunds a card charge and books a matching credit memo against the customer in the same call, keeping the Payments side and the ledger in sync. Omit amount for a full refund; reason lands on both the refund and the credit memo.
Example
{
"toolType": "QUICKBOOKS_REFUND_CHARGE_AND_RECORD_CREDIT",
"connectorId": "V1StGXR8Z5",
"chargeId": "@@{chargeId}",
"customerId": "@@{customerId}",
"reason": "@@{refundReason}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
chargeId- Type
- string
- Description
- Charge ID to refund
- Name
customerId- Type
- string
- Description
- Customer ID for credit memo
- Name
amount- Type
- number · optional
- Description
- Refund amount (optional for full refund)
- Name
reason- Type
- string
- Description
- Refund reason/description
Refund eCheck and record credit TOOLQUICKBOOKS_REFUND_ECHECK_AND_RECORD_CREDIT
The ACH counterpart: refunds an eCheck by echeckId and books the matching credit memo against the customer in one call. The eCheck must have settled before it can be refunded, same as the plain refund tool.
Example
{
"toolType": "QUICKBOOKS_REFUND_ECHECK_AND_RECORD_CREDIT",
"connectorId": "V1StGXR8Z5",
"echeckId": "@@{echeckId}",
"customerId": "@@{customerId}",
"reason": "@@{refundReason}"
}
connectorId in the tool configuration.Configuration fields
- Name
connectorId- Type
- string (ID)
- Description
- Required string (ID) value. References a connector by ID.
- Name
echeckId- Type
- string
- Description
- eCheck ID to refund
- Name
customerId- Type
- string
- Description
- Customer ID for credit memo
- Name
amount- Type
- number · optional
- Description
- Refund amount (optional for full refund)
- Name
reason- Type
- string
- Description
- Refund reason/description