transactionConfirm method

void transactionConfirm()

결제 확인

Implementation

void transactionConfirm() {
  try {
    _jsBootpayConfirm().toDart.then((result) {
      final resultObj = result as JSObject;
      final eventVal = resultObj.getProperty('event'.toJS);
      String? event;
      if (eventVal != null && eventVal.isA<JSString>()) {
        event = (eventVal as JSString).toDart;
      }
      final jsonStr = _stringify(resultObj);

      if (event == 'issued') {
        _onIssued?.call(jsonStr);
      } else if (event == 'done') {
        hideContainer(); // 결제 완료 후 컨테이너 숨기기
        _onDone?.call(jsonStr);
      }
    }).catchError((error) {
      final errorObj = error as JSObject;
      final eventVal = errorObj.getProperty('event'.toJS);
      String? event;
      if (eventVal != null && eventVal.isA<JSString>()) {
        event = (eventVal as JSString).toDart;
      }
      final jsonStr = _stringify(errorObj);

      hideContainer(); // 에러/취소 시에도 컨테이너 숨기기

      if (event == 'error') {
        _onError?.call(jsonStr);
      } else if (event == 'cancel') {
        _onCancel?.call(jsonStr);
      }
    });
  } catch (e) {
    debugPrint('[BootpayWidgetController] Error confirming transaction: $e');
  }
}