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)
String signalAmount = results.optString("amount", null);
Log.d(TAG, "onPaymentRedirected: amount " + signalAmount);
if (signalAmount != null) {
amount.set(formatAmount(signalAmount));
}
// Trigger navigation via the event
String amountToPass = results.optString("rawAmount", getRawAmount());
paymentStartEvent.postValue(amountToPass);
// String amountToPass = results.optString("rawAmount", getRawAmount());
paymentStartEvent.postValue(signalAmount);
break;
default:
@ -77,9 +78,11 @@ public class PinpadViewModel extends BaseAppViewModel {
// Helper method to get raw amount (without formatting)
private String getRawAmount() {
String formatted = amount.get();
try {
// Convert formatted amount back to raw cents
String formatted = amount.get();
if (formatted != null) {
double amountDouble = Double.parseDouble(formatted);
return String.valueOf((int)(amountDouble * 100));
@ -87,11 +90,11 @@ public class PinpadViewModel extends BaseAppViewModel {
} catch (NumberFormatException 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)
public void triggerPayment() {
paymentStartEvent.postValue(getRawAmount());
}
// public void triggerPayment() {
// paymentStartEvent.postValue(getRawAmount());
// }
}

View File

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