I am just testing the use of the Paypal Express checkout button, but whenever I click the button as it appears in my React App, the Payment window pops up and disappears.
(我只是在测试Paypal Express结帐按钮的用法,但是每当我单击反应应用程序中显示的按钮时,“付款”窗口就会弹出并消失。)
The error is a 401: Invalid Authorization.(错误是401:无效授权。)
Things I have tried: Changing my Sandbox ID, creating a new app and starting from scratch, using https://www.npmjs.com/package/react-paypal-express-checkout as a template
(我尝试过的事情:使用https://www.npmjs.com/package/react-paypal-express-checkout作为模板,更改沙盒ID,创建新应用并从头开始)
The problem is that even when I do these things, the express checkout function just does not seem to work.
(问题是,即使我做这些事情,快速结帐功能似乎也不起作用。)
Here is the code that I used, including my Sandbox Testing ID for this app(这是我使用的代码,包括此应用程序的沙盒测试ID)
import PaypalExpressBtn from 'react-paypal-express-checkout';
export default class MyApp extends React.Component {
render() {
const onSuccess = (payment) => {
// Congratulation, it came here means everything's fine!
console.log("The payment was succeeded!", payment);
// You can bind the "payment" object's value to your state or props or whatever here, please see below for sample returned data
}
const onCancel = (data) => {
// User pressed "cancel" or close Paypal's popup!
console.log('The payment was cancelled!', data);
// You can bind the "data" object's value to your state or props or whatever here, please see below for sample returned data
}
const onError = (err) => {
// The main Paypal's script cannot be loaded or somethings block the loading of that script!
console.log("Error!", err);
// Because the Paypal's main script is loaded asynchronously from "https://www.paypalobjects.com/api/checkout.js"
// => sometimes it may take about 0.5 second for everything to get set, or for the button to appear
}
let env = 'sandbox'; // you can set here to 'production' for production
let currency = 'USD'; // or you can set this value from your props or state
let total = 1; // same as above, this is the total amount (based on currency) to be paid by using Paypal express checkout
// Document on Paypal's currency code: https://developer.paypal.com/docs/classic/api/currency_codes/
const client = {
sandbox: 'AQrbAVq-3CkyAKGU53fn5hCB7iFW6Pp8v3DnYpVQMeX6L2ibYJWUsYUSZXcN10IpLr_qaj6GJoUB7ZhP',
production: 'YOUR-PRODUCTION-APP-ID',
}
// In order to get production's app-ID, you will have to send your app to Paypal for approval first
// For sandbox app-ID (after logging into your developer account, please locate the "REST API apps" section, click "Create App"):
// => https://developer.paypal.com/docs/classic/lifecycle/sb_credentials/
// For production app-ID:
// => https://developer.paypal.com/docs/classic/lifecycle/goingLive/
// NB. You can also have many Paypal express checkout buttons on page, just pass in the correct amount and they will work!
return (
<PaypalExpressBtn env={env} client={client} currency={currency} total={total} onError={onError} onSuccess={onSuccess} onCancel={onCancel} />
);
}
}
I then simply call in my App.js file, and the button appears, but as I said, when I click on it, the window pops up and closes immediately.
(然后,我只是简单地调用我的App.js文件,然后出现按钮,但是正如我所说,当我单击它时,该窗口会弹出并立即关闭。)
Any help is appreciated!(任何帮助表示赞赏!)
ask by Ravi Patel translate from so
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…