Каждый раз, когда есть разные суммы, вы не можете использовать готовые решения от таких компаний, как Paypal, потому что они предназначены только для фиксированных сумм. Это означает, что вам нужно будет управлять платежами, когда они должны быть выполнены.
Я не так хорошо знаком с Paypal, как Authorize.Net, но похоже, что вам нужно будет генерировать новые кнопки покупки сейчас каждый месяц, и пользователь должен совершать платеж таким образом. Это должно быть простым и автоматизированным, так как периоды времени фиксированы, и только сумма является переменной, но она рассчитывается. Попросите cron создать новую кнопку «Купить сейчас» и страницу, на которой пользователь может ее найти. Затем задание cron может также отправить электронное письмо пользователю, чтобы он знал, что его платеж подлежит оплате, и предоставить ему ссылку на эту страницу. Вы можете использовать Paypal IPN для подтверждения оплаты и даже удалить страницу оплаты, чтобы пользователь никогда не использовал ее снова случайно.