startPaynowPayment<E> function
Future<PaynowPaymentResult>
startPaynowPayment<E>(
- BuildContext context, {
- required PaynowConfig paynowConfig,
- required CartRepository cartRepository,
- required PaynowPaymentInfo paynowPaymentInfo,
- required Widget onInitial(
- BuildContext context,
- PaynowInitialState initialState,
- List<
PaynowCartItem> cart
- required Widget onPending(
- BuildContext context,
- PaynowPendingState pendingState,
- List<
PaynowCartItem> cart
- required Widget onLoading(
- BuildContext context,
- PaynowLoadingState loadingState,
- List<
PaynowCartItem> cart
- required Widget onSuccess(
- BuildContext context,
- PaynowSuccessState successState,
- List<
PaynowCartItem> cart
- required Widget onFailed(
- BuildContext context,
- PaynowFailedState failedState,
- List<
PaynowCartItem> cart
- required Widget checkoutButtonBuilder(
- BuildContext context,
- PaynowBloc paynowBloc,
- CartRepository cartRepository
- bool? forceWebView,
- bool? forceSafariVC,
A simplfied function to start the payment from UI layer
Implementation
Future<PaynowPaymentResult> startPaynowPayment<E>(
BuildContext context,
{
required PaynowConfig paynowConfig,
required CartRepository cartRepository,
required PaynowPaymentInfo paynowPaymentInfo,
required Widget Function(BuildContext context, PaynowInitialState initialState, List<PaynowCartItem> cart) onInitial,
required Widget Function(BuildContext context, PaynowPendingState pendingState, List<PaynowCartItem> cart) onPending,
required Widget Function(BuildContext context, PaynowLoadingState loadingState, List<PaynowCartItem> cart) onLoading,
required Widget Function(BuildContext context, PaynowSuccessState successState, List<PaynowCartItem> cart) onSuccess,
required Widget Function(BuildContext context, PaynowFailedState failedState, List<PaynowCartItem> cart) onFailed,
required Widget Function(BuildContext context, PaynowBloc paynowBloc, CartRepository cartRepository) checkoutButtonBuilder,
bool? forceWebView,
bool? forceSafariVC,
}
)async{
final result = await Navigator.of(context).push(MaterialPageRoute(
builder: (_)=>PaynowBuilder(
paynowConfig: paynowConfig,
paynowPaymentInfo: paynowPaymentInfo,
cartRepository: cartRepository,
onInitial: onInitial,
onLoading: onLoading,
onPending: onPending,
onSuccess: onSuccess,
onFailed: onFailed,
checkoutButtonBuilder: checkoutButtonBuilder,
)
));
return result;
}