All U.S. Embassies and "most" consulate or satellite office will have a U.S. banking facility in them. So you can visit the embassy or satellite office and purchase a pre-paid VISA in U.S. funds. Then register that VISA online with any valid U.S. mailing address and valid U.S. phone number. It can take up to four hours for your registration to propagate where ever it needs to across the Internet. Then you can use that pre-paid visa to pay your online fees.
Online registration instructions are included with the card when you purchase it. So you will "activate" it before you leave the bank. Then you will "register" it with US billing information on the Internet, when you get back home with it.