Not sure, why the Square Team need to see this. I already provided solution.
Here is the solution again.
If you are collecting appFee for yourself, set appFee as 0 amount as 0L (0 as long amount, ex: c#), and pass appFee (0 as you see) to Square. There will be no error at all.
There is no need to collect appFee for yourself, so the appFee is 0 for self-appFee.
There will be no error at all for TerminalCheckOut by passing 0 appFee for self-appFee on terminalCheckout API.
You can check merchant ID to verify this is âself-appFee.â Check merchant ID, if merchant ID is your account or not. If is your account, it IS âself-appFeeâ action, if NOT, it will be processed with âappFee.â
If you are doing self-appFee, SET appFee AS 0, otherwise set appFee for other merchants, using your âsetâ appFee (set by you) for âAPPLICATION FEE.â This works fine.
However, in case you need refund on terminalCheckOut, EVEN with appFee of 0L (for self-appFee), you will get error again. â When you need to refund on terminalCheckOut on follow up on any reason, do NOT pass appFee for self-appFee.
Read carefully, you can refund card transaction, using PAYMENT API, NOT by terminalCheckOut API. This is out of topic here. I am just providing for reference.
You have NEVER âCOLLECTEDâ appFee for âself-appFeeâ on terminalCheckOut as you see above. There is no need to pass âappFeeâ on refund using Payment API when the initial transaction is âselfâ transaction without appFee. Just do not pass appFee on refund if transaction was created by âself.â
This will guarantee 0 error message.
I am done, I donât know what else I can help on this case.