castlamp / zenbership

(2015) Zenbership Membership Software: Achieve Membership Nirvana
Other
112 stars 58 forks source link

Paypal Payment fails to update system on return. #166

Open sparrowme opened 6 years ago

sparrowme commented 6 years ago

Return page shows the following when returning from paypal.

Registration Complete!
We've successfully processed your registration request! We look forward to seeing you at the event. You've been emailed a copy of your confirmation. Please print it out for your records.
Ticket No. | %primary:id%
-- | --
Status | Payment Pending

No email received. No transaction gets logged. Paypal transaction is good, but no evidence is seen in admin of a payment.

steviobee commented 6 years ago

This is the same on membership/subscription payment via PayPal as well. It is not receiving the message sent from PayPal and I keep getting an error message from PayPal -

'Please check your server that handles PayPal Instant Payment Notifications (IPN). Instant Payment Notifications sent to the following URL(s) are failing:'

sparrowme commented 6 years ago

Interesting... I don't get the error from paypal. The page returns the user to my site, but just no evidence?? Will try to log some debug info... obviously no value for %primary:id% is available since the key is shown on the page and not the value.

sparrowme commented 6 years ago

Found it! db.class.php points to ppSD_event_rsvps for adding registration form fields (including guests) in admin. However, the rest of the code seems to join ppSD_event_rsvp_data when trying to display or update that information once, for instance, the return call to the paypal_ipn_listener.php comes back.

Find in admin/cp-classes/db.class.php ->

      switch ($scope) {
        case 'rsvp':
            $table = 'ppSD_event_rsvps';
            break;
        case 'contact':
            $table = 'ppSD_contact_data';
            break;
        case 'account':
            $table = 'ppSD_account_data';
            break;
        default:  
            $table = 'ppSD_member_data';
    }

Change:

            $table = 'ppSD_event_rsvps';

To:

            $table = 'ppSD_event_rsvp_data';

Now go update your event and edit/save the form fields again. They will now get created against the correct table.

steviobee commented 6 years ago

I am currently not using events section, just membership for now, I have however changed db.class.php to $table = 'ppSD_event_rsvp_data'; - and will check when I use the events. Thanks @worraps

jbelelieu commented 6 years ago

@worraps what version are you using and what line in db.class.php is that on?

sparrowme commented 6 years ago

@jbelelieu v115 Line is... 1943

jbelelieu commented 6 years ago

Wonderful, thank you!

slove05 commented 6 years ago

Dear goodness thank you. I've been chasing this for two days...

steviobee commented 6 years ago

Anyone had any luck finding the PayPal IPN listener error for subscription or product payments?