我在AngularJs中集成了方形支付网关,现在我不得不调用paymentForm.requestCardNonce()
,并且此方法在后台调用Web服务。现在,我必须等待后台调用,然后才能继续进行下一步。因此,我该如何处理Square Payment Gateway https://docs.connect.squareup.com/payments/sqpaymentform/setup提供的paymentForm.requestCardNonce()
方法中的回调
初始化代码示例
var paymentForm = new SqPaymentForm({
applicationId: "sandbox-xxx-xxxxxxxxxxxx",
inputClass: 'sq-input',
callbacks: {
cardNonceResponseReceived: function (errors, nonce, cardData, billingContact, shippingContact) {
// I am receiving response of web service Here
}
}
}
如何通过在自定义函数中调用方法来获得成功响应?(注意-它也可以工作并调用方法,但我必须根据来自Web服务的响应进行下一步)
addCard = function () {
paymentForm.requestCardNonce();
// Till this function executes I need to wait here. how can I write promise here ?
}
推荐链接 https://docs.connect.squareup.com/payments/sqpaymentform/how-it-works
https://github.com/square/connect-api-examples/tree/master/templates/web-ui/payment-form/basic
答案 0 :(得分:0)
为了后代,请从评论中拉出。
requestCardNonce
是异步的,完成后将调用cardNonceResponseReceived
,因此,如果要在函数完成后调用它,则应将其放在cardNonceResponseReceived
中。 / p>