From 78f9e95c3f71400a67cd965163c472862f105e85 Mon Sep 17 00:00:00 2001 From: riz081 Date: Wed, 6 Aug 2025 13:47:26 +0700 Subject: [PATCH] implement .env to QrisAcctivity --- .../example/bdkipoc/qris/QrisActivity.java | 47 ++++++++----------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java b/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java index bb12cf0..04e7e00 100644 --- a/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java +++ b/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java @@ -1,5 +1,6 @@ package com.example.bdkipoc; import com.example.bdkipoc.qris.view.QrisResultActivity; +import com.example.bdkipoc.BuildConfig; import android.content.Context; import android.content.Intent; @@ -69,18 +70,8 @@ public class QrisActivity extends AppCompatActivity { private static final long REFERENCE_COOLDOWN_MS = 60000; // 1 minute cooldown private static final long TRANSACTION_COOLDOWN_MS = 5000; // 5 second cooldown - private static final String BACKEND_BASE = "https://be-edc.msvc.app"; - private static final String MIDTRANS_SANDBOX_AUTH = "Basic U0ItTWlkLXNlcnZlci1PM2t1bXkwVDl4M1VvYnVvVTc3NW5QbXc="; - private static final String MIDTRANS_PRODUCTION_AUTH = "TWlkLXNlcnZlci1sMlZPalotdVlVanpvNnU4VzAtYmF1a2o="; // Base64 of "Mid-server-l2VOjZ-uYUjzo6u8W0-baukj:" + private static final String MIDTRANS_AUTH = BuildConfig.MIDTRANS_SANDBOX_AUTH; - // Currently active server key (switch by commenting/uncommenting) - // private static final String MIDTRANS_AUTH = MIDTRANS_PRODUCTION_AUTH; - private static final String MIDTRANS_AUTH = MIDTRANS_SANDBOX_AUTH; // Default to sandbox - private static final String WEBHOOK_URL = "https://be-edc.msvc.app/webhooks/midtrans"; - - // Midtrans charge URL - private static final String MIDTRANS_CHARGE_URL = "https://api.sandbox.midtrans.com/v2/charge"; - // private static final String MIDTRANS_CHARGE_URL = "https://api.midtrans.com/v2/charge"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -311,10 +302,10 @@ public class QrisActivity extends AppCompatActivity { editTextAmount.setText(formatAmount(amountStr)); descriptionText.setText("Tekan Konfirmasi untuk melanjutkan"); - // Enable button if amount is valid + // Enable button if amount is valid (any positive amount) try { int amt = Integer.parseInt(amountStr); - initiatePaymentButton.setEnabled(amt >= 1000); + initiatePaymentButton.setEnabled(amt > 0); // Changed from >= 1000 to > 0 } catch (NumberFormatException e) { initiatePaymentButton.setEnabled(false); } @@ -455,17 +446,17 @@ public class QrisActivity extends AppCompatActivity { // Parse amount - expecting integer in lowest denomination (Indonesian Rupiah) amount = Integer.parseInt(amountText); - // Validate minimum amount - if (amount < 1000) { - errorMessage = "Minimum amount is IDR 1,000"; - return false; - } + // // Validate minimum amount + // if (amount < 1000) { + // errorMessage = "Minimum amount is IDR 1,000"; + // return false; + // } - // Validate maximum amount for testing - if (amount > 10000000) { - errorMessage = "Maximum amount is IDR 10,000,000"; - return false; - } + // // Validate maximum amount for testing + // if (amount > 10000000) { + // errorMessage = "Maximum amount is IDR 10,000,000"; + // return false; + // } Log.d("MidtransCharge", "Parsed amount: " + amount); } catch (NumberFormatException e) { @@ -488,7 +479,7 @@ public class QrisActivity extends AppCompatActivity { Log.d("MidtransCharge", "Backend transaction payload: " + payload.toString()); // Make the API call - URL url = new URI(BACKEND_BASE + "/transactions").toURL(); + URL url = new URI(BuildConfig.BACKEND_BASE_URL + "/transactions").toURL(); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-Type", "application/json"); @@ -638,22 +629,22 @@ public class QrisActivity extends AppCompatActivity { // Log the request details Log.d("MidtransCharge", "=== MIDTRANS QRIS REQUEST ==="); - Log.d("MidtransCharge", "URL: " + MIDTRANS_CHARGE_URL); + Log.d("MidtransCharge", "URL: " + BuildConfig.MIDTRANS_CHARGE_URL); Log.d("MidtransCharge", "Authorization: " + MIDTRANS_AUTH); - Log.d("MidtransCharge", "X-Override-Notification: " + WEBHOOK_URL); + Log.d("MidtransCharge", "X-Override-Notification: " + BuildConfig.WEBHOOK_URL); Log.d("MidtransCharge", "Reference ID: " + referenceId); Log.d("MidtransCharge", "Order ID: " + transactionUuid); Log.d("MidtransCharge", "Amount: " + amount); Log.d("MidtransCharge", "================================"); // Make the API call to Midtrans - URL url = new URI(MIDTRANS_CHARGE_URL).toURL(); + URL url = new URI(BuildConfig.MIDTRANS_CHARGE_URL).toURL(); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Accept", "application/json"); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Authorization", MIDTRANS_AUTH); - conn.setRequestProperty("X-Override-Notification", WEBHOOK_URL); + conn.setRequestProperty("X-Override-Notification", BuildConfig.WEBHOOK_URL); conn.setRequestProperty("User-Agent", "BDKIPOCApp/1.0"); conn.setDoOutput(true); conn.setConnectTimeout(30000); // 30 seconds