5

付款成功后,Paytm 将用户重定向到 mysite 上的回调 URL。如何将用户从回调 url 返回的视图重定向回应用程序。

4

1 回答 1

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")
}
于 2018-03-22T15:59:46.063 回答