Implement PaymentActivity dan TransactionActivity

This commit is contained in:
riz081 2025-06-27 17:03:14 +07:00
parent 53964211c2
commit da312ec3ae

View File

@ -1,550 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#FFFFFF"
tools:context=".transaction.ResultTransactionActivity">
<!-- AppBar Component -->
<include layout="@layout/component_appbar" />
<!-- Main Content -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true"
android:overScrollMode="never"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp">
<!-- Receipt Card -->
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="12dp"
app:cardElevation="4dp"
app:cardBackgroundColor="#FFFFFF"
android:layout_marginBottom="16dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">
<!-- Logo Section -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginBottom="16dp">
<!-- Logo Icon -->
<TextView
android:layout_width="32dp"
android:layout_height="32dp"
android:text="P"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:textStyle="bold"
android:fontFamily="@font/inter"
android:gravity="center"
android:background="@drawable/ic_logo_icon"
android:layout_marginEnd="8dp" />
<!-- Logo Text -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Payvora"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
android:fontFamily="@font/inter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PRO"
android:textColor="#DE0701"
android:textSize="12sp"
android:textStyle="bold"
android:fontFamily="@font/inter"
android:layout_marginTop="-2dp" />
</LinearLayout>
</LinearLayout>
<!-- Merchant Info -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="20dp">
<TextView
android:id="@+id/tv_merchant_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TOKO KLONTONG PAK EKO"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
android:fontFamily="@font/inter"
android:gravity="center"
android:layout_marginBottom="4dp" />
<TextView
android:id="@+id/tv_merchant_location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ciputat Baru, Tangsel"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter"
android:gravity="center" />
</LinearLayout>
<!-- Horizontal Divider -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E0E0E0"
android:layout_marginBottom="16dp" />
<!-- Transaction Details -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- MID and TID Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="12dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="MID: 123456789901"
android:textColor="#666666"
android:textSize="12sp"
android:fontFamily="@font/inter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="|"
android:textColor="#E0E0E0"
android:textSize="12sp"
android:layout_marginHorizontal="8dp" />
<TextView
android:id="@+id/tv_tid"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TID: 123456789901"
android:textColor="#666666"
android:textSize="12sp"
android:fontFamily="@font/inter"
android:gravity="end" />
</LinearLayout>
<!-- Transaction Details Rows -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Transaction Number -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Nomor transaksi"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_transaction_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3429483635"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter"
android:textStyle="bold" />
</LinearLayout>
<!-- Transaction Date -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Tanggal transaksi"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_transaction_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="13 Januari 2025 13:46"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter"
android:textStyle="bold" />
</LinearLayout>
<!-- Payment Method -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Metode pembayaran"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_payment_method_detail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kartu Kredit"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter"
android:textStyle="bold" />
</LinearLayout>
<!-- Card Type -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Jenis Kartu"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_card_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BCA"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<!-- Amount Section Divider -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E0E0E0"
android:layout_marginBottom="16dp" />
<!-- Amount Details -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Total Transaction -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Total transaksi"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_subtotal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3.500.000"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter" />
</LinearLayout>
<!-- Tax -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Pajak (%)"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_tax"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="11%"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter" />
</LinearLayout>
<!-- Service Fee -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="16dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Biaya Layanan"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_service_fee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="500"
android:textColor="#333333"
android:textSize="14sp"
android:fontFamily="@font/inter" />
</LinearLayout>
</LinearLayout>
<!-- Final Total Section -->
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#E0E0E0"
android:layout_marginBottom="16dp" />
<!-- Final Total -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="20dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TOTAL"
android:textColor="#333333"
android:textSize="16sp"
android:textStyle="bold"
android:fontFamily="@font/inter" />
<TextView
android:id="@+id/tv_final_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3.506.500"
android:textColor="#333333"
android:textSize="20sp"
android:textStyle="bold"
android:fontFamily="@font/inter" />
</LinearLayout>
<!-- Action Buttons Row -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center"
android:layout_marginBottom="16dp">
<!-- Print Button -->
<LinearLayout
android:id="@+id/btn_print"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="?attr/selectableItemBackground"
android:padding="12dp"
android:layout_marginEnd="24dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_print"
app:tint="#666666"
android:layout_marginEnd="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cetak Ulang"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
</LinearLayout>
<!-- Email Button -->
<LinearLayout
android:id="@+id/btn_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="?attr/selectableItemBackground"
android:padding="12dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_email"
app:tint="#666666"
android:layout_marginEnd="8dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Email"
android:textColor="#666666"
android:textSize="14sp"
android:fontFamily="@font/inter" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</ScrollView>
<!-- Bottom Action Button -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="16dp"
android:background="#FFFFFF">
<!-- Finish Button -->
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_finish"
android:layout_width="match_parent"
android:layout_height="48dp"
android:text="Selesai"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold"
android:fontFamily="@font/inter"
android:background="@drawable/button_finish_background"
app:backgroundTint="@null"
app:cornerRadius="8dp"
app:rippleColor="#B3000000" />
</LinearLayout>
<!-- Hidden Components for Compatibility -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:orientation="vertical"
android:visibility="gone">
<TextView android:id="@+id/tv_amount" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_status" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_reference" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_card_info" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_payment_method" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_transaction_id" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_order_id" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_timestamp" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_response_data" android:layout_width="0dp" android:layout_height="0dp" />
<TextView android:id="@+id/tv_error_details" android:layout_width="0dp" android:layout_height="0dp" />
<Button android:id="@+id/btn_new_transaction" android:layout_width="0dp" android:layout_height="0dp" />
<Button android:id="@+id/btn_retry" android:layout_width="0dp" android:layout_height="0dp" />
<LinearLayout android:id="@+id/layout_error_details" android:layout_width="0dp" android:layout_height="0dp" />
</LinearLayout>
</LinearLayout>