Thank you for getting back to me. The code I was dealing with was written by somebody back in 2018 (which is getting to be a very long time ago as these things go). I was able to rewrite what was one form with three different buttons so it was instead three separate forms - a minor pain but not too terrible. Once I got it all of them working I looked at the old code again and I cannot imagine how it was ever actually functioning correctly. It's a mystery, but I suspect that PayPal might have decided to be more strict about accepting requests that do not strictly follow the rules. In this case, there were values passed by the single form that were needed for one of the buttons but not for the others. I suspect that PayPal was happy to ignore the irrelevant values in 2018 but somebody decided that might be a security hole, so they rewrote their end to be more strict about the values they are passed. It certainly would have been simpler to figure this out if their failure report was updated to something that is not completely useless as well as misleading - that message "Things don't appear to be working at the moment. Please try again later" implies that there's nothing wrong with what you've sent them, but their systems are 'temporarily' out of service. That seems to be absolutely not the case. They KNOW that you've sent them extra values along with the specific hosted button that was clicked and they know that they do not accept those extra values. It would only be 'polite' to say so. I'm surmising, of course. Their docs are fairly impenetrable unless you've been doing nothing else but working with PayPal payments for the past 10 years or more and followed how they evolved from their humble and simple beginnings to the complex, behemoth capable of dealing with almost every variation on the sales and money collection behemoth they've become. Luckily for me, they are still supporting the (deprecated) very old and much simpler and more limited set of online money collection processes that they accepted 5 or more years ago. I think, in the end, I spent more time getting the credentials I needed from the site manager - who understands nothing about this stuff - than I did with updating the code.
... View more