首页 > 解决方案 > 付款成功后我想导航到另一个页面

问题描述

我正在开发一个应用程序。付款成功后,我想导航到另一个页面。

这是我的应用付款方式的代码

void handlerPaymentSuccess() {    Navigator.push(context,  MaterialPageRoute(builder: (context) => Itemsbuy()));

我对此进行了编码以导航该页面,但是在付款成功后,这没有显示,但是在付款完成后,它仅显示来自razorpay的付款成功,但未显示我导航的页面。付款成功后,它会重定向到第二条路线,而不是重定向到 Itemsbuy();

 class SecondRoute extends StatefulWidget {


 @override


_SecondRouteState createState() => _SecondRouteState();}



class _SecondRouteState extends State<SecondRoute> {



 Razorpay razorpay;



TextEditingController textEditingController = new TextEditingController();



@override



void initState() {


 razorpay = new Razorpay();

razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, handlerPaymentSuccess);
razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, handlerPaymentError);
razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, handlerExternalWallet);

super.initState(); }



void handlerPaymentSuccess() {
 Navigator.push(context, MaterialPageRoute(builder: (context) => Itemsbuy()));//Items purchased}

这是我要推送的导航

void handlerPaymentError() 
{
print('error'); }




void handlerExternalWallet() 


  @override



void dispose() 

{
super.dispose();

razorpay.clear(); }






var options = {


"key": "empty",


 "amount": empty,


 "name": 'empty',


"Description": 'empty',
};
try {

  razorpay.open(options);

} catch (e) {

  debugPrint('error');

}}

谢谢你

标签: flutterflutter-layoutflutter-dependenciesflutter-animationflutter-test

解决方案


类 _Payment 扩展状态 { bool paymentDone = false;

@override
Widget build(BuildContext context) {
if (paymentDone == true) {
    return NewPage();
}
else{
    return CurrentPage(); 
}
}
void _handlePaymentSuccess(PaymentSuccessResponse response) async {
Fluttertoast.showToast(msg: "SUCCESS: " + response.paymentId, timeInSecForIosWeb: 4);
setState(() {
    paymentDone = true;
);}
}

}


推荐阅读