fix passing amount to payment on pinpad
This commit is contained in:
parent
8b892e68df
commit
e443f7b452
|
@ -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());
|
||||||
}
|
// }
|
||||||
}
|
}
|
|
@ -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 -->
|
||||||
|
|
Loading…
Reference in New Issue