Ваш первый шаг - использовать профессиональный счет PayPal для платежей. Если память работает правильно, вы можете перезвонить только на профессиональные учетные записи. В противном случае ваше пожертвование PayPal в значительной степени является поездкой в одну сторону.
Пожалуйста, поймите, что ваш вопрос очень сложный и вряд ли приведет к полномасштабному примеру.
Лучшее предложение, которое я могу дать, - прочитать документацию по API PayPal и посмотреть, соответствует ли PHP API вашим потребностям ...
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_overview
На этом вам конец PHP / MySQL. Вы должны хранить информацию о пользователе, которую будете использовать для отправки и проверки успешных транзакций на основе результатов API PayPal.
Хотя этот ответ может не совсем соответствовать вашей ситуации, это, по крайней мере, маленькая точка в правильном направлении. Я бы посоветовал позаботиться о возмещении и отмене платежей. Если есть что-то, что вы можете получить, накапливая эти «очки», о которых вы упомянули, тогда вам нужно хорошо обеспечить безопасность. В противном случае вы окажетесь в игре и можете потерять что-то, если это не будет сделано правильно.
Если у вас есть что-то конкретное, что можно добавить к этому вопросу, чтобы сузить возможные ответы, дайте мне знать, и я постараюсь обновить этот ответ с более конкретным ответом.