Support

Home Forums Event Espresso Premium Bug when updating ticket surcharges and transferring registrations to new ticket

Bug when updating ticket surcharges and transferring registrations to new ticket

Posted: July 8, 2020 at 8:59 pm


pawmedia

July 8, 2020 at 8:59 pm

I updated a ticket surcharge from a % to a dollar figure. A few hours after making this change, I had to transfer a ticket to a different event. It calculated the original payment wrong by taking the dollar surcharge and treating it as a percentage. If I change the surcharge back to a percentage, it then calculates the payment correctly and lets me transfer the ticket without a difference in price. Second big EE related bug of the day. Sigh…


Tony

  • Support Staff

July 9, 2020 at 8:20 am

Hi there,

I’d like to try and reproduce this so just to confirm:

Create Event A with Ticket A = $20 + 20% surcharge.

Create Event B with Ticket B = $20 + 20% surcharge.

Register onto Ticket A and pay in full.

Update Ticket A’s surcharge from a percentage to a dollar amount? (leaving the value the same?)

Transfer registration on Event Ticket A to Ticket B?

Making a change to a price on a ticket with registrations on it should archive that ticket and generate a new one to prevent conflicts like this and during my testing that’s what happens (meaning the calculations are then correct) but I’m guessing I may be testing something different.


pawmedia

July 9, 2020 at 9:56 am

1) Almost… you would need to update it to a dollar calculation of the former percentage. In this case, a $4 dollar surcharge. In my situation, it was a $189 ticket with a 15% surcharge ($28.35 for a total of $217.35). With the square payment gateway issues I was having, I switched these tickets to a $28.35 dollar surcharge to see if the % surcharge was introducing extra decimal places to confuse square. After that, I had to transfer a ticket to a different event with the same cost, but it is saying that they paid $242.58 for their original ticket. By accident, I figured out that the ticket transfer module was calculating their previous purchase with the dollar surcharge amount as a percentage surcharge. In this case, $189 + 28.35% = $242.58.

2) As for editing the tickets and having it create an archive ticket… that one still has me scratching my head. When I made my original update on three of these tickets across 6 days (18 total tickets), not a single archive ticket was created (even though many of these tickets already had sales). I figured that was because the total ticket price was still the same. I’m guessing that has something to do with the issue above, but I don’t have an explanation for it.


Tony

  • Support Staff

July 9, 2020 at 11:38 am

1) Almost… you would need to update it to a dollar calculation of the former percentage. In this case, a $4 dollar surcharge. In my situation, it was a $189 ticket with a 15% surcharge ($28.35 for a total of $217.35). With the square payment gateway issues I was having, I switched these tickets to a $28.35 dollar surcharge to see if the % surcharge was introducing extra decimal places to confuse square. After that, I had to transfer a ticket to a different event with the same cost, but it is saying that they paid $242.58 for their original ticket. By accident, I figured out that the ticket transfer module was calculating their previous purchase with the dollar surcharge amount as a percentage surcharge. In this case, $189 + 28.35% = $242.58.

Nice find, I can reproduce this with the above and will create a ticket for the attendee mover add-on. It’s using the ticket object to base the modifier on and should be using the line items within the transaction there.

2) As for editing the tickets and having it create an archive ticket… that one still has me scratching my head. When I made my original update on three of these tickets across 6 days (18 total tickets), not a single archive ticket was created (even though many of these tickets already had sales). I figured that was because the total ticket price was still the same. I’m guessing that has something to do with the issue above, but I don’t have an explanation for it.

Yeah, the reason the ticket isn’t archived is due to no price change.

For the most part the above should work fine as the ticket (and associated modifiers) is used to generate line items for the transaction, the line items are then used within EE (although obviously not be the attendee mover) but I’ve created a ticket to investigate further.

You must be logged in to reply to this support post. Sign In or Register for an Account

Support forum for Event Espresso 3 and Event Espresso 4.
Documentation for EE3 and EE4
Documentation for Event Espresso 3 Documentation for Event Espresso 4

Status: publish

Updated by  Tony 3 months, 2 weeks ago ago

Topic Tags

Notifications

This topic is: not resolved
Do NOT follow this link or you will be banned from the site!
[gravityform id=80 title=false description=false ajax=false]
<div class='gf_browser_unknown gform_wrapper' id='gform_wrapper_80' ><form method='post' enctype='multipart/form-data' id='gform_80' action='/topic/bug-when-updating-ticket-surcharges-and-transferring-registrations-to-new-ticket/'> <div class='gform_body'><ul id='gform_fields_80' class='gform_fields top_label form_sublabel_below description_below'><li id='field_80_1' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_1' >First name<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_80_1' type='text' value='' class='medium' aria-required="true" aria-invalid="false" /></div></li><li id='field_80_2' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_2' >Email address<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_80_2' type='email' value='' class='medium' aria-required="true" aria-invalid="false" /> </div></li><li id='field_80_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' >GDPR Agreement<span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_80_3'><li class='gchoice_80_3_1'> <input name='input_3.1' type='checkbox' value='I consent to have this website store my submitted information so they can respond to my inquiry.' id='choice_80_3_1' /> <label for='choice_80_3_1' id='label_80_3_1'>I consent to have this website store my submitted information so they can respond to my inquiry.</label> </li></ul></div></li><li id='field_80_4' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_80_4' >Email</label><div class='ginput_container'><input name='input_4' id='input_80_4' type='text' value='' autocomplete='off'/></div><div class='gfield_description' id='gfield_description_80_4'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_80' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_80"]){return false;} if( !jQuery("#gform_80")[0].checkValidity || jQuery("#gform_80")[0].checkValidity()){window["gf_submitting_80"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_80"]){return false;} if( !jQuery("#gform_80")[0].checkValidity || jQuery("#gform_80")[0].checkValidity()){window["gf_submitting_80"]=true;} jQuery("#gform_80").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_80' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='80' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_80' value='WyJbXSIsIjBiNjdjZjkyMDUzOWUxOWY5Y2NiZjIwMzM4YjA1Mjk4Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_80' id='gform_target_page_number_80' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_80' id='gform_source_page_number_80' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div><script type='text/javascript'> jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 80) {} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [80, 1]) } ); </script>
[i]
[i]