我目前使用braintree作为我的应用程序的支付系统,我遇到的问题是,我没有办法找出如果卡被拒绝或接受之前,它继续到另一个视图控制器,请看看我当前的功能。提前谢谢你。
func postNonceToServer(paymentMethodNonce: String) {
let paymentURL = NSURL(string: "http://salesandsolutionsplus.com/braintree_php_api/public_html/checkout.php")!
let postAmount = formInfo["servicePrice"]!
let request = NSMutableURLRequest(URL: paymentURL)
request.HTTPBody = "payment_method_nonce=(paymentMethodNonce)&amount=(postAmount)".dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPMethod = "POST"
NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in
// TODO: Handle success or failure
let dbRef = FIRDatabase.database().reference()
let value = self.formInfo
if error != nil {
print(error)
return
}
dbRef.child("streetServices/Posts").childByAutoId().setValue(value, withCompletionBlock: { (error, fir) in
if error != nil {
print("alert error")
print(error)
return
}
// present confirmation after payment process
let next = self.storyboard?.instantiateViewControllerWithIdentifier("vc3") as! ConfirmationViewController
self.presentViewController(next, animated: true, completion: nil)
})
}.resume()
}
全面披露:我在Braintree工作。如果您还有任何问题,请联系技术支持。
来自Braintree_Transaction
的结果对象包含success
属性,该属性要么为真,要么为假。根据success
的值,您将获得transaction_result或错误结果以提供更多信息。一旦在服务器端代码中解析了此响应,您就可以将其以您选择的任何方式发送到客户机。