+ {activeTab === 'detail' && transactionDetails?.kind === 'P' && (
+
+
+ Transaction Information
+
+ Info
+
+
+
+
+
Transaction Date
+
{transactionDetails?.transaction_date}
+
+
+
Full Name
+
{transactionDetails?.origin_customer.fullname}
+
+
+
Amount
+
{new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(transactionDetails?.purchase.amount)}
+
+
+
Fee
+
+ {transactionDetails?.kind === 'P'
+ ? transactionDetails?.purchase.fee_amount.toLocaleString('en-US', { style: 'currency', currency: 'USD' })
+ : transactionDetails?.transfer.fee_amount.toLocaleString('en-US', { style: 'currency', currency: 'USD' })}
+
+
+
+
Status
+
+ {(() => {
+ let status;
+ if (transactionDetails?.status === 'C') {
+ status = 'COMPLETE';
+ } else if (transactionDetails?.status === 'F') {
+ status = 'FAILED';
+ } else if (transactionDetails?.status === 'O') {
+ status = 'ON PROCESS';
+ } else {
+ status = 'PENDING';
+ }
+ return status;
+ })()}
+
+
+
+
Transaction Type
+
+ {(() => {
+ let kind;
+ if (transactionDetails?.kind === 'T') {
+ kind = 'TRANSFER';
+ } else if (transactionDetails?.kind === 'P') {
+ kind = 'PURCHASE';
+ } else if (transactionDetails?.kind === 'W') {
+ kind = 'WITHDRAW';
+ } else if (transactionDetails?.kind === 'U') {
+ kind = 'TOP UP';
+ } else if (transactionDetails?.kind === 'R') {
+ kind = 'RETURN';
+ }
+ return kind;
+ })()}
+
+
+
+
Description
+
{transactionDetails?.description}
+
+
+
Name
+
{transactionDetails?.type.name}
+
+
+
+
+ Origin Wallet
+
+ Wallet
+
+
+
+
+
Name
+
{transactionDetails?.origin_wallet.name}
+
+
+
Description
+
{transactionDetails?.origin_wallet.description}
+
+
+
+
+ Purchase
+
+ Purchase
+
+
+
+
+
Amount
+
{new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(transactionDetails?.purchase.amount)}
+
+
+
Cashback
+
{new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(transactionDetails?.purchase.cashback)}
+
+
+
Cashback Point
+
{transactionDetails?.purchase.cashback_point}
+
+
+
Fee Amount
+
{new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(transactionDetails?.purchase.fee_amount)}
+
+
+
+ )}
+
+ {activeTab === 'detail' && transactionDetails?.kind != 'P' && transactionDetails?.transfer!=null && (
+
+
+ Transaction Information
+
+ Info
+
+
+
+
+
Transaction Date
+
{transactionDetails?.transaction_date}
+
+
+
Full Name
+
{transactionDetails?.origin_customer.fullname}
+
+
+
Amount
+
{new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(transactionDetails?.transfer.amount)}
+
+
+
Fee
+
+ {transactionDetails?.transfer.fee_amount.toLocaleString('en-US', { style: 'currency', currency: 'USD' })}
+
+
+
+
Status
+
+ {(() => {
+ let status;
+ if (transactionDetails?.status === 'C') {
+ status = 'COMPLETE';
+ } else if (transactionDetails?.status === 'F') {
+ status = 'FAILED';
+ } else if (transactionDetails?.status === 'O') {
+ status = 'ON PROCESS';
+ } else {
+ status = 'PENDING';
+ }
+ return status;
+ })()}
+
+
+
+
Transaction Type
+
+ {(() => {
+ let kind;
+ if (transactionDetails?.kind === 'T') {
+ kind = 'TRANSFER';
+ } else if (transactionDetails?.kind === 'P') {
+ kind = 'PURCHASE';
+ } else if (transactionDetails?.kind === 'W') {
+ kind = 'WITHDRAW';
+ } else if (transactionDetails?.kind === 'U') {
+ kind = 'TOP UP';
+ } else if (transactionDetails?.kind === 'R') {
+ kind = 'RETURN';
+ }
+ return kind;
+ })()}
+
+
+
+
Description
+
{transactionDetails?.description}
+
+
+
Name
+
{transactionDetails?.type.name}
+
+
+
Reference
+
{transactionDetails?.transfer.reference}
+
+
+
Destination Iban
+
{transactionDetails?.transfer.destination_iban}
+
+
+
+
+ Destination Wallet
+
+ Wallet
+
+
+
+
+
Name
+
{transactionDetails?.transfer.destination_wallet.name}
+
+
+
Description
+
{transactionDetails?.transfer.destination_wallet.description}
+
+
+
+
+ Destination Customer
+
+ Destination Customer
+
+
+
+
+
Name
+
{transactionDetails?.transfer.destination_customer.fullname}
+
+
+
MSISDN
+
{transactionDetails?.transfer.destination_customer.msisdn}
+
+
+
Email
+
{transactionDetails?.transfer.destination_customer.email}
+
+
+
MSISDN
+
{transactionDetails?.transfer.destination_customer.username}
+
+
+
+
+ Origin Wallet
+
+ Wallet
+
+
+
+
+
Name
+
{transactionDetails?.origin_wallet.name}
+
+
+
Description
+
{transactionDetails?.origin_wallet.description}
+
+
+
+ )}
+
+
+ {activeTab === 'origincustomer' && (
+
+
Origin Customer
+
+
+
Full Name
+
{transactionDetails?.origin_customer.fullname}
+
+
+
Phone Number
+
{transactionDetails?.origin_customer.msisdn}
+
+
+
Email
+
{transactionDetails?.origin_customer.email}
+
+
+
Username
+
{transactionDetails?.origin_customer.username}
+
+
+
+ )}
+
+ {activeTab === 'log' && (
+
+
Transaction Logs
+
+
+
+
+ | Status |
+ Request Date |
+ Request Body |
+ Response Body |
+ Response Code |
+ Request End Point |
+
+
+
+ {transactionDetails?.log && transactionDetails?.log.length > 0 ? (
+ transactionDetails.log.map((log: { request_endpoint: string, status: string; request_date: string; response_date: string; request_body: string; response_body: string; response_code: number }, index: number) => (
+
+ |
+ {(() => {
+ let status;
+ if (log.status === 'P') {
+ status = 'PENDING';
+ } else if (log.status === 'O') {
+ status = 'ON PROCESS';
+ } else if (log.status === 'F') {
+ status = 'FAILED';
+ } else if (log.status === 'C') {
+ status = 'COMPLETE';
+ }
+ return status;
+ })()}
+ |
+ {log.request_date ?? '-'} |
+ {log.response_date ?? '-'} |
+ {log.request_body ?? '-'} |
+ {log.response_body ?? '-'} |
+ {log.request_endpoint ?? '-'} |
+
+ ))
+ ) : (
+
+ |
+ No logs available
+ |
+
+ )}
+
+
+
+
+ )}
+
+ {activeTab === 'approve' && (
+
+
Approval Logs
+ {transactionDetails?.log_approve.length === 0 ? (
+
No data available
+ ) : (
+
+
+
+
+ | Status |
+ Created At |
+ Updated At |
+
+
+
+ {transactionDetails?.log_approve && transactionDetails?.log_approve.length > 0 ? (
+ transactionDetails.log_approve.map((log: { created_at: string; status: string; updated_at: string }, index: number) => (
+
+ |
+ {(() => {
+ let status;
+ if (log.status === 'W') {
+ status = 'WAITING';
+ } else if (log.status === 'Y') {
+ status = 'APPROVE';
+ } else if (log.status === 'N') {
+ status = 'REJECT';
+ } else if (log.status === 'T') {
+ status = 'NO NEED';
+ }
+ return status;
+ })()}
+ |
+ {log.created_at} |
+ {log.updated_at} |
+
+ ))
+ ) : (
+
+ |
+ No logs available
+ |
+
+ )}
+
+
+
+ )}
+
+ )}
+
+ {activeTab === 'p24' && (
+
+
P24 Logs
+ {transactionDetails?.p24.length === 0 ? (
+
No data available
+ ) : (
+
+
+
+
+ | Type |
+ Request Date |
+ Request Body |
+ Response Body |
+ Response Code |
+ Request Endpoint |
+
+
+
+ {transactionDetails?.p24 && transactionDetails?.p24.length > 0 ? (
+ transactionDetails.p24.map((log: { request_endpoint: string, type: string; request_date: string; response_date: string; request_body: string; response_body: string; response_code: number }, index: number) => (
+
+ | {log.type} |
+ {log.request_date} |
+ {log.response_date} |
+ {log.request_body} |
+ {log.response_body} |
+ {log.request_endpoint ?? '-'} |
+
+ ))
+ ) : (
+
+ |
+ No logs available
+ |
+
+ )}
+
+
+
+ )}
+
+ )}
+
+
+