我试图捕获不同金额的费用,但是我收到一条错误,说“没有这样的费用”,有时候金额应该低于收费金额。然而,最常见的错误是“没有这样的费用”,尽管收费不是零。
这是node.js中的Cloud Code函数:
Parse.Cloud.define("cancellationFee", function(request, response){
stripe.charges.capture({
charge: request.params.charge,
amount: 500,
destination: 500
}, function(err, charge) {
if(err){
console.log(err);
response.error(err);
}else{
console.log("Successfully captured cancellation fee");
response.success("captured cancellation fee");
}
});
});
Swift Code 费用变量不是零。
PFCloud.callFunctionInBackground("cancellationFee", withParameters: ["charge": chargeID]) { (success: AnyObject?, error: NSError?) -> Void in
if error == nil{
// code
}else{
// code
}
}
答案 0 :(得分:1)
对于仍然遇到此问题的一些人来说,正确的解决方案是首先将 charge_id 作为字符串传递,然后作为第二个参数传递数量在像这样的对象里面:
stripe.charges.capture( 'chargeIdExample3242', {amount: 23} );
答案 1 :(得分:0)
您确定错误不是因为将目的地设置为数字吗?目的地应为帐户ID。并且还应该在创建充电时设置,而不是捕获充电。您不应该向收费方法传递任何额外参数而不是您正在捕获的费用。
您也不应该在此处设置费用金额。