Hi Grace.
The charge would happen after the trial term.
What you could do is only offer it to registered Level 0 users. Then, before showing the upgrade option with the free trial, check that they haven’t already had a higher level before. [hilite path]Dashboard -› s2Member® -› API / Scripting -› PHP/API Constants -> S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS[/hilite]
[hilite pre_code]
0) { ?>
Offer trial
No trial
[/hilite]
You’ll need a PHP execution plugin like ezPHP. Knowledge Base » ezPHP Plugin for WordPress®
This doesn’t stop someone from creating a new account each time, though, but it does make it a bit more complicated to abuse the trial. I don’t know a way to fully prevent someone from using the trials over and over…
I hope that helps. :)