requestPaymentDirect method

void requestPaymentDirect({
  1. Payload? payload,
  2. BootpayDefaultCallback? onError,
  3. BootpayDefaultCallback? onCancel,
  4. BootpayCloseCallback? onClose,
  5. BootpayDefaultCallback? onIssued,
  6. BootpayConfirmCallback? onConfirm,
  7. BootpayAsyncConfirmCallback? onConfirmAsync,
  8. BootpayDefaultCallback? onDone,
})

결제 요청 (전체화면 전환 없이 기존 웹뷰에서 직접 실행) iOS Swift SDK와 동일하게 기존 웹뷰에서 결제 진행

Implementation

void requestPaymentDirect({
  Payload? payload,
  BootpayDefaultCallback? onError,
  BootpayDefaultCallback? onCancel,
  BootpayCloseCallback? onClose,
  BootpayDefaultCallback? onIssued,
  BootpayConfirmCallback? onConfirm,
  BootpayAsyncConfirmCallback? onConfirmAsync,
  BootpayDefaultCallback? onDone,
}) {
  if (payload == null) {
    debugPrint('[BootpayWidgetController] requestPaymentDirect - payload is null');
    return;
  }

  debugPrint('[BootpayWidgetController] requestPaymentDirect called');

  // 콜백 저장
  _onError = onError;
  _onCancel = onCancel;
  _onClose = onClose;
  _onIssued = onIssued;
  _onConfirm = onConfirm;
  _onConfirmAsync = onConfirmAsync;
  _onDone = onDone;

  // 웹뷰 컨트롤러에 결제 콜백 설정
  _setupPaymentCallbacks();

  // 기존 웹뷰에서 직접 결제 요청
  _webViewController?.requestPayment(payload: payload);
}