Support

Home Forums Event Espresso Premium Quickbooks Payment Gateway Not Processing

Quickbooks Payment Gateway Not Processing

Posted: January 15, 2017 at 11:21 am

Viewing 3 reply threads


allisonplatt

January 15, 2017 at 11:21 am

During checkout when using the QuickBooks integration the page fails with a client side JavaScript error when submitting.

The error occurs in event-esspresso-core-reg/modules/single_page_checkout/js/single_page_checkout.js in the process next step function starting on line 734. The stack of the error debugged on the client is as follows:

Uncaught TypeError: SPCO.registration_session_expiration.getTime is not a function
at Object.process_next_step (single_page_checkout.js?ver=4.9.23.p&nocache=1:746)
at HTMLInputElement.<anonymous> (single_page_checkout.js?ver=4.9.23.p&nocache=1:410)
at HTMLDivElement.dispatch (jquery.js?ver=1.12.4&nocache=1:3)
at HTMLDivElement.r.handle (jquery.js?ver=1.12.4&nocache=1:3)
at Object.trigger (jquery.js?ver=1.12.4&nocache=1:3)
at Object.a.event.trigger (jquery-migrate.min.js?ver=1.4.1&nocache=1:2)
at HTMLInputElement.<anonymous> (jquery.js?ver=1.12.4&nocache=1:3)
at Function.each (jquery.js?ver=1.12.4&nocache=1:2)
at a.fn.init.each (jquery.js?ver=1.12.4&nocache=1:2)
at a.fn.init.trigger (jquery.js?ver=1.12.4&nocache=1:3)

process_next_step @ single_page_checkout.js?ver=4.9.23.p&nocache=1:746
(anonymous) @ single_page_checkout.js?ver=4.9.23.p&nocache=1:410
dispatch @ jquery.js?ver=1.12.4&nocache=1:3
r.handle @ jquery.js?ver=1.12.4&nocache=1:3
trigger @ jquery.js?ver=1.12.4&nocache=1:3
a.event.trigger @ jquery-migrate.min.js?ver=1.4.1&nocache=1:2
(anonymous) @ jquery.js?ver=1.12.4&nocache=1:3
each @ jquery.js?ver=1.12.4&nocache=1:2
each @ jquery.js?ver=1.12.4&nocache=1:2
trigger @ jquery.js?ver=1.12.4&nocache=1:3
(anonymous) @ eea-quickbooks-gtw.js?ver=1.0.0.p&nocache=1:271
xhr.onreadystatechange @ intuit.ipp.payments.sandbox-0.0.3.js?ver=0.0.3:76

At this point the client never posts to the server and the UI only displays a spinning gear and the order is never processed. The current workaround is to comment out the SPCO function within the if step = payment_options.

//SPCO.registration_session_expiration = SPCO.registration_session_expiration.setTime(
// SPCO.registration_session_expiration.getTime() + ( parseInt( eei18n.session_extension ) * 1000 )
//);

This is only a stopgap and likely the session expiration time being set may ultimately fail under some scenarios that we haven’t yet tested. Ideally the getTime exception should be properly resolved but we spent no time troubleshooting what the most appropriate fix would be not knowing the implications in EE.

This failure reliably occurs in multiple browsers, notably Chrome and Safari. Entire method as currently being used to workaround the issue:

/**
* @function process_next_step
* submit a step of registration form
* @param {object} next_step_btn
*/
process_next_step : function( next_step_btn ) {
//console.log( JSON.stringify( ‘**SPCO.process_next_step()**’, null, 4 ) );
var step = $(next_step_btn).attr(‘rel’);
// add trigger point so other JS can join the party
SPCO.main_container.trigger( ‘process_next_step’, [ step ] );
if ( typeof step !== ‘undefined’ && step !== ” && ! $(next_step_btn).hasClass(‘disabled’) ) {
if ( step === ‘payment_options’ ) {
// add time to session expiration (defaults to +10 minutes)

// ****DERTY***** BEGIN CHANGES
//The javascript here fails client side and the transaction never starts
//SPCO.registration_session_expiration = SPCO.registration_session_expiration.setTime(
// SPCO.registration_session_expiration.getTime() + ( parseInt( eei18n.session_extension ) * 1000 )
//);
//****DERTY****** END CHANGES
}
var next_step = SPCO.get_next_step_slug( step );
//SPCO.console_log( ‘process_next_step : step’, step, true );
//SPCO.console_log( ‘process_next_step : next_step’, next_step, false );
// which form is being processed ?
var form_to_check = ‘#ee-spco-‘+step+’-reg-step-form’;
// not disabled? you are NOW!!!
SPCO.disable_submit_buttons();
SPCO.submit_reg_form ( step, next_step, form_to_check );
return true;
}
return false;
},


Lorenzo Orlando Caum

  • Support Staff

January 16, 2017 at 8:47 am

Hi there,

The error that you reported does not look familiar so I setup Event Espresso 4.9.25 and the current QuickBooks on a testing site and connected it to the app.

Then I completed a paid registration: https://cl.ly/2V030w2d2u2x

Could you share more feedback about your site environment? If you go to your WordPress dashboard (WP-admin) –> Event Espresso –> Help & Support, then just past the mid way point on that page, you’ll see the Important Information section.

Could you share that information here in a reply please?

Also, I see that you have only QuickBooks running for payment processing but did you run into any other issues with any other payment methods?


Lorenzo


allisonplatt

January 16, 2017 at 9:28 am

WordPress Version: 4.7.1
PHP Version: 5.6.27
MySQL Version: 5.6.32
Event Espresso Version: 4.9.23.p
WordPress Address (URL): https://centrifugetraining.com
Site address (URL): https://centrifugetraining.com

We only need Quickbooks for payment so I haven’t tried any other payment method.


Josh

  • Support Staff

January 16, 2017 at 11:51 am

You can try updating to 4.9.25.p, then check to see if the error persists. If the error does persist after updating to 4.9.25.p, you can go to Event Espresso > General Settings > Admin Options, then you set Encode Session Data? to Yes.

Viewing 3 reply threads

The support post ‘Quickbooks Payment Gateway Not Processing’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso