在paytm付款成功后重定向回app(ios和android)

时间:2017-08-01 07:23:28

标签: paytm

付款成功后,Paytm会将用户重定向到mysite上的callback-url。如何将用户从回调网址返回的应用程序重定向回应用程序。

1 个答案:

答案 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")
}