fix passing amount to payment on pinpad

This commit is contained in:
ahmeddatexpay 2025-09-01 16:11:14 +03:00
parent 8b892e68df
commit e443f7b452
2 changed files with 11 additions and 8 deletions

View File

@ -58,13 +58,14 @@ public class PinpadViewModel extends BaseAppViewModel {
// Get the amount from the signal (or use the current amount) // Get the amount from the signal (or use the current amount)
String signalAmount = results.optString("amount", null); String signalAmount = results.optString("amount", null);
Log.d(TAG, "onPaymentRedirected: amount " + signalAmount);
if (signalAmount != null) { if (signalAmount != null) {
amount.set(formatAmount(signalAmount)); amount.set(formatAmount(signalAmount));
} }
// Trigger navigation via the event // Trigger navigation via the event
String amountToPass = results.optString("rawAmount", getRawAmount()); // String amountToPass = results.optString("rawAmount", getRawAmount());
paymentStartEvent.postValue(amountToPass); paymentStartEvent.postValue(signalAmount);
break; break;
default: default:
@ -77,9 +78,11 @@ public class PinpadViewModel extends BaseAppViewModel {
// Helper method to get raw amount (without formatting) // Helper method to get raw amount (without formatting)
private String getRawAmount() { private String getRawAmount() {
String formatted = amount.get();
try { try {
// Convert formatted amount back to raw cents // Convert formatted amount back to raw cents
String formatted = amount.get();
if (formatted != null) { if (formatted != null) {
double amountDouble = Double.parseDouble(formatted); double amountDouble = Double.parseDouble(formatted);
return String.valueOf((int)(amountDouble * 100)); return String.valueOf((int)(amountDouble * 100));
@ -87,11 +90,11 @@ public class PinpadViewModel extends BaseAppViewModel {
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
Log.e(TAG, "Error converting amount back to raw", e); Log.e(TAG, "Error converting amount back to raw", e);
} }
return "1000"; // default fallback return formatted; // default fallback
} }
// Method to manually trigger payment (if needed) // Method to manually trigger payment (if needed)
public void triggerPayment() { // public void triggerPayment() {
paymentStartEvent.postValue(getRawAmount()); // paymentStartEvent.postValue(getRawAmount());
} // }
} }

View File

@ -195,7 +195,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center" android:gravity="center"
android:visibility="visible" android:visibility="gone"
android:background="@android:color/black"> android:background="@android:color/black">
<!-- Camera Preview will be added here programmatically --> <!-- Camera Preview will be added here programmatically -->