So I have a customer project which is on the cusp of going live. We've finally got a bank account for our production PayPal account so I was going through changing configuration settings to test the new account and make sure it's running properly. This involves changing the "AppID" for the PayPal app created in the developer console, as well as changing the environment from "sandbox" to "production". I also had to contact CyberSource, a third party vendor, and get them to hook a couple things up. All this is going smoothly and finally I can test the new config. Failure. I want to blame CyberSource, but I can't because the problem never touches their code on my end. Also, the same error now happens in my Staging environment, which has never had the config change applied. This leads me to believe it's either some issue with my account that I can't see, or another problem with the CyberSource integration on PayPal or CyberSource's end. I don't know which it is because the error message is not useful to me. I tried using the bare-bones html sample button from https://developer.paypal.com/demo/checkout/#/pattern/client and I was able to get the button to work, there. This is why I think it's the integration that is gumming me up - out of the box that demo button isn't doing anything but talking to PayPal. Here's the error message from Chrome Developer tools: logger.js:65 ppxo_no_token_passed_to_payment Objectcountry: "US"env: "production"host: "localhost:5050"lang: "en"pageID: "bec3f62496"path: "/Orders/ppayment.aspx"prev_corr_ids: ""referer: "localhost:5050"timestamp: 1513193098060uid: "a5b122834b_ge4tumruhiydg"ver: "4.0.169"windowID: "cf0b651e88"__proto__: Object print @ logger.js:65 log @ logger.js:175 error @ logger.js:228 (anonymous) @ component.jsx:324 (anonymous) @ promise.js:150 ZalgoPromise.dispatch @ promise.js:198 ZalgoPromise.resolve @ promise.js:86 (anonymous) @ promise.js:44 (anonymous) @ promise.js:150 ZalgoPromise.dispatch @ promise.js:198 ZalgoPromise.resolve @ promise.js:86 (anonymous) @ promise.js:198 ZalgoPromise.dispatch @ promise.js:198 ZalgoPromise.resolve @ promise.js:86 (anonymous) @ promise.js:44 (anonymous) @ http.js:116 index.js:574 ppxo_unhandled_error Objectcountry: "US"env: "sandbox"errtype: "[object Error]"host: "www.sandbox.paypal.com"lang: "en"pageID: "f80a2a6a49"path: "/webapps/hermes/button"prev_corr_ids: ""referer: "http://localhost:5050"stack: "Error: No value passed to payment at https://www.paypalobjects.com/api/checkout.js:9749:43 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8888:48 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8966:42 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:3160:122) at receiveMessage (https://www.paypalobjects.com/api/checkout.js:3059:77) at messageListener (https://www.paypalobjects.com/api/checkout.js:3080:13)"timestamp: 1513193098070uid: "a5b122834b_ge4tumruhiydg"ver: "4.0.169"windowID: "0a3b0edb92"__proto__: Object window.console.window.console.(anonymous function) @ index.js:574 print @ logger.js:65 log @ logger.js:175 error @ logger.js:228 (anonymous) @ setup.js:33 dispatchPossiblyUnhandledError @ exceptions.js:18 (anonymous) @ promise.js:111 types.js:119 Uncaught Error: No value passed to payment at https://www.paypalobjects.com/api/checkout.js:9749:43 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8888:48 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8966:42 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at https://www.paypalobjects.com/api/checkout.js:9749:43 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8888:48 at https://www.paypalobjects.com/api/checkout.js:8943:54 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at ZalgoPromise.resolve (https://www.paypalobjects.com/api/checkout.js:8911:22) at https://www.paypalobjects.com/api/checkout.js:8966:42 at ZalgoPromise.dispatch (https://www.paypalobjects.com/api/checkout.js:8967:27) at Object._RECEIVE_MESSAGE_TYPE.(anonymous function) [as postrobot_message_response] (https://www.paypalobjects.com/api/checkout.js:3160:122) at receiveMessage (https://www.paypalobjects.com/api/checkout.js:3059:77) at messageListener (https://www.paypalobjects.com/api/checkout.js:3080:13) _RECEIVE_MESSAGE_TYPE.(anonymous function) @ types.js:119 receiveMessage @ index.js:112 messageListener @ index.js:138
... View more