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 0f37f41..997a236 100644 --- a/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java +++ b/app/src/main/java/com/example/bdkipoc/qris/QrisActivity.java @@ -69,10 +69,17 @@ public class QrisActivity extends AppCompatActivity { 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_CHARGE_URL = "https://api.sandbox.midtrans.com/v2/charge"; - private static final String MIDTRANS_AUTH = "Basic U0ItTWlkLXNlcnZlci1PM2t1bXkwVDl4M1VvYnVvVTc3NW5QbXc="; + private static final String MIDTRANS_SANDBOX_AUTH = "Basic U0ItTWlkLXNlcnZlci1PM2t1bXkwVDl4M1VvYnVvVTc3NW5QbXc="; + private static final String MIDTRANS_PRODUCTION_AUTH = "TWlkLXNlcnZlci1sMlZPalotdVlVanpvNnU4VzAtYmF1a2o="; // Base64 of "Mid-server-l2VOjZ-uYUjzo6u8W0-baukj:" + + // 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); @@ -381,8 +388,9 @@ public class QrisActivity extends AppCompatActivity { private boolean isValidServerKey(String serverKey) { return serverKey != null && - serverKey.startsWith("SB-Mid-server-") && - serverKey.length() > 20; + (serverKey.startsWith("SB-Mid-server-") || // Sandbox format + serverKey.startsWith("Mid-server-")) && // Production format + serverKey.length() > 20; } private String generateSignature(String orderId, String statusCode, String grossAmount, String serverKey) { diff --git a/app/src/main/java/com/example/bdkipoc/qris/QrisResultActivity.java b/app/src/main/java/com/example/bdkipoc/qris/QrisResultActivity.java index 2d46142..e295b92 100644 --- a/app/src/main/java/com/example/bdkipoc/qris/QrisResultActivity.java +++ b/app/src/main/java/com/example/bdkipoc/qris/QrisResultActivity.java @@ -93,9 +93,17 @@ public class QrisResultActivity extends AppCompatActivity { private String backendBase = "https://be-edc.msvc.app"; private String webhookUrl = "https://be-edc.msvc.app/webhooks/midtrans"; - // Server key for signature generation - private static final String MIDTRANS_AUTH = "Basic U0ItTWlkLXNlcnZlci1PM2t1bXkwVDl4M1VvYnVvVTc3NW5QbXc="; + // Sandbox and Production server keys + private static final String MIDTRANS_SANDBOX_AUTH = "Basic U0ItTWlkLXNlcnZlci1PM2t1bXkwVDl4M1VvYnVvVTc3NW5QbXc="; + private static final String MIDTRANS_PRODUCTION_AUTH = "TWlkLXNlcnZlci1sMlZPalotdVlVanpvNnU4VzAtYmF1a2o="; // Base64 of "Mid-server-l2VOjZ-uYUjzo6u8W0-baukj:" + + // 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 + + // 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"; // ✅ Mapping dari technical issuer ke display name private static final Map ISSUER_DISPLAY_MAP = new HashMap() {{