tokenize method

Future<Map> tokenize(
  1. String merchantId
)

Implementation

Future<Map<dynamic, dynamic>> tokenize(String merchantId) async {
  String authHeader =
      AppUtils.getHttpHeaders(widget.config)["Authorization"]!;
  (html.document.getElementById("credit_card_form") as html.IFrameElement)
      .contentWindow
      ?.postMessage(
          jsonEncode({
            "source": "PEFlutter",
            "action": "submit",
            "data": {"merchantId": merchantId, "authHeader": authHeader}
          }),
          "*");

  Map<dynamic, dynamic> data = {};
  await Future.doWhile(() async {
    if (result.isNotEmpty) {
      data = Map.from(result);
      setState(() {
        result = {};
      });
      return false;
    }
    await Future.delayed(const Duration(seconds: 1));
    return true;
  });
  return data;
}