Hi there, jdom.
I'll address your concerns one by one regarding how QuickBooks handles card transactions using QuickBooks Payments.
QuickBooks does not refund the 3% transaction fee withdrawn from your account when charging a security deposit from your customer's credit card. This is the processing fee deducted each time you make a transaction using the application.
Additionally, once you use QuickBooks Payments to take a customer's security deposit, the system will charge the amount directly. Therefore, holding funds without withdrawing the actual amount is not possible.
In your situation, you can pay the transaction fee for the time being and add this as another line item on your customer's invoice. This way, the transaction fee will be charged on top of the actual amount they should be paying. Just be sure to inform them about the additional fee for their awareness. You can follow the steps below to create a service fee item for the transaction fee:
- Go to the Gear icon, then select Products and Services.
- Click on New, then choose Service.
- Enter the name of your service item (e.g., Transaction Fee).
- Select the account you’ll use to track the processing fees.
- Once done, click Save and Close.
After that, add this as an additional item to your invoice to charge your customers. I’ve included a snapshot below for your reference:

Moreover, you can always check the articles below for more information about funding times for QuickBooks Payments:
You can comment on this thread for additional guidance or to address your queries about QuickBooks transactions, jdom. I'm just a post away to help you. Have a great day!