我对使用 PayPal 有误解 react bindings结帐组件。
我的支付功能:
let payment = () => {
return new paypal.Promise(async (resolve, reject) => {
await appStore.payment.paypalCreatePayments();
if (!appStore.payment.paymentsError && appStore.payment.paypalToken.payment.id) {
resolve(appStore.payment.paypalToken.payment.id);
} else {
reject(appStore.payment.paymentsError);
alert('Payment failure! error:', appStore.payment.paymentsError);
}
});
};
和按钮组件:
PayPalButton = paypal.Button.driver('react', { React, ReactDOM });
<PayPalButton
client={client}
payment={payment}
commit={true}
env='sandbox'
onAuthorize={onAuthorize}
onCancel={onCancel}
onError={onError}
/>;
授权函数:
onAuthorize = async (data, actions) => {
await appStore.payment.paypalExecutePayments({
paymentID: data.paymentID,
payerID: data.payerID,
keys: appStore.payment.paypalToken.keys
});
actions.close();
if (!appStore.payment.paymentsError) {
this.props.paymentSuccess();
} else {
this.props.paymentFailure(appStore.payment.paymentsError);
}
};
当一切正常时,它工作正常。但是当我从服务器端收到错误消息(例如 404 或 500)时,Paypal 会抛出此错误消息:
Uncaught Error: No handler found for post message ack for message: postrobot_method from https://1b375a11.ngrok.io in https://www.sandbox.paypal.com/webapps/hermes/button
知道如何处理这个错误吗?
最佳答案
没有处理程序意味着在 paypal 结帐脚本完全加载之前呈现 paypal 按钮。
关于reactjs - Paypal 错误处理。找不到消息 postrobot_method 的消息确认处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50202769/