OCS registration items in registration don't match Paypal


We have started taking registrations in OCS 2.3.6 and using the Paypal plugin. Most have worked fine.

In one case a user has registered for the conference fee + 3 options and paid via Paypal. The Paypal transaction marked that rego as paid and the conf type and the 3 options appear in the OCS registration with the date paid.

But the Paypal amount and list in our Paypal account is for the conf type + one option only. Two options have not been paid and don’t appear in our Paypal.
There were no errors in the transaction.

Have you seen this before. It’s confusing to me as once a user pays with Paypal and it sends back the POST information the user can’t change their rego options so how could two rego options get not sent to Paypal?

Update: I can reproduce the error partially. Some options are getting added to the registration when the user has not selected them via the checkbox.


Hi all

Just a follow up on what the problem was. The clue was that in addition to the payment problem above when a user registered and selected some options occasionally they would get a couple of options recorded in the OCS registrations that they did not select. This is how the payment discrepancy was occurring. The Paypal had the users correct choices and payment but OCS has an extra two options recorded. Strange but this is why:

In the tables registrations and registration_option_assoc there is an auto increment on the registration_id and we had:
table registration_option_assoc has max(registration_id)=162
table registrations has max(registration_id) = 86
Thus some registration_option_assoc values had already chosen options for the next
76 new registrations (162-86=76).

Why the hell would this occur? This is because there are several registration types and 30 options so to copy all these from out testconference setup I didn’t want to do 7 x 30 ‘cut and pastes’ so I did a mysqldump of the registration tables from test and loaded them into production. The production rego tables were empty but the auto increment values got out of sync.

A subtle error that can occur if you don’t pay attention to exactly how the database works.


1 Like