【发布时间】:2017-09-06 09:29:01
【问题描述】:
我正在尝试使用if error != nil 在 Swift 中处理来自 PFCloud 函数的错误。尽管 Cloud Code 或 Stripe 都没有返回错误,但 Swift 的响应就像有错误一样。
斯威夫特
PFCloud.callFunctionInBackground("authorize", withParameters: ["customer": self.customerID!, "cost": self.stripePrice, "type": self.stripeDescription) { (success: AnyObject?, error: NSError?) -> Void in
print("Authorizing")
if error != nil {
print("authorizeError")
self.displayAlert("Error", message: "There was an error authorizing your payment. Please try again later.")
} else {
if type == 1{
print("one")
self.performSegueWithIdentifier("one", sender: self)
self.viewTimer.invalidate()
self.cancelTimer.invalidate()
} else {
self.performSegueWithIdentifier("two", sender: self)
print("two")
self.viewTimer.invalidate()
self.cancelTimer.invalidate()
}
}
}
云代码 (Node.js)
Parse.Cloud.define("authorize", function(request, response){
var user = request.user;
stripe.charges.create({ amount: request.params.cost, currency: "cad", customer: request.params.customer, capture: false}).then(function(charge) {
user.set("chargeID", charge.id);
return user.save(null, { useMasterKey: true });
}).then(function(result) {
console.log(charge);
console.log(charge.id);
response.success(charge);
}, function(err) {
console.log(err);
console.log(charge.id)
response.error(err);
});
});
【问题讨论】:
标签: node.js swift stripe-payments parse-server parse-cloud-code