答案 0 :(得分:0)
添加这些功能
func showController(controller: PGTransactionViewController) {
if self.navigationController != nil {
self.navigationController!.pushViewController(controller, animated: true)
}
else {
self.present(controller, animated: true, completion: {() -> Void in
})
}
}
func removeController(controller: PGTransactionViewController) {
if self.navigationController != nil {
self.navigationController!.popViewController(animated: true)
}
else {
controller.dismiss(animated: true, completion: {() -> Void in
})
}
}
func showError(title:String, message:String, controller: PGTransactionViewController) {
let alertController = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert);
let ok = UIAlertAction(title: "No", style: UIAlertActionStyle.default) { (alert) in
alertController.dismiss(animated: true, completion: nil);
};
let goBack = UIAlertAction(title: attributedYesString.string, style: UIAlertActionStyle.default) { (alert) in
self.removeController(controller: controller)
};
alertController.addAction(ok);
alertController.addAction(goBack)
self.parent?.present(alertController, animated: true, completion: nil)
}
在Paytm功能中相应地调用这些功能。我将举例说明我是如何做到的。
func didFinishedResponse(_ controller: PGTransactionViewController!, response responseString: String!) {
print(responseString)
print("didfinish")
self.removeController(controller: controller)
}
func didCancelTrasaction(_ controller: PGTransactionViewController!) {
print("cancelled", "didcancel")
self.showError(title: "Your transaction will be cancelled", message: "Are you sure?", controller: controller)
}
func errorMisssingParameter(_ controller: PGTransactionViewController!, error: Error!) {
print(error, "missing")
}
func didSucceedTransaction(_ controller: PGTransactionViewController!, response: [AnyHashable : Any]!) {
print(response,"Transaction Successfull")
self.removeController(controller: controller)
}
func didFailTransaction(_ controller: PGTransactionViewController!, error: Error!, response: [AnyHashable : Any]!) {
self.removeController(controller: controller)
}
func didCancelTransaction(_ controller: PGTransactionViewController!, error: Error!, response: [AnyHashable : Any]!) {
print(error, response , "Transaction Cancelled")
self.removeController(controller: controller)
}
func didFinishCASTransaction(_ controller: PGTransactionViewController!, response: [AnyHashable : Any]!) {
print(response , "Transaction")
}