If you are an American you can get on arrival visa (100 Riyals if I am not mistaken) to be paid by credit card.