You can pay for an eTA with the following:
Visa, MasterCard, American Express,
a pre-paid Visa, MasterCard or American Express,
Visa Debit and Debit MasterCard,
JCB card,
UnionPay (debit cards not accepted),
INTERAC Online.