So this is an issue. If a user completes the registration form, then reviews their order and for what ever reason leaves the page or the browser quits, their registration is already entered and completed.

This is a big issue since their order never actually took place yet they managed to secure a seat for themselves.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

jpontani’s picture

Version: 7.x-3.x-dev » 7.x-2.x-dev

I'm assuming you mean the 2.x branch, seeing as the 3.x branch is nowhere near ready for any use other than development.

Registrations are created in a default state, which is configurable on the Registration States page. Commerce Registration also ships with a default rule to set a registration to completed upon full payment, but this is also configurable.

staceyrice’s picture

I am having the same problem with 7.x-2.x-dev.

Regardless of whatever state I choose as the default state for a registration, for example, default pending, then changes to complete after full payment, it still takes a slot even if the user hasn't paid. How can we make it not take a slot until payment is complete or can the registration pane be after the payment screen? Will that work?

jpontani’s picture

Status: Active » Fixed

On the Registration State type page, there are checkboxes for "show on form" and "active". The "Active" checkbox signifies whether a registration in that state will take up a slot or not.

So for example, you could configure "Pending" to be non-active, but have "Complete" be active. This means that unless a registration is Complete, they will not take up a slot.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Kazanir’s picture

Category: support » feature

I'm reopening this issue as a major feature request. Let me clarify what is wrong here:

1. The default rules provided by Commerce Registrations apparently set a registration entity to Pending upon order completion, but to Complete upon full payment. I'm not sure how much sense these make together, but it suggests that only fully paid orders will be marked as completed.

2. However, the admin page in question for changing registration states is not very well documented, probably owing to the default of "Completed" being just fine for most non-Commerce users of the Entity Registration module.

3. Unfortunately, the default of "Complete" is NOT fine for a Commerce-based registration system -- we want registrations (in 95%+ of use cases) to ONLY be complete if the order is paid for, and not otherwise.

This module should include something which will cause the default setup of Registrations to be set to Pending rather than to Completed to avoid the very unpleasant circumstances some of us find ourselves in where people appear registered when they have not actually paid. At a minimum, documenting this on the module's front page would be extremely welcome.

Kazanir’s picture

Status: Closed (fixed) » Active
Chris Burge’s picture

You could try changing the default Registration state to 'Pending' on the 'Registration states' page: /admin/structure/registration/registration_states

I dealt with this issue using rules. I'm not using either the 'Set Registrations to Pending upon Order Completion' rule or the 'Set Registrations to Complete upon Full Payment' rule that ship with the module. Instead, I created two new rules:

Rule: Set Registrations to Pending Upon Creation

Event

  • After saving new registration

Conditions

  • [none]

Actions

  • Set a data value
    • Data selector: registration:state
    • Value: Pending

Rule: Set Registrations to Complete upon Order Completion

Event

  • After updating an existing commerce order

Conditions

  • Data comparison
    • Data selector: commerce-order:status
    • Operator: equals
    • Data value: Completed

Actions

  • - Set all Registrations to a specific state
    • Data selector: commerce_order
    • Registration state: Complete
pcambra’s picture

This module should include something which will cause the default setup of Registrations to be set to Pending rather than to Completed to avoid the very unpleasant circumstances some of us find ourselves in where people appear registered when they have not actually paid. At a minimum, documenting this on the module's front page would be extremely welcome.

I also agree with the pending default, I'm still unsure myself of what the active and the show in form checkboxes mean.

John Franklin’s picture

Issue summary: View changes

Adding a drupal_set_message() in commerce_registration_install() would help, too.

Vali Hutchison’s picture

Thanks Chris Burge for #7. We had a similar issue for a site taking Paypal payments. Users would book an event but for whatever reason not pay and then later would be told they were already booked for the event despite not paying for it.

I used the Set Registrations to Complete upon Order Completion rule as described but went with the pending rule that ships with the module. All working well.

For reference I'm attaching that screenshot of the registration states admin page.

blacklabel_tom’s picture

Status: Active » Closed (works as designed)