- If payments are not being recorded, make sure that IPN messaging is not disabled in your PayPal setttings. See: PayPal payments not being captured
- If payments are being made but user expiration dates are not being advanced, it may be the listener type. See: Changing the IPN Listener type
- If after clicking the PayPal payment button you receive a message that says “Things don’t appear to be working at the moment”, that generally indicates that your PayPal settings are set to require encrypted buttons. Because the PayPal payment button is generated dynamically so that the user information is passed to PayPal with the button, you cannot require encrypted payment buttons. See: PayPal returns the message “Things don’t appear to be working at the moment”
- Viewing the Log: The IPN listener will capture the transactional messages from PayPal’s IPN system and store them in the
wp_wpmem_paypal_ipn_messages
table in the WordPress database. You can view a user friendly display of this data in the plugin’s settings “IPN Log” subtab. It will show the most recent entries, with a single line for each entry. You can get more detail on a given line by clicking the line to open the detailed view.- Noting specific items from the log:
payment_status
: This is the payment status sent from PayPal. Note that a “Completed” purchase at PayPal may still be rejected at the site for setting an expiration date if any of the following are true:- Payment amounts do not match (payment received vs payment expected)
- Account receiving the payment does not match the business
custom
: This is the field that contains the WordPress user ID for the transaction.business
: This is the email of the PayPal account. It MUST be the main PayPal email for the account, and the value should be what is in the PayPal user ID in the plugin settings.payer_email
: This is the PayPal account that received the funds. If it doesn’t matchbusiness
(above), the transaction will be rejected at the site (but not by PayPal).txn_id
: All valid transactions have a transaction ID. If there is notxn_id
, the transaction is rejected at the site.payment_gross
: The transaction total. If it does not match the expected value, the transaction is rejected.