diff --git a/payment-iq/app/api/transactions/deposit/mockData.ts b/payment-iq/app/api/transactions/deposit/mockData.ts new file mode 100644 index 0000000..18c0faf --- /dev/null +++ b/payment-iq/app/api/transactions/deposit/mockData.ts @@ -0,0 +1,191 @@ +import { GridColDef } from "@mui/x-data-grid"; + + +export const depositTransactionDummyData = [ + { + id: 1, + userId: 17, + merchandId: 100987998, + transactionId: 1049131973, + depositMethod: "Card", + status: "Completed", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 2, + userId: 17, + merchandId: 100987998, + transactionId: 1049131973, + depositMethod: "Card", + status: "Completed", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 3, + userId: 17, + merchandId: 100987997, + transactionId: 1049131973, + depositMethod: "Card", + status: "Complete", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 4, + userId: 19, + merchandId: 100987997, + transactionId: 1049136973, + depositMethod: "Card", + status: "Completed", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 5, + userId: 19, + merchandId: 100987998, + transactionId: 1049131973, + depositMethod: "Card", + status: "Completed", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 6, + userId: 27, + merchandId: 100987997, + transactionId: 1049131973, + depositMethod: "Card", + status: "Pending", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 7, + userId: 175, + merchandId: 100987938, + transactionId: 1049136973, + depositMethod: "Card", + status: "Pending", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 8, + userId: 172, + merchandId: 100987938, + transactionId: 1049131973, + depositMethod: "Card", + status: "Pending", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-12 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 9, + userId: 174, + merchandId: 100987938, + transactionId: 1049131973, + depositMethod: "Bank Transfer", + status: "Inprogress", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 10, + userId: 7, + merchandId: 100987998, + transactionId: 1049131973, + depositMethod: "Bank Transfer", + status: "Inprogress", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 11, + userId: 1, + merchandId: 100987998, + transactionId: 1049131973, + depositMethod: "Bank Transfer", + status: "Error", + amount: 4000, + currency: "EUR", + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, +]; + +export const depositTransactionsColumns: GridColDef[] = [ + { field: "userId", headerName: "User ID", width: 130 }, + { field: "merchandId", headerName: "Merchant ID", width: 130 }, + { field: "transactionId", headerName: "Transaction ID", width: 130 }, + { field: "depositMethod", headerName: "Deposit Method", width: 130 }, + { field: "status", headerName: "Status", width: 130 }, + { field: "amount", headerName: "Amount", width: 130 }, + { field: "currency", headerName: "Currency", width: 130 }, + { field: "dateTime", headerName: "Date / Time", width: 130 }, + { field: "errorInfo", headerName: "Error Info", width: 130 }, + { field: "fraudScore", headerName: "Fraud Score", width: 130 }, +] + + +export const depositTransactionsSearchLabels = [ + { label: "User", field: "userId", type: "text" }, + { label: "Transaction ID", field: "transactionId", type: "text" }, + { + label: "Transaction Reference ID", + field: "transactionReferenceId", + type: "text", + }, + { + label: "Currency", + field: "currency", + type: "select", + options: ["USD", "EUR", "GBP"] + }, + { + label: "Status", + field: "status", + type: "select", + options: ["Pending","Inprogress", "Completed", "Failed"] + }, + { + label: "Payment Method", + field: "depositMethod", + type: "select", + options: ["Card", "Bank Transfer"] + }, + { label: "Date / Time", field: "dateTime", type: "date" }, +] \ No newline at end of file diff --git a/payment-iq/app/api/transactions/deposit/route.ts b/payment-iq/app/api/transactions/deposit/route.ts new file mode 100644 index 0000000..1f8d62b --- /dev/null +++ b/payment-iq/app/api/transactions/deposit/route.ts @@ -0,0 +1,57 @@ +import { NextRequest, NextResponse } from "next/server"; +import { depositTransactionDummyData, depositTransactionsColumns, depositTransactionsSearchLabels } from "./mockData"; +import { formatToDateTimeString } from "@/app/utils/formatDate"; + +export async function GET(request: NextRequest) { + const { searchParams } = new URL(request.url); + + const status = searchParams.get("status"); + const userId = searchParams.get("userId"); + const depositMethod = searchParams.get("depositMethod"); + const merchandId = searchParams.get("merchandId"); + const transactionId = searchParams.get("transactionId"); + const dateTime = searchParams.get("dateTime"); + + + let filteredTransactions = [...depositTransactionDummyData]; + + if (userId) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.userId.toString() === userId + ); + } + + if (status) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.status.toLowerCase() === status.toLowerCase() + ); + } + + if (depositMethod) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.depositMethod.toLowerCase() === depositMethod.toLowerCase() + ); + } + if (merchandId) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.merchandId.toString() === merchandId + ); + } + if (transactionId) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.transactionId.toString() === transactionId + ); + } + + if (dateTime) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.dateTime.split(" ")[0] === formatToDateTimeString(dateTime).split(" ")[0] + ); + } + + return NextResponse.json({ + filteredTransactions: filteredTransactions, + transactionsSearchLabels: depositTransactionsSearchLabels, + transactionsColumns: depositTransactionsColumns + }); +} diff --git a/payment-iq/app/api/transactions/withdrawal/mockData.ts b/payment-iq/app/api/transactions/withdrawal/mockData.ts new file mode 100644 index 0000000..3c7918c --- /dev/null +++ b/payment-iq/app/api/transactions/withdrawal/mockData.ts @@ -0,0 +1,176 @@ +import { GridColDef } from "@mui/x-data-grid"; + +export const withdrawalTransactionDummyData = [ + { + id: 1, + userId: 17, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 2, + userId: 17, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 3, + userId: 17, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Complete", + amount: 4000, + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 4, + userId: 19, + transactionId: 1049136973, + withdrawalMethod: "Bank Transfer", + status: "Completed", + amount: 4000, + dateTime: "2025-06-18 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 5, + userId: 19, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 6, + userId: 27, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 7, + userId: 1, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 8, + userId: 172, + transactionId: 1049131973, + withdrawalMethod: "Card", + status: "Pending", + amount: 4000, + dateTime: "2025-06-12 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 9, + userId: 174, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Inprogress", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + }, + { + id: 10, + userId: 1, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, + { + id: 11, + userId: 1, + transactionId: 1049131973, + withdrawalMethod: "Bank Transfer", + status: "Error", + amount: 4000, + dateTime: "2025-06-17 10:10:30", + errorInfo: "-", + fraudScore: "frad score 1234", + manualCorrectionFlag: "-", + informationWhoApproved: "-", + }, +]; + +export const withdrawalTransactionsColumns: GridColDef[] = [ + { field: "userId", headerName: "User ID", width: 130 }, + { field: "transactionId", headerName: "Transaction ID", width: 130 }, + { field: "withdrawalMethod", headerName: "Withdrawal Method", width: 130 }, + { field: "status", headerName: "Status", width: 130 }, + { field: "amount", headerName: "Amount", width: 130 }, + { field: "dateTime", headerName: "Date / Time", width: 130 }, + { field: "errorInfo", headerName: "Error Info", width: 130 }, + { field: "fraudScore", headerName: "Fraud Score", width: 130 }, + { + field: "manualCorrectionFlag", + headerName: "Manual Correction Flag", + width: 130, + }, + { + field: "informationWhoApproved", + headerName: "Information who approved", + width: 130, + }, +]; + +export const withdrawalTransactionsSearchLabels = [ + { + label: "Status", + field: "status", + type: "select", + options: ["Pending", "Inprogress", "Completed", "Failed"], + }, + { + label: "Payment Method", + field: "depositMethod", + type: "select", + options: ["Card", "Bank Transfer"], + }, + { label: "Date / Time", field: "dateTime", type: "date" }, +]; diff --git a/payment-iq/app/api/transactions/withdrawal/route.ts b/payment-iq/app/api/transactions/withdrawal/route.ts new file mode 100644 index 0000000..d0f22cd --- /dev/null +++ b/payment-iq/app/api/transactions/withdrawal/route.ts @@ -0,0 +1,45 @@ +import { NextRequest, NextResponse } from "next/server"; +import { withdrawalTransactionDummyData, withdrawalTransactionsColumns, withdrawalTransactionsSearchLabels } from "./mockData" +import { formatToDateTimeString } from "@/app/utils/formatDate"; + +export async function GET(request: NextRequest) { + const { searchParams } = new URL(request.url); + + const userId = searchParams.get("userId"); + const status = searchParams.get("status"); + const dateTime = searchParams.get("dateTime"); + const withdrawalMethod = searchParams.get("withdrawalMethod"); + + + let filteredTransactions = [...withdrawalTransactionDummyData]; + + if (userId) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.userId.toString() === userId + ); + } + + if (status) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.status.toLowerCase() === status.toLowerCase() + ); + } + + if (withdrawalMethod) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.withdrawalMethod.toLowerCase() === withdrawalMethod.toLowerCase() + ); + } + + if (dateTime) { + filteredTransactions = filteredTransactions.filter( + (tx) => tx.dateTime.split(" ")[0] === formatToDateTimeString(dateTime).split(" ")[0] + ); + } + + return NextResponse.json({ + filteredTransactions: filteredTransactions, + transactionsColumns: withdrawalTransactionsColumns, + transactionsSearchLabels: withdrawalTransactionsSearchLabels + }); +} diff --git a/payment-iq/app/components/searchFilter/SearchFilters.tsx b/payment-iq/app/components/searchFilter/SearchFilters.tsx index 82f5692..bacce04 100644 --- a/payment-iq/app/components/searchFilter/SearchFilters.tsx +++ b/payment-iq/app/components/searchFilter/SearchFilters.tsx @@ -1,31 +1,57 @@ -// components/SearchFilters.js import React from 'react'; import { Box, Chip, Typography, Button } from '@mui/material'; +import { useRouter, useSearchParams } from 'next/navigation'; -const SearchFilters = ({ filters, onDeleteFilter, onClearAll }) => { - const renderChip = (label, value, key) => ( +interface SearchFiltersProps { + filters: Record; +} + +const SearchFilters = ({ filters }: SearchFiltersProps) => { + const router = useRouter(); + const filterLabels: Record = { + userId: "User", + state: "State", + startDate: "Start Date", + // Add others here + }; + const searchParams = useSearchParams() + const handleDeleteFilter = (key: string) => { + const params = new URLSearchParams(searchParams.toString()); + params.delete(key); + router.push(`?${params.toString()}`); + }; + + + const onClearAll = () => { + router.push("?"); + } + + const renderChip = (label: string, value: string, key: string) => ( - {label} {value} + + {label}: {value} } - onDelete={() => onDeleteFilter(key)} + onDelete={() => handleDeleteFilter(key)} sx={{ mr: 1, mb: 1 }} /> ); return ( - {filters.user && renderChip('User', filters.user, 'user')} - {filters.state && renderChip('State', filters.state, 'state')} - {filters.startDate && renderChip('Start Date', filters.startDate, 'startDate')} + {Object.entries(filters).map(([key, value]) => + value ? renderChip(filterLabels[key] ?? key, value, key) : null + )} {Object.values(filters).some(Boolean) && ( @@ -34,4 +60,5 @@ const SearchFilters = ({ filters, onDeleteFilter, onClearAll }) => { ); }; + export default SearchFilters; diff --git a/payment-iq/app/dashboard/transactions/deposits/page.tsx b/payment-iq/app/dashboard/transactions/deposits/page.tsx new file mode 100644 index 0000000..922a508 --- /dev/null +++ b/payment-iq/app/dashboard/transactions/deposits/page.tsx @@ -0,0 +1,23 @@ +import TransactionsTable from "@/app/features/Pages/Transactions/TransactionsTable"; +import { getTransactions } from "@/app/services/transactions"; + +export default async function DepositTransactionPage({ + searchParams, +}: { + searchParams: Promise>; +}) { + // Await searchParams before processing + const params = await searchParams; + // Create a safe query string by filtering only string values + const safeParams: Record = {}; + for (const [key, value] of Object.entries(params)) { + if (typeof value === "string") { + safeParams[key] = value; + } + } + const query = new URLSearchParams(safeParams).toString(); + const transactionType = 'deposit'; + const data = await getTransactions({ transactionType, query }); + + return ; +} diff --git a/payment-iq/app/dashboard/transactions/history/page.tsx b/payment-iq/app/dashboard/transactions/history/page.tsx new file mode 100644 index 0000000..922a508 --- /dev/null +++ b/payment-iq/app/dashboard/transactions/history/page.tsx @@ -0,0 +1,23 @@ +import TransactionsTable from "@/app/features/Pages/Transactions/TransactionsTable"; +import { getTransactions } from "@/app/services/transactions"; + +export default async function DepositTransactionPage({ + searchParams, +}: { + searchParams: Promise>; +}) { + // Await searchParams before processing + const params = await searchParams; + // Create a safe query string by filtering only string values + const safeParams: Record = {}; + for (const [key, value] of Object.entries(params)) { + if (typeof value === "string") { + safeParams[key] = value; + } + } + const query = new URLSearchParams(safeParams).toString(); + const transactionType = 'deposit'; + const data = await getTransactions({ transactionType, query }); + + return ; +} diff --git a/payment-iq/app/dashboard/transactions/page.tsx b/payment-iq/app/dashboard/transactions/page.tsx deleted file mode 100644 index 64e0f47..0000000 --- a/payment-iq/app/dashboard/transactions/page.tsx +++ /dev/null @@ -1,13 +0,0 @@ -// This ensures this component is rendered only on the client side - -import TransactionTable from "@/app/features/Pages/Transactions/Transactions"; - - -export default function TransactionPage() { - return ( -
- {/* This page will now be rendered on the client-side */} - -
- ); -} diff --git a/payment-iq/app/dashboard/transactions/withdrawals/page.tsx b/payment-iq/app/dashboard/transactions/withdrawals/page.tsx new file mode 100644 index 0000000..2800942 --- /dev/null +++ b/payment-iq/app/dashboard/transactions/withdrawals/page.tsx @@ -0,0 +1,23 @@ +import TransactionsTable from "@/app/features/Pages/Transactions/TransactionsTable"; +import { getTransactions } from "@/app/services/transactions"; + +export default async function DepositTransactionPage({ + searchParams, +}: { + searchParams: Promise>; +}) { + // Await searchParams before processing + const params = await searchParams; + // Create a safe query string by filtering only string values + const safeParams: Record = {}; + for (const [key, value] of Object.entries(params)) { + if (typeof value === "string") { + safeParams[key] = value; + } + } + const query = new URLSearchParams(safeParams).toString(); +const transactionType = 'withdrawal'; +const data = await getTransactions({ transactionType, query }); + + return ; +} diff --git a/payment-iq/app/features/AdvancedSearch/AdvancedSearch.tsx b/payment-iq/app/features/AdvancedSearch/AdvancedSearch.tsx index 9c03417..79db3d2 100644 --- a/payment-iq/app/features/AdvancedSearch/AdvancedSearch.tsx +++ b/payment-iq/app/features/AdvancedSearch/AdvancedSearch.tsx @@ -1,4 +1,3 @@ -import { useState } from "react"; import { Box, TextField, @@ -9,168 +8,70 @@ import { Select, Typography, Stack, + debounce, } from "@mui/material"; import { DatePicker } from "@mui/x-date-pickers/DatePicker"; import { AdapterDateFns } from "@mui/x-date-pickers/AdapterDateFns"; import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider"; import SearchIcon from "@mui/icons-material/Search"; import RefreshIcon from "@mui/icons-material/Refresh"; +import { useSearchParams, useRouter } from "next/navigation"; +import { useState, useEffect, useMemo } from "react"; -const currencies = ["USD", "EUR", "GBP"]; -const states = ["Pending", "Completed", "Failed"]; -const transactionTypes = ["Credit", "Debit"]; -const paymentMethods = ["Card", "Bank Transfer"]; -export default function AdvancedSearch({ setForm, form, resetForm }) { +interface ILabel { + label: string; + field: string; + type: string; + options?: string[]; +} + +export default function AdvancedSearch({ labels }: { labels: ILabel[] }) { + const searchParams = useSearchParams(); + const router = useRouter(); const [open, setOpen] = useState(false); + const [formValues, setFormValues] = useState>({}); - const handleChange = (field: string, value: any) => { - setForm((prev) => ({ ...prev, [field]: value })); + useEffect(() => { + const initialParams = Object.fromEntries(searchParams.entries()); + setFormValues(initialParams); + }, [searchParams]); + + + const updateURL = useMemo( + () => + debounce((newValues: Record) => { + const updatedParams = new URLSearchParams(); + Object.entries(newValues).forEach(([key, value]) => { + if (value) updatedParams.set(key, value); + }); + router.push(`?${updatedParams.toString()}`); + }, 500), + [router] + ); + + const handleFieldChange = (field: string, value: string) => { + const updatedValues = { ...formValues, [field]: value }; + setFormValues(updatedValues); + updateURL(updatedValues); }; - const toggleDrawer = - (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { - if ( - event.type === "keydown" && - ((event as React.KeyboardEvent).key === "Tab" || - (event as React.KeyboardEvent).key === "Shift") - ) { - return; - } + const resetForm = () => { + setFormValues({}); + router.push("?"); + }; - setOpen(open); - }; + const toggleDrawer = (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => { + if ( + event.type === "keydown" && + ((event as React.KeyboardEvent).key === "Tab" || + (event as React.KeyboardEvent).key === "Shift") + ) { + return; + } + setOpen(open); + }; - const list = () => ( - - - - - - Search - - {/* Buttons */} - - - - - - - {[ - { label: "Keyword", field: "keyword", type: "text" }, - { label: "Transaction ID", field: "transactionID", type: "text" }, - { - label: "Transaction Reference ID", - field: "transactionReferenceId", - type: "text", - }, - { label: "User", field: "user", type: "text" }, - { - label: "Currency", - field: "currency", - type: "select", - options: currencies, - }, - { - label: "State", - field: "state", - type: "select", - options: states, - }, - { - label: "Status Description", - field: "statusDescription", - type: "text", - }, - { - label: "Transaction Type", - field: "transactionType", - type: "select", - options: transactionTypes, - }, - { - label: "Payment Method", - field: "paymentMethod", - type: "select", - options: paymentMethods, - }, - { label: "PSPs", field: "psps", type: "text" }, - { label: "Initial PSPs", field: "initialPsps", type: "text" }, - { label: "Merchants", field: "merchants", type: "text" }, - { label: "Start Date", field: "startDate", type: "date" }, - { label: "End Date", field: "endDate", type: "date" }, - { - label: "Last Updated From", - field: "lastUpdatedFrom", - type: "date", - }, - { - label: "Last Updated To", - field: "lastUpdatedTo", - type: "date", - }, - { label: "Min Amount", field: "minAmount", type: "text" }, - { label: "Max Amount", field: "maxAmount", type: "text" }, - { label: "Channel", field: "channel", type: "text" }, - ].map(({ label, field, type, options }) => ( - - - {label} - - {type === "text" && ( - handleChange(field, e.target.value)} - /> - )} - {type === "select" && ( - - - - )} - {type === "date" && ( - handleChange(field, newValue)} - renderInput={(params) => ( - - )} - /> - )} - - ))} - - - - - ); return ( - {/* */} + - {list()} + + + + + + Search + + + + - - - { - // Check if the click is on a specific column - // Do something when this specific column is clicked - handleClickField(params.field, params.value); - console.log("Clicked cell value:", params.value); // The cell's value - console.log("Column field:", params.field); // The column's field name (from your columns definition) - console.log("Column header:", params.colDef.headerName); // The column's display name // Your custom logic here - }} - /> - - {/* Export Dialog */} - setOpen(false)}> - Export Transactions - - - - - setOnlyCurrentTable(e.target.checked)} - /> - } - label="Only export the results in the current table" - sx={{ mt: 2 }} - /> - - - - - - - - ); -} - -const StyledPaper = styled(Paper)(() => ({ - height: "90vh", -})); diff --git a/payment-iq/app/features/Pages/transactions/TransactionsTable.tsx b/payment-iq/app/features/Pages/transactions/TransactionsTable.tsx new file mode 100644 index 0000000..95bbc8e --- /dev/null +++ b/payment-iq/app/features/Pages/transactions/TransactionsTable.tsx @@ -0,0 +1,130 @@ +"use client"; +import { useState } from "react"; +import { useSearchParams, useRouter } from "next/navigation"; +import { + Button, + Dialog, + DialogTitle, + DialogContent, + DialogActions, + FormControl, + Select, + MenuItem, + FormControlLabel, + Checkbox, + Stack, + Paper, + TextField, +} from "@mui/material"; +import FileUploadIcon from "@mui/icons-material/FileUpload"; +import { DataGrid } from "@mui/x-data-grid"; +import AdvancedSearch from "../../AdvancedSearch/AdvancedSearch"; +import SearchFilters from "@/app/components/searchFilter/SearchFilters"; +import { exportData } from "@/app/utils/exportData"; +import { ITransaction } from "./types"; + + +const paginationModel = { page: 0, pageSize: 50 }; + +interface IDepositProps { + res: ITransaction +} + +const TransactionsTable = ({ res }: IDepositProps) => { + const {filteredTransactions, transactionsColumns, transactionsSearchLabels} = res; + const router = useRouter() + const searchParams = useSearchParams() + + + const [open, setOpen] = useState(false); + const [fileType, setFileType] = useState<"csv" | "xls" | "xlsx">("csv"); + const [onlyCurrentTable, setOnlyCurrentTable] = useState(false); + + const filters = Object.fromEntries(searchParams.entries()); + + + const handleClickField = (field: string, value: string) => { + const params = new URLSearchParams(searchParams.toString()) + params.set(field, value) + router.push(`?${params.toString()}`) + router.refresh() + }; + + + return ( + + + console.log(`setSearchQuery(${e.target.value})`)} + sx={{ width: 300 }} + /> + + + + + + { + handleClickField(params.field, params.value as string) + }} + /> + + {/* Export Dialog */} + setOpen(false)}> + Export Transactions + + + + + setOnlyCurrentTable(e.target.checked)} + /> + } + label="Only export the results in the current table" + sx={{ mt: 2 }} + /> + + + + + + + + ); +} + +export default TransactionsTable diff --git a/payment-iq/app/features/Pages/transactions/constants.ts b/payment-iq/app/features/Pages/transactions/constants.ts index ccccd1b..e34fa3b 100644 --- a/payment-iq/app/features/Pages/transactions/constants.ts +++ b/payment-iq/app/features/Pages/transactions/constants.ts @@ -119,3 +119,50 @@ export const columns: GridColDef[] = [ // { field: 'originTransactionId', headerName: 'Origin Transaction ID', type: 'number', width: 90 }, // { field: 'transactionReferenceId', headerName: 'Transaction Reference ID', type: 'number', width: 90 }, ]; + +export const depositTransactionsColumns = [ + { field: "userId", headerName: "User ID", width: 130 }, + { field: "merchandId", headerName: "Merchant ID", width: 130 }, + { field: "transactionId", headerName: "Transaction ID", width: 130 }, + { field: "depositMethod", headerName: "Deposit Method", width: 130 }, + { field: "status", headerName: "Status", width: 130 }, + { field: "amount", headerName: "Amount", width: 130 }, + { field: "currency", headerName: "Currency", width: 130 }, + { field: "dateTime", headerName: "Date / Time", width: 130 }, + { field: "errorInfo", headerName: "Error Info", width: 130 }, + { field: "fraudScore", headerName: "Fraud Score", width: 130 }, +] + + +export const currencies = ["USD", "EUR", "GBP"]; +export const states = ["Pending","Inprogress", "Completed", "Failed"]; +export const depositMethod = ["Card", "Bank Transfer"]; + +export const Labels = [ + { label: "User", field: "userId", type: "text" }, + { label: "Transaction ID", field: "transactionId", type: "text" }, + { + label: "Transaction Reference ID", + field: "transactionReferenceId", + type: "text", + }, + { + label: "Currency", + field: "currency", + type: "select", + options: currencies, + }, + { + label: "Status", + field: "status", + type: "select", + options: states, + }, + { + label: "Payment Method", + field: "depositMethod", + type: "select", + options: depositMethod, + }, + { label: "Date / Time", field: "dateTime", type: "date" }, +] diff --git a/payment-iq/app/features/Pages/transactions/mockData.ts b/payment-iq/app/features/Pages/transactions/mockData.ts deleted file mode 100644 index 6fac954..0000000 --- a/payment-iq/app/features/Pages/transactions/mockData.ts +++ /dev/null @@ -1,2745 +0,0 @@ -export const rows = [ - { - id: 1, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 2, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 3, - merchandId: 100987995, - transactionID: 1049131975, - user: 17, - created: "2025-06-18 10:10:30", - state: "Completed", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 4, - merchandId: 100987995, - transactionID: 1049131975, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 5, - merchandId: 100987995, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 6, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 7, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 8, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 9, - merchandId: 100987998, - transactionID: 1049131975, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 10, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 11, - merchandId: 100987998, - transactionID: 1049131975, - user: 17, - created: "2025-06-18 10:10:30", - state: "Pending", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 12, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 13, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 14, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 15, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 16, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 17, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 18, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 19, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 20, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 21, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 22, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 23, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 24, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 25, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 26, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, - { - id: 27, - merchandId: 100987998, - transactionID: 1049131973, - user: 17, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - pspStatusMessage: "", - psp: "BestPay", - pspAccount: "LUQAPAY_MANUALPAPARA_FTD", - initPSP: "BestPay", - initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", - pspService: "MWALLET_PAPARA", - transactionType: "BankDeposit", - paymentMethod: "Deposit", - rules: [ - "100987998_PM_01_01", - "100987998_RO_02_01", - "100987998_LI_06_01", - "100987998_FO_01_01", - ], - amount: 50.0, - fee: 0.0, - transactionAmount: 1, - baseAmount: 43.43, - baseFee: 0.0, - baseTransaction: 43.43, - pspFee: "", // value was missing - basePspFee: "", // value was missing - authAmount: 0.0, - baseAuthAmount: 0.0, - userBalance: 1, - updated: "2025-06-18 10:10:31", - userIp: "213.217.206.91", - channel: "Windows", - depositType: "Standard", - userEmal: "dhkheni1@yopmail.com", - userCategory: "", - userCountry: "TUR", - userAccount: "", - bankName: "", - pspUserReference: "N/A", - pspFraudScore: "", - fraudStatus: "", - blocked: "", - abuse: "", - kycStatus: "", - kycPSPName: "", - kycPSPStatus: "", - kycIdStatus: "", - kycAddressStatus: "", - kycAgeStatus: "", - kycPEPAndSanction: "", - pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", - info: "Drashti 1", - accountHolder: "Prabhudarshan", - firstName: "Surat", - lastName: 395010, - street: "2007-01-03", - city: 15125898569, - zip: "", - dob: "Msida", - mobile: "L-Imsida", - lastUpdatedBy: "MLT", - ipCity: "", - ipRegion: "", - ipCountry: "", - cardIssuerCountry: "FALSE", - cardBand: "FALSE", - cardCategory: "FALSE", - cardIssuerName: "FALSE", - inn: "FALSE", - cardType: "FALSE", - firstAttempt: 1049131973, - firstSuccessful: "", // no value provided - firstTransaction: "", // no value provided - firstPspAcountAttempt: "", // no value provided - firstPspAcountSuccessful: "", // no value provided - originTransactionId: "", // no value provided - transactionReferenceId: "", // no value provided - }, -]; - -// export const transactionDummyData = [ -// { -// id: 1, -// merchandId: 100987998, -// transactionID: 1049131973, -// user: 17, -// created: "2025-06-18 10:10:30", -// state: "FAILED", -// statusDescription: "ERR_ABOVE_LIMIT", -// pspStatusCode: 100501, -// pspStatusMessage: "", -// psp: "BestPay", -// pspAccount: "LUQAPAY_MANUALPAPARA_FTD", -// initPSP: "BestPay", -// initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", -// pspService: "MWALLET_PAPARA", -// transactionType: "BankDeposit", -// paymentMethod: "Deposit", -// rules: [ -// "100987998_PM_01_01", -// "100987998_RO_02_01", -// "100987998_LI_06_01", -// "100987998_FO_01_01", -// ], -// amount: 50.0, -// fee: 0.0, -// transactionAmount: 1, -// baseAmount: 43.43, -// baseFee: 0.0, -// baseTransaction: 43.43, -// pspFee: "", // value was missing -// basePspFee: "", // value was missing -// authAmount: 0.0, -// baseAuthAmount: 0.0, -// userBalance: 1, -// updated: "2025-06-18 10:10:31", -// userIp: "213.217.206.91", -// channel: "Windows", -// depositType: "Standard", -// userEmal: "dhkheni1@yopmail.com", -// userCategory: "", -// userCountry: "TUR", -// userAccount: "", -// bankName: "", -// pspUserReference: "N/A", -// pspFraudScore: "", -// fraudStatus: "", -// blocked: "", -// abuse: "", -// kycStatus: "", -// kycPSPName: "", -// kycPSPStatus: "", -// kycIdStatus: "", -// kycAddressStatus: "", -// kycAgeStatus: "", -// kycPEPAndSanction: "", -// pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// info: "Drashti 1", -// accountHolder: "Prabhudarshan", -// firstName: "Surat", -// lastName: 395010, -// street: "2007-01-03", -// city: 15125898569, -// zip: "", -// dob: "Msida", -// mobile: "L-Imsida", -// lastUpdatedBy: "MLT", -// ipCity: "", -// ipRegion: "", -// ipCountry: "", -// cardIssuerCountry: "FALSE", -// cardBand: "FALSE", -// cardCategory: "FALSE", -// cardIssuerName: "FALSE", -// inn: "FALSE", -// cardType: "FALSE", -// firstAttempt: 1049131973, -// firstSuccessful: "", // no value provided -// firstTransaction: "", // no value provided -// firstPspAcountAttempt: "", // no value provided -// firstPspAcountSuccessful: "", // no value provided -// originTransactionId: "", // no value provided -// transactionReferenceId: "", // no value provided -// }, -// { -// id: 2, -// merchandId: 100987998, -// transactionID: 1049131973, -// user: 17, -// created: "2025-06-18 10:10:30", -// state: "FAILED", -// statusDescription: "ERR_ABOVE_LIMIT", -// pspStatusCode: 100501, -// pspStatusMessage: "", -// psp: "BestPay", -// pspAccount: "LUQAPAY_MANUALPAPARA_FTD", -// initPSP: "BestPay", -// initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", -// pspService: "MWALLET_PAPARA", -// transactionType: "BankDeposit", -// paymentMethod: "Deposit", -// rules: [ -// "100987998_PM_01_01", -// "100987998_RO_02_01", -// "100987998_LI_06_01", -// "100987998_FO_01_01", -// ], -// amount: 50.0, -// fee: 0.0, -// transactionAmount: 1, -// baseAmount: 43.43, -// baseFee: 0.0, -// baseTransaction: 43.43, -// pspFee: "", // value was missing -// basePspFee: "", // value was missing -// authAmount: 0.0, -// baseAuthAmount: 0.0, -// userBalance: 1, -// updated: "2025-06-18 10:10:31", -// userIp: "213.217.206.91", -// channel: "Windows", -// depositType: "Standard", -// userEmal: "dhkheni1@yopmail.com", -// userCategory: "", -// userCountry: "TUR", -// userAccount: "", -// bankName: "", -// pspUserReference: "N/A", -// pspFraudScore: "", -// fraudStatus: "", -// blocked: "", -// abuse: "", -// kycStatus: "", -// kycPSPName: "", -// kycPSPStatus: "", -// kycIdStatus: "", -// kycAddressStatus: "", -// kycAgeStatus: "", -// kycPEPAndSanction: "", -// pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// info: "Drashti 1", -// accountHolder: "Prabhudarshan", -// firstName: "Surat", -// lastName: 395010, -// street: "2007-01-03", -// city: 15125898569, -// zip: "", -// dob: "Msida", -// mobile: "L-Imsida", -// lastUpdatedBy: "MLT", -// ipCity: "", -// ipRegion: "", -// ipCountry: "", -// cardIssuerCountry: "FALSE", -// cardBand: "FALSE", -// cardCategory: "FALSE", -// cardIssuerName: "FALSE", -// inn: "FALSE", -// cardType: "FALSE", -// firstAttempt: 1049131973, -// firstSuccessful: "", // no value provided -// firstTransaction: "", // no value provided -// firstPspAcountAttempt: "", // no value provided -// firstPspAcountSuccessful: "", // no value provided -// originTransactionId: "", // no value provided -// transactionReferenceId: "", // no value provided -// }, -// { -// id: 3, -// merchandId: 100987995, -// transactionID: 1049131975, -// user: 17, -// created: "2025-06-18 10:10:30", -// state: "Completed", -// statusDescription: "ERR_ABOVE_LIMIT", -// pspStatusCode: 100501, -// pspStatusMessage: "", -// psp: "BestPay", -// pspAccount: "LUQAPAY_MANUALPAPARA_FTD", -// initPSP: "BestPay", -// initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", -// pspService: "MWALLET_PAPARA", -// transactionType: "BankDeposit", -// paymentMethod: "Deposit", -// rules: [ -// "100987998_PM_01_01", -// "100987998_RO_02_01", -// "100987998_LI_06_01", -// "100987998_FO_01_01", -// ], -// amount: 50.0, -// fee: 0.0, -// transactionAmount: 1, -// baseAmount: 43.43, -// baseFee: 0.0, -// baseTransaction: 43.43, -// pspFee: "", // value was missing -// basePspFee: "", // value was missing -// authAmount: 0.0, -// baseAuthAmount: 0.0, -// userBalance: 1, -// updated: "2025-06-18 10:10:31", -// userIp: "213.217.206.91", -// channel: "Windows", -// depositType: "Standard", -// userEmal: "dhkheni1@yopmail.com", -// userCategory: "", -// userCountry: "TUR", -// userAccount: "", -// bankName: "", -// pspUserReference: "N/A", -// pspFraudScore: "", -// fraudStatus: "", -// blocked: "", -// abuse: "", -// kycStatus: "", -// kycPSPName: "", -// kycPSPStatus: "", -// kycIdStatus: "", -// kycAddressStatus: "", -// kycAgeStatus: "", -// kycPEPAndSanction: "", -// pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// info: "Drashti 1", -// accountHolder: "Prabhudarshan", -// firstName: "Surat", -// lastName: 395010, -// street: "2007-01-03", -// city: 15125898569, -// zip: "", -// dob: "Msida", -// mobile: "L-Imsida", -// lastUpdatedBy: "MLT", -// ipCity: "", -// ipRegion: "", -// ipCountry: "", -// cardIssuerCountry: "FALSE", -// cardBand: "FALSE", -// cardCategory: "FALSE", -// cardIssuerName: "FALSE", -// inn: "FALSE", -// cardType: "FALSE", -// firstAttempt: 1049131973, -// firstSuccessful: "", // no value provided -// firstTransaction: "", // no value provided -// firstPspAcountAttempt: "", // no value provided -// firstPspAcountSuccessful: "", // no value provided -// originTransactionId: "", // no value provided -// transactionReferenceId: "", // no value provided -// }, -// { -// id: 4, -// merchandId: 100987995, -// transactionID: 1049131975, -// user: 17, -// created: "2025-06-18 10:10:30", -// state: "FAILED", -// statusDescription: "ERR_ABOVE_LIMIT", -// pspStatusCode: 100501, -// pspStatusMessage: "", -// psp: "BestPay", -// pspAccount: "LUQAPAY_MANUALPAPARA_FTD", -// initPSP: "BestPay", -// initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", -// pspService: "MWALLET_PAPARA", -// transactionType: "BankDeposit", -// paymentMethod: "Deposit", -// rules: [ -// "100987998_PM_01_01", -// "100987998_RO_02_01", -// "100987998_LI_06_01", -// "100987998_FO_01_01", -// ], -// amount: 50.0, -// fee: 0.0, -// transactionAmount: 1, -// baseAmount: 43.43, -// baseFee: 0.0, -// baseTransaction: 43.43, -// pspFee: "", // value was missing -// basePspFee: "", // value was missing -// authAmount: 0.0, -// baseAuthAmount: 0.0, -// userBalance: 1, -// updated: "2025-06-18 10:10:31", -// userIp: "213.217.206.91", -// channel: "Windows", -// depositType: "Standard", -// userEmal: "dhkheni1@yopmail.com", -// userCategory: "", -// userCountry: "TUR", -// userAccount: "", -// bankName: "", -// pspUserReference: "N/A", -// pspFraudScore: "", -// fraudStatus: "", -// blocked: "", -// abuse: "", -// kycStatus: "", -// kycPSPName: "", -// kycPSPStatus: "", -// kycIdStatus: "", -// kycAddressStatus: "", -// kycAgeStatus: "", -// kycPEPAndSanction: "", -// pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// info: "Drashti 1", -// accountHolder: "Prabhudarshan", -// firstName: "Surat", -// lastName: 395010, -// street: "2007-01-03", -// city: 15125898569, -// zip: "", -// dob: "Msida", -// mobile: "L-Imsida", -// lastUpdatedBy: "MLT", -// ipCity: "", -// ipRegion: "", -// ipCountry: "", -// cardIssuerCountry: "FALSE", -// cardBand: "FALSE", -// cardCategory: "FALSE", -// cardIssuerName: "FALSE", -// inn: "FALSE", -// cardType: "FALSE", -// firstAttempt: 1049131973, -// firstSuccessful: "", // no value provided -// firstTransaction: "", // no value provided -// firstPspAcountAttempt: "", // no value provided -// firstPspAcountSuccessful: "", // no value provided -// originTransactionId: "", // no value provided -// transactionReferenceId: "", // no value provided -// }, -// { -// id: 5, -// merchandId: 100987995, -// transactionID: 1049131973, -// user: 17, -// created: "2025-06-18 10:10:30", -// state: "FAILED", -// statusDescription: "ERR_ABOVE_LIMIT", -// pspStatusCode: 100501, -// pspStatusMessage: "", -// psp: "BestPay", -// pspAccount: "LUQAPAY_MANUALPAPARA_FTD", -// initPSP: "BestPay", -// initPSPAccout: "LUQAPAY_MANUALPAPARA_FTD", -// pspService: "MWALLET_PAPARA", -// transactionType: "BankDeposit", -// paymentMethod: "Deposit", -// rules: [ -// "100987998_PM_01_01", -// "100987998_RO_02_01", -// "100987998_LI_06_01", -// "100987998_FO_01_01", -// ], -// amount: 50.0, -// fee: 0.0, -// transactionAmount: 1, -// baseAmount: 43.43, -// baseFee: 0.0, -// baseTransaction: 43.43, -// pspFee: "", // value was missing -// basePspFee: "", // value was missing -// authAmount: 0.0, -// baseAuthAmount: 0.0, -// userBalance: 1, -// updated: "2025-06-18 10:10:31", -// userIp: "213.217.206.91", -// channel: "Windows", -// depositType: "Standard", -// userEmal: "dhkheni1@yopmail.com", -// userCategory: "", -// userCountry: "TUR", -// userAccount: "", -// bankName: "", -// pspUserReference: "N/A", -// pspFraudScore: "", -// fraudStatus: "", -// blocked: "", -// abuse: "", -// kycStatus: "", -// kycPSPName: "", -// kycPSPStatus: "", -// kycIdStatus: "", -// kycAddressStatus: "", -// kycAgeStatus: "", -// kycPEPAndSanction: "", -// pspReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// siteReferenceId: "Merchant: Reached deposit limit max. MaxLimit is 3.57", -// info: "Drashti 1", -// accountHolder: "Prabhudarshan", -// firstName: "Surat", -// lastName: 395010, -// street: "2007-01-03", -// city: 15125898569, -// zip: "", -// dob: "Msida", -// mobile: "L-Imsida", -// lastUpdatedBy: "MLT", -// ipCity: "", -// ipRegion: "", -// ipCountry: "", -// cardIssuerCountry: "FALSE", -// cardBand: "FALSE", -// cardCategory: "FALSE", -// cardIssuerName: "FALSE", -// inn: "FALSE", -// cardType: "FALSE", -// firstAttempt: 1049131973, -// firstSuccessful: "", // no value provided -// firstTransaction: "", // no value provided -// firstPspAcountAttempt: "", // no value provided -// firstPspAcountSuccessful: "", // no value provided -// originTransactionId: "", // no value provided -// transactionReferenceId: "", // no value provided -// }, -// ]; -export const transactionDummyData = [ - { - id: 1, - merchandId: 100987998, - transactionID: 1049131973, - user: 1, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - }, - { - id: 2, - merchandId: 100987998, - transactionID: 1049131973, - user: 2, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - }, - { - id: 3, - merchandId: 100987998, - transactionID: 1049131973, - user: 3, - created: "2025-06-18 10:10:30", - state: "Completed", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - }, - { - id: 4, - merchandId: 100987998, - transactionID: 1049131973, - user: 4, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - }, - { - id: 5, - merchandId: 100987998, - transactionID: 1049131973, - user: 5, - created: "2025-06-18 10:10:30", - state: "FAILED", - statusDescription: "ERR_ABOVE_LIMIT", - pspStatusCode: 100501, - }, -]; diff --git a/payment-iq/app/features/Pages/transactions/types.ts b/payment-iq/app/features/Pages/transactions/types.ts new file mode 100644 index 0000000..886eff4 --- /dev/null +++ b/payment-iq/app/features/Pages/transactions/types.ts @@ -0,0 +1,32 @@ +interface IDepositTransactionsColumns { + field: string; + headerName: string; + width: number; +} + +interface IFilteredTransactions { + id: number; + userId: number; + merchandId: number; + transactionId: number; + depositMethod: string; + status: string; + amount: number; + currency: string; + dateTime: string; + errorInfo: string; + fraudScore: string; +} + +interface IDepositTransactionsSearchLabels { + label: string; + field: string; + type: string; + options?: string[]; +} + +export interface ITransaction { + filteredTransactions: IFilteredTransactions[]; + transactionsColumns: IDepositTransactionsColumns[]; + transactionsSearchLabels: IDepositTransactionsSearchLabels[]; +} diff --git a/payment-iq/app/features/dashboard/sidebar/SidebarLink.constants.ts b/payment-iq/app/features/dashboard/sidebar/SidebarLink.constants.ts index c732888..f7bb406 100644 --- a/payment-iq/app/features/dashboard/sidebar/SidebarLink.constants.ts +++ b/payment-iq/app/features/dashboard/sidebar/SidebarLink.constants.ts @@ -10,14 +10,36 @@ import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings"; import InsightsIcon from "@mui/icons-material/Insights"; import ListAltIcon from "@mui/icons-material/ListAlt"; import SettingsIcon from "@mui/icons-material/Settings"; + +import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'; +import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'; +import HistoryIcon from '@mui/icons-material/History'; + import { ISidebarLink } from "@/app/features/dashboard/sidebar/SidebarLink.interfaces"; export const PAGE_LINKS: ISidebarLink[] = [ { title: "Home", path: "/dashboard", icon: HomeIcon }, + { title: "Transaction", path: "/dashboard/transactions", - icon: AccountBalanceWalletIcon, + icon: AccountBalanceWalletIcon, children: [ + { + title: "Deposits", + path: "/dashboard/transactions/deposits", + icon: ArrowDownwardIcon, + }, + { + title: "Withdrawals", + path: "/dashboard/transactions/withdrawals", + icon: ArrowUpwardIcon, + }, + { + title: "Transaction History", + path: "/dashboard/transactions/history", + icon: HistoryIcon, + }, + ], }, { title: "Approve", path: "/dashboard/approve", icon: CheckCircleIcon }, { title: "Investigate", path: "/dashboard/investigate", icon: SearchIcon }, diff --git a/payment-iq/app/services/transactions.ts b/payment-iq/app/services/transactions.ts new file mode 100644 index 0000000..08d73a4 --- /dev/null +++ b/payment-iq/app/services/transactions.ts @@ -0,0 +1,13 @@ +export async function getTransactions({ transactionType, query }: { transactionType: string, query: string }) { + const res = await fetch(`http://localhost:3000/api/transactions/${transactionType}?${query}`, { + cache: "no-store", + }); + + if (!res.ok) { + // Handle error from the API + const errorData = await res.json().catch(() => ({ message: 'Unknown error' })); + throw new Error(errorData.message || `HTTP error! status: ${res.status}`); + } + + return res.json(); +} diff --git a/payment-iq/app/utils/exportData.ts b/payment-iq/app/utils/exportData.ts new file mode 100644 index 0000000..17121fa --- /dev/null +++ b/payment-iq/app/utils/exportData.ts @@ -0,0 +1,37 @@ +import * as XLSX from "xlsx"; +import { GridColDef } from "@mui/x-data-grid"; +export type FileType = "csv" | "xls" | "xlsx"; +import { saveAs } from "file-saver"; + +import type { ITransaction } from "../features/Pages/Transactions/types"; + + +export const exportData = ( + transactions: ITransaction[], + columns: GridColDef[], + fileType: FileType = "csv", + onlyCurrentTable = false, + setOpen: (open: boolean) => void +) => { + const exportRows = onlyCurrentTable ? transactions.slice(0, 5) : transactions; + const exportData = [ + columns.map((col) => col.headerName), + ...exportRows.map((row) => columns.map((col) => row[col.field] ?? "")), + ]; + + const worksheet = XLSX.utils.aoa_to_sheet(exportData); + const workbook = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(workbook, worksheet, "Transactions"); + + if (fileType === "csv") { + const csv = XLSX.utils.sheet_to_csv(worksheet); + const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" }); + saveAs(blob, "transactions.csv"); + } else { + XLSX.writeFile(workbook, `transactions.${fileType}`, { + bookType: fileType, + }); + } + + setOpen(false); + }; diff --git a/payment-iq/app/utils/formatDate.ts b/payment-iq/app/utils/formatDate.ts new file mode 100644 index 0000000..93c2071 --- /dev/null +++ b/payment-iq/app/utils/formatDate.ts @@ -0,0 +1,13 @@ +export const formatToDateTimeString = (dateString: string): string => { + const date = new Date(dateString); + + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); // months are 0-indexed + const day = String(date.getDate()).padStart(2, '0'); + + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + const seconds = String(date.getSeconds()).padStart(2, '0'); + + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; +} \ No newline at end of file