Flutter Webview에서 Javascript SDK 연동할 수 있는 방법이 있나요?

서 javascript SDK, "는 Promise ." .
는 flutter_webview .

// 카스텀 웹뷰 widget을 포함하는 widget 
class TossPayment extends StatelessWidget {
  final Widget? initialChild;
  final String clientKey;
  final PaymentData? data;
  final callback;
  final Set<Factory<OneSequenceGestureRecognizer>>? gestureRecognizers;

  TossPayment({
    Key? key,
    this.initialChild,
    required this.clientKey,
    required this.data,
    required this.callback,
    this.gestureRecognizers,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
        var redirectUrl = UrlData.redirectUrl;
      return TossPaymentsWebView(
        type: ActionType.payment,
        initialChild: this.initialChild,
        gestureRecognizers: this.gestureRecognizers,
        executeJS: (WebViewController controller) {
          controller.runJavascript('''
            var tossPayments = TossPayments("${this.clientKey}");
            tossPayments.requestPayment("카드", ${jsonEncode(this.data?.toJson())})
          ''');
        },
        customPGAction: (WebViewController controller) {
          return null;
        },
        useQueryData: (Map<String, String> data) {
          this.callback(data);
        },
        isPaymentOver: (String url) {
          if (url.startsWith(redirectUrl)) {
            return true;
          }

          return false;
        },
      );
  }
}
Was this page helpful?