Error: strtolower() expects parameter 1 to be string, array given
If you call this method:
telecheck_purchase(...)
https://github.com/payeezy/payeezy_direct_API/blob/master/payeezy_php/example/src/Payeezy.php#L851
It tries to cast the array payload you passed in using strtolower() here:
https://github.com/payeezy/payeezy_direct_API/blob/master/payeezy_php/example/src/Payeezy.php#L440
Result is that telecheck_purchase transactions do not work at all.