Paypal-checkout-components: Error Handling

Created on 20 Sep 2017  路  4Comments  路  Source: paypal/paypal-checkout-components

How do you simulate, test and handle errors for payment buttons?

Besides the onAuthorize, is there something link an onError. Cant see anything on how to handle these things on the client side implementation.

outdated

Most helpful comment

@verysimplenick -- getting granular errors for execute for the client-side integration is a work in progress on our side. Issue is open here: https://github.com/paypal/paypal-checkout/issues/479

All 4 comments

We don't currently have a way to automatically simulate errors, but you can test manually by running the following in the dev console in the popup window:

window.xchild.error(new Error('something went wrong'))

The recommendation for handling the error is to log the error, report the issue here, and either:

  • Show an error message to the buyer
  • Show an alternate funding method

The paypal popup window will be automatically cleaned up, but the button will remain on the page.

Hi I try use client js sdk for express checkout and not found info about error handling too.
I tried:

return actions.payment.execute().then(function (payment) {
                        window.alert('Payment Complete!');
                    }).catch(function (error) {
                        console.debug(error);
                    });
                },
                onError: function(data, actions) {
                    // logging error, showing error popup and reloading page
                        console.debug(data);
                },

And I get stack trace with error message
default

How I can get error token or error message in readable format?

For this request I want get something like this DUPLICATE_TRANSACTION or error message in my locale.

default

@bluepnume Can you help me understand how I can get error message?

Full text

Error: Payment could not be executed
buildActions/actions<.payment.execute</<@https://www.sandbox.paypal.com/webapps/hermes/static/js/button.js?build=2.0.2_20170914193329136.unx:4163:35
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8075:46
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.reject@https://www.paypalobjects.com/api/checkout.js:8050:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8082:83
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.reject@https://www.paypalobjects.com/api/checkout.js:8050:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8071:37
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.reject@https://www.paypalobjects.com/api/checkout.js:8050:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8082:83
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8082:51
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/</<@https://www.paypalobjects.com/api/checkout.js:8085:33
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8065:54
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/</<@https://www.paypalobjects.com/api/checkout.js:8085:33
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8065:54
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/</<@https://www.paypalobjects.com/api/checkout.js:8085:33
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8065:54
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.reject@https://www.paypalobjects.com/api/checkout.js:8050:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8082:83
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.reject@https://www.paypalobjects.com/api/checkout.js:8050:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8067:33
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch/<@https://www.paypalobjects.com/api/checkout.js:8088:34
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.dispatch@https://www.paypalobjects.com/api/checkout.js:8062:26
./node_modules/zalgo-promise/src/promise.js/ZalgoPromise</ZalgoPromise.prototype.resolve@https://www.paypalobjects.com/api/checkout.js:8034:17
ZalgoPromise/<@https://www.paypalobjects.com/api/checkout.js:8011:42
request/</<@https://www.sandbox.paypal.com/webapps/hermes/static/js/button.js?build=2.0.2_20170914193329136.unx:3046:28

@verysimplenick -- getting granular errors for execute for the client-side integration is a work in progress on our side. Issue is open here: https://github.com/paypal/paypal-checkout/issues/479

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

Was this page helpful?
0 / 5 - 0 ratings