In some library systems, each library has a customized sub-opac and a separate PayPal account. This is accomplished using the css and syspref override directives in the Apache conf. This all works great until a patron wants to make a PayPal payment. Let us assume OPACBaseURL is set to catalog.mylib.org, the generic unstyled OPAC. Each library then has a 'sub-opac' such as labA.catalog.mylib.lorg. If the patron is on an OPAC at libA.catalog.mylib.org, and makes a paypal payment, the patron will not be returned to libA.catalog.mylib.org. Instead, the patron will be send back to catalog.mylib.org. The simple solution is to use the CGI module to build a URL using the current base URL: $cgi->url( -base => 1 )
Created attachment 93817 [details] [review] Bug 23761 - Allow PayPal return url to be set based on current domain, not OPACBaseURL In some library systems, each library has a customized sub-opac and a separate PayPal account. This is accomplished using the css and syspref override directives in the Apache conf. This all works great until a patron wants to make a PayPal payment. Let us assume OPACBaseURL is set to catalog.mylib.org, the generic unstyled OPAC. Each library then has a 'sub-opac' such as labA.catalog.mylib.lorg. If the patron is on an OPAC at libA.catalog.mylib.org, and makes a paypal payment, the patron will not be returned to libA.catalog.mylib.org. Instead, the patron will be send back to catalog.mylib.org. The simple solution is to use the CGI module to build a URL using the current base URL: $cgi->url( -base => 1 ) Test Plan: 1) Set up sub-OPACs and PayPal ( production or sandbox mode ) 2) Initiate a payment from a sub-OPAC 3) Note you are returned to whatever is in OPACBaseURL 4) Apply this patch 5) Restart all the things! 6) Initiate a second payment from a sub-OPAC 7) Note that you are returned to the correct sub-OPAC url!
Created attachment 93818 [details] [review] Bug 23761 - Allow PayPal return url to be set based on current domain, not OPACBaseURL In some library systems, each library has a customized sub-opac and a separate PayPal account. This is accomplished using the css and syspref override directives in the Apache conf. This all works great until a patron wants to make a PayPal payment. Let us assume OPACBaseURL is set to catalog.mylib.org, the generic unstyled OPAC. Each library then has a 'sub-opac' such as labA.catalog.mylib.lorg. If the patron is on an OPAC at libA.catalog.mylib.org, and makes a paypal payment, the patron will not be returned to libA.catalog.mylib.org. Instead, the patron will be send back to catalog.mylib.org. The simple solution is to use the CGI module to build a URL using the current base URL: $cgi->url( -base => 1 ) Test Plan: 1) Set up sub-OPACs and PayPal ( production or sandbox mode ) 2) Initiate a payment from a sub-OPAC 3) Note you are returned to whatever is in OPACBaseURL 4) Apply this patch 5) Restart all the things! 6) Initiate a second payment from a sub-OPAC 7) Note that you are returned to the correct sub-OPAC url! Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: David Kuhn <kuhn@monterey.org>
Hi Kyle, could you please take a look at how bug 21701 might relate to this? We just got it signed off at the hackfest last week.
(In reply to Katrin Fischer from comment #3) > Hi Kyle, could you please take a look at how bug 21701 might relate to this? > We just got it signed off at the hackfest last week. That solves the same problem, albeit in a different way. I'll close my bug and QA that one :) *** This bug has been marked as a duplicate of bug 21701 ***
(In reply to Kyle M Hall from comment #4) > (In reply to Katrin Fischer from comment #3) > > Hi Kyle, could you please take a look at how bug 21701 might relate to this? > > We just got it signed off at the hackfest last week. > > That solves the same problem, albeit in a different way. I'll close my bug > and QA that one :) > > *** This bug has been marked as a duplicate of bug 21701 *** Cool - thx!