eileenmcnaughton / nz.co.fuzion.omnipaymultiprocessor

Omnipay Multi Processor Payment Processor For CiviCRM
Other
14 stars 44 forks source link

PayPal Checkout improvements #205

Open kurund opened 3 years ago

kurund commented 3 years ago

Current behavior

When one clicks on PayPal checkout button it adds an overlay on CiviCRM page and opens new window to collect the payment and other information.

The popup window closes after submission and it quickly removes overlay on CiviCRM page while the form is being redirected to confirmation or thank you page.

During this period there is slight delay and it might prompt user to click the PayPal button again.

Expected behavior

eileenmcnaughton commented 3 years ago

@kurund I think that is all coming from the paypal js - ie the js we include from paypal as opposed to stuff we bundle

mattwire commented 3 years ago

@kurund Did you see https://github.com/eileenmcnaughton/nz.co.fuzion.omnipaymultiprocessor/pull/166 ? It may not fix this issue and is probably not a "merge-ready" solution because it introduces a dependency on the paymentshared/mjwshared library. From my experience developing Stripe and other js-based payments (eg. see new https://lab.civicrm.org/extensions/globalpayments) the only sensible solution here is to have a shared javascript payment library such as CRM.payment that I have created - https://lab.civicrm.org/extensions/mjwshared/-/blob/1.1/js/crm.payment.js - you can see that is now at over 500 lines of code and provides a wide-range of helper functions to ensure js based processors work in all environments.

michaelmcandrew commented 3 years ago

thanks @mattwire - this looks useful. we'll take a look when we come back to this.