Changing the course cost or currency while a student is making a purchase can result in the transaction taking place but the student not being enrolled. This is because the IPN listener checks for inconsistencies in the transaction cost/currency and the current set cost/currency. This is done to thwart malicious users from tricking the plugin with a self-crafted transaction that has different values for cost/currency.
There is a window between the user loading the purchase.php page and the IPN being processed, in which changing the cost/currency can cause a false negative.
Have text in course_settings.php and paymentgateway_paypal settings warning admin to turn off the plugin first.
Changing the course cost or currency while a student is making a purchase can result in the transaction taking place but the student not being enrolled. This is because the IPN listener checks for inconsistencies in the transaction cost/currency and the current set cost/currency. This is done to thwart malicious users from tricking the plugin with a self-crafted transaction that has different values for cost/currency.
There is a window between the user loading the purchase.php page and the IPN being processed, in which changing the cost/currency can cause a false negative.
Have text in course_settings.php and paymentgateway_paypal settings warning admin to turn off the plugin first.