JavaScript conflict on the page
-
Error on the donation page: A problem has occurred with the connection between this site and PayPal, preventing donations. Please contact site administrators if reloading the page does not fix the issue. This is usually the result of some JavaScript conflict on the page.
Looking at the console, the error is from the file give/assets/dist/js/paypal-commerce.js?ver=2.24.2
Error message on console: GET https://www.paypal.com/sdk/js?client-id=xxx&merchant-id=xxx&components=hosted-fields,buttons&locale=en&disable-funding=credit&vault=false&enable-funding=venmo&intent=capture¤cy=USD net::ERR_ABORTED 400
Please note both client id and merchant id values on the error message above are replaced with ‘xxx’.
Thanks!
-
Hi @rebekahxd,
Glad you reached out, I’ll need a little more information to get started here:
First, send along your system information. You can do this by navigating to Donations > Tools > System Info (tab) and click the button to “Get System Report” and copy/paste that in your reply here.
I’ll also need the URL to your donation form.
Let’s also take a look at your error logs. You can do this by navigating to Dashboard > Donations > Tools > Logs. Here is a screencast you might find helpful: https://screencast-o-matic.com/watch/c3eD0AVFgVG.
From there, you’ll see a list of things that have been happening on your site. Look for errors that are PayPal related, and correlate to donations receiving that error you sent along. When you see one, click the eyeball icon next to it to open up a detailed view. Copy/paste that error code, and send it along to me.
The most common reason we see this error is because of caching. I won’t be able to verify if caching is your culprit until I see system information, but I’m including GiveWP’s recommendations for caching below, as a good first step in case they are helpful:
The fix here is a bit technical, so I’ll include as much detail as possible here, but you may need to reach out to your web developer or web support person to implement the recommendations I’ll be talking about below.
If you’re not familiar with caching, it’s a method of saving server resources by storing copies of a page or site, so that the next visitor’s visit doesn’t trigger a call to the server at all, they just get the copy that was saved. Basically instead of the site needing to recreate the page from scratch, it sends up a copy which allows it to load faster.
We put together this deep dive into what caching is and how it can cause problems: https://givewp.com/documentation/resources/caching/
Caching works really well for speeding up sites, but when a saved copy of the site has sensitive information in it (like donor info) it’s important that GiveWP not share that with the next visitor. If GiveWP is not convinced that the browser requesting the data is the correct one, it defaults to not showing the data.
Caching is handled differently on various sites and web hosts. This could mean a caching plugin, or caching could be in a security solution. Hosting providers also have settings for caching at the server level, and they can help make adjustments for you there. Most caching solutions have a setting or section for excluding specific URLs or parts of URLs (called “slugs”) from caching. At the very least, you should exclude the following slugs from caching:
/donations/
/donation-confirmation/
/donor-dashboard/
*any page with a donation form on it
Also, the following query strings (if your caching solution has a setting for them):
give-embed=donor-dashboard
giveDonationFormInIframe=1
Your host or the caching plugin/solution you are using can help with that. Some of them may require what’s called a “wildcard” like /donations/* to capture all subdirectories under the /donations/ folder.
Some folks prefer to customize the URLs to their site pages, so you may find that your URLs don’t have the slugs mentioned above, even though they contain the same content. In cases like those, we recommend whitelisting the page, not just the slug, that way the pages with those essential pieces of information are still excluded from caching. This is especially important for URLs of pages with donation forms on them.
One helpful tip: Check in with your hosting provider. Most hosts have caching at the server level, and they will be able to adjust this for you. You can also temporarily disable caching on the site to confirm that the uncached site isn’t showing the problem.
While fine-tuning cache falls outside the scope of the support we’re able to provide, your success with online donations is our number one priority, and we’re happy to provide any tips.
I know this was quite a bit of information to share. If you have any questions about this let me know, I’m happy to help.Hi Stephanie,
Thank you for the detailed reply.
Here is the system report:
{ "Payment Gateway": "paypal-commerce", "Donation": { "Object Class": "Give\\Donations\\Models\\Donation", "\u0000*\u0000properties": { "id": "int", "formId": "int", "formTitle": "string", "purchaseKey": "string", "donorIp": "string", "createdAt": "DateTime", "updatedAt": "DateTime", "status": "Give\\Donations\\ValueObjects\\DonationStatus", "type": "Give\\Donations\\ValueObjects\\DonationType", "mode": "Give\\Donations\\ValueObjects\\DonationMode", "amount": "Give\\Framework\\Support\\ValueObjects\\Money", "feeAmountRecovered": "Give\\Framework\\Support\\ValueObjects\\Money", "exchangeRate": [ "string", "1" ], "gatewayId": "string", "donorId": "int", "firstName": "string", "lastName": "string", "email": "string", "subscriptionId": [ "int", 0 ], "billingAddress": "Give\\Donations\\Properties\\BillingAddress", "anonymous": [ "bool", false ], "levelId": [ "string", "" ], "gatewayTransactionId": "string", "company": "string" }, "\u0000*\u0000relationships": { "donor": "belongs-to", "subscription": "belongs-to", "notes": "has-many" }, "\u0000*\u0000attributes": { "id": 950, "formId": 315, "formTitle": "Donate", "purchaseKey": "9790e309d973fd291eaf29057ce2da66", "donorIp": "193.36.225.212", "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "updatedAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "status": { "Object Class": "Give\\Donations\\ValueObjects\\DonationStatus", "\u0000*\u0000value": "pending" }, "type": { "Object Class": "Give\\Donations\\ValueObjects\\DonationType", "\u0000*\u0000value": "single" }, "mode": { "Object Class": "Give\\Donations\\ValueObjects\\DonationMode", "\u0000*\u0000value": "live" }, "amount": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "100", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "feeAmountRecovered": null, "exchangeRate": "1", "gatewayId": "paypal-commerce", "donorId": 29, "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "subscriptionId": 0, "billingAddress": { "Object Class": "Give\\Donations\\Properties\\BillingAddress", "country": "", "address1": "", "address2": "", "city": "", "state": "", "zip": "" }, "anonymous": false, "levelId": "", "gatewayTransactionId": null, "company": null }, "\u0000*\u0000original": { "id": null, "formId": 315, "formTitle": "Donate", "purchaseKey": null, "donorIp": "193.36.225.212", "createdAt": null, "updatedAt": null, "status": { "Object Class": "Give\\Donations\\ValueObjects\\DonationStatus", "\u0000*\u0000value": "pending" }, "type": null, "mode": { "Object Class": "Give\\Donations\\ValueObjects\\DonationMode", "\u0000*\u0000value": "live" }, "amount": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "100", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "feeAmountRecovered": null, "exchangeRate": "1", "gatewayId": "paypal-commerce", "donorId": 29, "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "subscriptionId": 0, "billingAddress": { "Object Class": "Give\\Donations\\Properties\\BillingAddress", "country": "", "address1": "", "address2": "", "city": "", "state": "", "zip": "" }, "anonymous": false, "levelId": "", "gatewayTransactionId": null, "company": null }, "\u0000Give\\Framework\\Models\\Model\u0000cachedRelations": { "donor": { "Object Class": "Give\\Donors\\Models\\Donor", "\u0000*\u0000properties": { "id": "int", "userId": [ "int", 0 ], "createdAt": "DateTime", "name": "string", "firstName": "string", "lastName": "string", "email": "string", "prefix": "string", "additionalEmails": [ "array", [] ], "totalAmountDonated": "Give\\Framework\\Support\\ValueObjects\\Money", "totalNumberOfDonations": "int" }, "\u0000*\u0000relationships": { "donations": "has-many", "subscriptions": "has-many" }, "\u0000*\u0000attributes": { "id": 29, "userId": 6, "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "name": "Rebekah Mendoza", "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "prefix": null, "additionalEmails": [], "totalAmountDonated": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "0", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "totalNumberOfDonations": 0 }, "\u0000*\u0000original": { "id": 29, "userId": 6, "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "name": "Rebekah Mendoza", "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "prefix": null, "additionalEmails": [], "totalAmountDonated": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "0", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "totalNumberOfDonations": 0 }, "\u0000Give\\Framework\\Models\\Model\u0000cachedRelations": [] } } } }
And here is the error from the logs:
Description: PayPal order id is missing. Category: Payment Gateway Source: PayPal Donations Date & Time: 2023-02-10 22:02:20
{ "Payment Gateway": "paypal-commerce", "Donation": { "Object Class": "Give\\Donations\\Models\\Donation", "\u0000*\u0000properties": { "id": "int", "formId": "int", "formTitle": "string", "purchaseKey": "string", "donorIp": "string", "createdAt": "DateTime", "updatedAt": "DateTime", "status": "Give\\Donations\\ValueObjects\\DonationStatus", "type": "Give\\Donations\\ValueObjects\\DonationType", "mode": "Give\\Donations\\ValueObjects\\DonationMode", "amount": "Give\\Framework\\Support\\ValueObjects\\Money", "feeAmountRecovered": "Give\\Framework\\Support\\ValueObjects\\Money", "exchangeRate": [ "string", "1" ], "gatewayId": "string", "donorId": "int", "firstName": "string", "lastName": "string", "email": "string", "subscriptionId": [ "int", 0 ], "billingAddress": "Give\\Donations\\Properties\\BillingAddress", "anonymous": [ "bool", false ], "levelId": [ "string", "" ], "gatewayTransactionId": "string", "company": "string" }, "\u0000*\u0000relationships": { "donor": "belongs-to", "subscription": "belongs-to", "notes": "has-many" }, "\u0000*\u0000attributes": { "id": 950, "formId": 315, "formTitle": "Donate", "purchaseKey": "9790e309d973fd291eaf29057ce2da66", "donorIp": "193.36.225.212", "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "updatedAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "status": { "Object Class": "Give\\Donations\\ValueObjects\\DonationStatus", "\u0000*\u0000value": "pending" }, "type": { "Object Class": "Give\\Donations\\ValueObjects\\DonationType", "\u0000*\u0000value": "single" }, "mode": { "Object Class": "Give\\Donations\\ValueObjects\\DonationMode", "\u0000*\u0000value": "live" }, "amount": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "100", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "feeAmountRecovered": null, "exchangeRate": "1", "gatewayId": "paypal-commerce", "donorId": 29, "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "subscriptionId": 0, "billingAddress": { "Object Class": "Give\\Donations\\Properties\\BillingAddress", "country": "", "address1": "", "address2": "", "city": "", "state": "", "zip": "" }, "anonymous": false, "levelId": "", "gatewayTransactionId": null, "company": null }, "\u0000*\u0000original": { "id": null, "formId": 315, "formTitle": "Donate", "purchaseKey": null, "donorIp": "193.36.225.212", "createdAt": null, "updatedAt": null, "status": { "Object Class": "Give\\Donations\\ValueObjects\\DonationStatus", "\u0000*\u0000value": "pending" }, "type": null, "mode": { "Object Class": "Give\\Donations\\ValueObjects\\DonationMode", "\u0000*\u0000value": "live" }, "amount": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "100", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "feeAmountRecovered": null, "exchangeRate": "1", "gatewayId": "paypal-commerce", "donorId": 29, "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "subscriptionId": 0, "billingAddress": { "Object Class": "Give\\Donations\\Properties\\BillingAddress", "country": "", "address1": "", "address2": "", "city": "", "state": "", "zip": "" }, "anonymous": false, "levelId": "", "gatewayTransactionId": null, "company": null }, "\u0000Give\\Framework\\Models\\Model\u0000cachedRelations": { "donor": { "Object Class": "Give\\Donors\\Models\\Donor", "\u0000*\u0000properties": { "id": "int", "userId": [ "int", 0 ], "createdAt": "DateTime", "name": "string", "firstName": "string", "lastName": "string", "email": "string", "prefix": "string", "additionalEmails": [ "array", [] ], "totalAmountDonated": "Give\\Framework\\Support\\ValueObjects\\Money", "totalNumberOfDonations": "int" }, "\u0000*\u0000relationships": { "donations": "has-many", "subscriptions": "has-many" }, "\u0000*\u0000attributes": { "id": 29, "userId": 6, "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "name": "Rebekah Mendoza", "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "prefix": null, "additionalEmails": [], "totalAmountDonated": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "0", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "totalNumberOfDonations": 0 }, "\u0000*\u0000original": { "id": 29, "userId": 6, "createdAt": { "Object Class": "DateTime", "date": "2023-02-10 14:02:20.000000", "timezone_type": 3, "timezone": "America/Los_Angeles" }, "name": "Rebekah Mendoza", "firstName": "Rebekah", "lastName": "Mendoza", "email": "[email protected]", "prefix": null, "additionalEmails": [], "totalAmountDonated": { "Object Class": "Give\\Framework\\Support\\ValueObjects\\Money", "\u0000Give\\Framework\\Support\\ValueObjects\\Money\u0000amount": { "Object Class": "Money\\Money", "\u0000Money\\Money\u0000amount": "0", "\u0000Money\\Money\u0000currency": { "Object Class": "Money\\Currency", "\u0000Money\\Currency\u0000code": "USD" } } }, "totalNumberOfDonations": 0 }, "\u0000Give\\Framework\\Models\\Model\u0000cachedRelations": [] } } } }
Site URL is https://veteranspayingitforward.org/
I am a web developer and knows about caching. There are no caching plugins used, and no caching enabled on the server, too.
Thanks!
Hi @rebekahxd ,
Thank you for sharing that information, the system report didn’t make it, but the errors were very helpful and pointed directly to the trouble. It looks like you are bumping into an issue we are actively investigating:?https://feedback.givewp.com/bug-reports/p/paypal-order-id-missing-error-should-not-prevent-donations-using-paypal-donation
We are still trying to isolate the exact cause of this issue, which has been very tricky because it is intermittent and appears to only affect specific PayPal accounts. We are exploring things from our end, and trying to determine if this was possibly caused by a change PayPal made to their API. That being said, we are not ignoring this issue. We are actively working to resolve it, but we will need more information before we can move forward.
At the moment the only workaround is to use a more reliable payment gateway like Stripe, or PayPal Standard (which uses an IPN instead of an API). I know this isn’t the news either of us want to hear, and I can appreciate that PayPal might be an essential payment solution for your organization. I’m linking your ticket so we can reach back out to update you once this issue is resolved, and you can use that link to track our progress or add details of your own.
I’m marking this as resolved for now, but if you have any other questions you can create a new ticket here and we’ll be happy to give things a look.
- The topic ‘JavaScript conflict on the page’ is closed to new replies.