From their FAQ:
That depends on the type of booking: 1) Rate per room per night - Pay
online: If a room is available and you've submitted your credit card
details and agreed to the booking conditions on the booking form, the
reservation is then confirmed and a hotel voucher will be
automatically sent to your e-mail address. The hotel voucher is only
issued after we have verified and charged your credit card. The hotel
voucher AND credit card must be presented upon check-in at the hotel,
together with a valid form of photo ID.
2) Book Now Pay Later - Pay online: Book Now Pay Later is just that,
make a booking now, pay for it later. The booking will be instantly
confirmed. The booking conditions (cancellation policy) will determine
when you are billed. The actual charge date will be approximately 2-3
days prior to the hotel booking conditions becoming active. At that
time you will be charged the full amount. This option is only
available for Visa, MasterCard, AMEX and JCB. Please make sure you
select "Pay Later" when you input your credit card details.
3) Special Rates - Pay at the hotel: Agoda.com works in partnership
with other companies to ensure we offer the best rates. If you choose
to stay at a hotel where an agoda.com partner has provided the lowest
rate, we will confirm your reservation and issue a confirmation email.
In such cases we will not charge your card. You will be required to
pay the hotel directly upon check-out and the hotels own cancellation
policy will apply. The title of the rate section for these hotels is
'Special Rates' instead of 'Rate per room per night'.
Please note: The hotel reserves the right to preauthorize/charge your
credit card prior to arrival. Timing and amount of charges will be in
line with the conditions of your booking.
So from that last paragraph, they might charge your card in advance, or it might be that you get charged when you arrive. Depends on the hotel.