anchor.diff:    }
   
     VoidCallback _defaultOnPressed(
  -          VoidCallback? onPressed, List<PaymentItem> paymentItems) =>
  -      () async {
  -        onPressed?.call();
  -        onPaymentResult(
  -          await _payClient.showPaymentSelector(paymentItems: paymentItems),
  -        );
  -      };
  +      VoidCallback? onPressed, List<PaymentItem> paymentItems) {
  +    return () async {
  +      onPressed?.call();
  +      try {
  +        final result =
  +            await _payClient.showPaymentSelector(paymentItems: paymentItems);
  +        onPaymentResult(result);
  +      } catch (error) {
  +        onError?.call(error);
  +      }
  +    };
  +  }
   
     List<TargetPlatform> get _supportedPlatforms;
     Widget get _payButton;
  
positive.code:   final double height;
    final EdgeInsets margin;
  
    final Function(Map<String, dynamic> result) onPaymentResult;
    final Function(Object? error)? onError;
    final Widget? childOnError;
    final Widget? loadingIndicator;
  
  
negative.code:       builder: (context, snapshot) {
          if (snapshot.connectionState == ConnectionState.done) {
            if (snapshot.hasError) {
              widget.onError?.call(snapshot.error);
            }
  
            if (snapshot.data == true) {
  