如何取消/防止 PayPal 的结帐模式在满足条件之前弹出?

How to cancel / prevent PayPal's checkout modal from popping up before a condition is met?

我正在尝试让 PayPal 的服务器端 REST 正常工作。

这是我正在使用的表格:

如果 amountemail 字段为空,我想做的是 阻止/取消 付款。

根据docs,点击按钮后调用payment()。文档介绍了如何处理 "optimistic" 用例,但是他们没有提到如何 取消 支付过程:

// payment() is called when the button is clicked
payment: function() {

    // Set up a url on your server to create the payment
    var CREATE_URL = '/demo/checkout/api/paypal/payment/create/';

    // Make a call to your server to set up the payment
    return paypal.request.post(CREATE_URL)
        .then(function(res) {
            return res.paymentID;
        });
},

简单地返回 null 似乎也不起作用。如何处理?

您不能直接在 payment() 函数中执行此操作,但您可以添加一个 validate() 函数,其中 enables/disables 按钮基于您的表单状态:

https://developer.paypal.com/demo/checkout/#/pattern/validation