Here's the premise of my latest project. A client creates an account (that part is done), then clicks on the "Post a listing" link, where they are directed to a page with a form to fill out (that part is done). Now for the part I don't know how to do: The user clicks a button to buy a credit, which redirects them to a PayPal page where they complete the transaction. One purchase like this gives the user one credit (the number of credits they have would be stored in the database). They can use these credits to post listings on the site. I know how to check for credits and either allow or deny them a listing, but I'm not sure how to go from the PayPal page to giving them a credit. Any ideas how I'd accomplish this?
Try the paypal IPN as suggested or the express checkout method. I'm personally a big fan of Express Checkout as the user finishes the transaction on your website rather than on paypal's. You should be able to find examples and help here: https://developer.paypal.com/
I believe you have credits associated with the amount they pay like $5=1credit, if that is correct then I think you should use a logical method to accomplish your task. You must have specified two pages to paypal for successful transaction and unsuccessful transaction. Once the paypal completes a transaction successfully, it will redirect the user to the page of your website where you have originally indicated at the time of settings. On this page (on your website) you need to run a trigger to credit the credits to the database for that user ( here I am assuming that session of user still exists). I think this is fair because you only want to credit when the payment is made successfully. No need to do settings on paypal because you should have records of all transactions in your own database and paypal should be referred to see the payment deposit and withdrawal. I hope it helps.