I am using QuickBooks Online. Using payments api I have stored customer's bank account info to Quickbooks. Now I want to create a charge against the stored bank account using payments api. I couldn't find a way to do that. I know how to create a charge using stored credit card but I couldn't find a way to provide bank account info instead while making /quickbooks/v4/payments/charges
api call.
Can a charge be created against stored bank account?
Read the docs on eChecks
/ debits
:
Specifically, this section:
Create a debit
REQUEST URL
Sandbox Base URL: https://sandbox.api.intuit.com
Production Base URL: https://api.intuit.com
Operation:
POST /quickbooks/v4/payments/echecks
Content type: application/json
To process an E-check, you create a new debit object.
Where it shows an example like this:
{
"amount":"1.11",
"bankAccount":{
"name":"Fname LName",
"routingNumber":"490000018",
"accountNumber":"11000000333456781",
"accountType":"PERSONAL_CHECKING",
"phone":"1234567890"
},
"context":{
"deviceInfo":{
"id":"1",
"type":"type",
"longitude":"longitude",
"latitude":"",
"phoneNumber":"phonenu",
"macAddress":"macaddress",
"ipAddress":"34"
}
},
"paymentMode":"WEB",
"checkNumber":"12345678",
"description":"Check Auth test call"
}
Together with a note that says:
bankAccountOnFile:
required if neither bankAccount nor token are specified
string
The bank account details that have been previously stored on file.
TLDR: Use the create a debit
endpoint and specify the bankAccountOnFile
id
value in the request.