braintree / braintree-web

A suite of tools for integrating Braintree in the browser
https://developer.paypal.com/braintree/docs/start/hello-client/javascript/v3
MIT License
444 stars 134 forks source link

paypal sometimes broken since 3.96.0 #691

Closed 719media closed 1 year ago

719media commented 1 year ago

General information

Issue description

When using version 3.96.0+, occasionally the Paypal onShippingChange handler will not include paymentId in the paypal data, which is required for using https://braintree.github.io/braintree-web/current/PayPalCheckout.html#updatePayment (and other endpoints as well). I can't determine the scenario that produces this result on production, but on my development instance I can replicate it.

Basically renders the paypal widget useless as a customer can't update shipping/complete a payment without a paymentId. The manifestation of this bug for me is that every shipping address looks undeliverable from paypal's standpoint, as the callback I send back to braintree using the upddatePayment methods results in an error that the paymentId is missing. Looking into the paypal data argument provided to the from braintree to the client in the onShippingChange handler, I can see that paymentId is indeed null.

Please advise, in my opinion this is a fairly serious bug as it prevents checkout!

jplukarski commented 1 year ago

Hey @719media, thanks for the report. I can reproduce this on my own test site. We'll take a look at this.

For internal tracking -> DTBTSDK-2902

avisra commented 1 year ago

We are running into this issue too - our paypal transactions through braintree are failing

jplukarski commented 1 year ago

@719media & @avisra , this issue has been resolved. Since the issue was in the PayPal backend, there shouldn't be a need to update the version.

Let us know if you are still running into any issues.

jplukarski commented 1 year ago

This issue has been resolved. If this issue happens again feel free to re-open.