When my daughter visited we were not sure if her Visa debit card would be accepted so I paid for the Al Maha service. You just go to the Al Maha desk a few days before your visitor arrives and you can pay for the service and the visa in cash (at least, you could last March).

I think you can also buy a visa online, but you would probably also need a credit card.