// app/(lib)/actions/paymentAction.ts
"use server";

import { paymentService, PaymentPayload, PaymentResponse, SetupPaymentPayload } from "../services/paymentService";
import { extractDomain } from "../utils/domain";

export async function initiatePaymentAction(
  payload: PaymentPayload
): Promise<PaymentResponse> {
  try {
    const domain = await extractDomain();
    const response = await paymentService.initiatePayment(payload, domain);

   

    return response;
  } catch (error) {
    return {
      status: false,
      message: error instanceof Error ? error.message : "Failed to process payment",
    };
  }
}

export async function setupPaymentAction(
  payload: SetupPaymentPayload
): Promise<PaymentResponse> {
  try {
    const domain = await extractDomain();

    const response = await paymentService.setupPayment(payload, domain);

    return response;
  } catch (error) {
    return {
      status: false,
      message: error instanceof Error ? error.message : "Failed to setup payment",
    };
  }
}
