I have a very simple online ordering app in Perl. The user fills in a form, and when they submit, my app inserts the info into a mySql database, then redirects them to PayPal to complete the payment. The problem is that the database does not have any information about whether they actually completed the payment. I end up having to manually reconcile a report from PayPal with my database to confirm payment for each order.

Is there anything like a "callback" from PayPal, where I could provide PayPal with a unique identifier for the order and PayPal could send back that identifier as confirmation that the order was paid, preferably through an HTTP request back to my server? Then I could update the order in my database with a "paid" flag.

+4  A: 

yes, that's pretty much exactly how it works. Instant Payment Notification

+1  A: 

check out Paypal instant payment notification