@jimrising/easymerchantsdk-react-native 2.7.6 → 2.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/android/build.gradle
CHANGED
|
@@ -94,7 +94,7 @@ dependencies {
|
|
|
94
94
|
implementation 'com.google.android.material:material:1.13.0'
|
|
95
95
|
|
|
96
96
|
// Third-party libs
|
|
97
|
-
implementation 'com.app:paysdk:
|
|
97
|
+
implementation 'com.app:paysdk:2.0.0'
|
|
98
98
|
implementation 'com.hbb20:ccp:2.7.3'
|
|
99
99
|
implementation 'com.github.bumptech.glide:glide:5.0.4'
|
|
100
100
|
implementation 'com.github.androidmads:QRGenerator:1.0.5'
|
|
@@ -551,9 +551,20 @@ class PaymentInfoVC: BaseVC, BillingInfoVCDelegate {
|
|
|
551
551
|
// let rawAmount = Double(self.request?.amount ?? 0)
|
|
552
552
|
// let amountText = String(format: "$%.2f", rawAmount)
|
|
553
553
|
|
|
554
|
-
// ✅
|
|
555
|
-
let
|
|
556
|
-
|
|
554
|
+
// ✅ Use decimal-safe amount from backend (avoids binary rounding drift)
|
|
555
|
+
let amountText: String = {
|
|
556
|
+
if let savedAmount = UserStoreSingleton.shared.amount,
|
|
557
|
+
let decimal = Decimal(string: savedAmount) {
|
|
558
|
+
var value = decimal
|
|
559
|
+
var rounded = Decimal()
|
|
560
|
+
NSDecimalRound(&rounded, &value, 2, .plain)
|
|
561
|
+
return "$" + NSDecimalNumber(decimal: rounded).stringValue
|
|
562
|
+
} else if let resolvedAmount = self.amount {
|
|
563
|
+
return String(format: "$%.2f", resolvedAmount)
|
|
564
|
+
} else {
|
|
565
|
+
return "$0.00"
|
|
566
|
+
}
|
|
567
|
+
}()
|
|
557
568
|
|
|
558
569
|
var buttonText: String
|
|
559
570
|
if !billingVisible && !additionalVisible {
|
|
@@ -573,8 +584,19 @@ class PaymentInfoVC: BaseVC, BillingInfoVCDelegate {
|
|
|
573
584
|
self.btnPayNowSingleAccountView.setTitle(buttonText, for: .normal)
|
|
574
585
|
} else {
|
|
575
586
|
/// When no billingInfoData present
|
|
576
|
-
let
|
|
577
|
-
|
|
587
|
+
let amountText: String = {
|
|
588
|
+
if let savedAmount = UserStoreSingleton.shared.amount,
|
|
589
|
+
let decimal = Decimal(string: savedAmount) {
|
|
590
|
+
var value = decimal
|
|
591
|
+
var rounded = Decimal()
|
|
592
|
+
NSDecimalRound(&rounded, &value, 2, .plain)
|
|
593
|
+
return "$" + NSDecimalNumber(decimal: rounded).stringValue
|
|
594
|
+
} else if let resolvedAmount = self.amount {
|
|
595
|
+
return String(format: "$%.2f", resolvedAmount)
|
|
596
|
+
} else {
|
|
597
|
+
return "$0.00"
|
|
598
|
+
}
|
|
599
|
+
}()
|
|
578
600
|
|
|
579
601
|
let submitText = self.request?.submitButtonText?.isEmpty == false ? self.request!.submitButtonText! : "Pay Now"
|
|
580
602
|
let defaultTitle = "\(submitText) (\(amountText))"
|
|
@@ -2537,73 +2559,26 @@ class PaymentInfoVC: BaseVC, BillingInfoVCDelegate {
|
|
|
2537
2559
|
}
|
|
2538
2560
|
|
|
2539
2561
|
private func updateShowSavedCardsVisibility() {
|
|
2540
|
-
|
|
2562
|
+
// Show the "Show saved cards/accounts" button whenever the OTP view is not visible,
|
|
2563
|
+
// so the user can always re-open saved options after closing OTP or email views.
|
|
2564
|
+
let shouldShow = OTPView.isHidden
|
|
2541
2565
|
viewBtnShowSavedCards.isHidden = !shouldShow
|
|
2542
2566
|
viewBtnShowSavedCardHeight.constant = shouldShow ? 50 : 0
|
|
2543
2567
|
viewBtnShowSavedCardTopCon.constant = shouldShow ? 16 : 0
|
|
2544
2568
|
}
|
|
2545
2569
|
|
|
2546
|
-
// @IBAction func actionBtnShowSavedCards(_ sender: UIButton) {
|
|
2547
|
-
// if UserStoreSingleton.shared.customerToken == nil {
|
|
2548
|
-
// emailView.isHidden = false
|
|
2549
|
-
// OTPView.isHidden = true
|
|
2550
|
-
// updateShowSavedCardsVisibility()
|
|
2551
|
-
// }
|
|
2552
|
-
// else {
|
|
2553
|
-
// // UserStoreSingleton.shared.isLoggedIn = true
|
|
2554
|
-
//
|
|
2555
|
-
// emailView.isHidden = true
|
|
2556
|
-
// OTPView.isHidden = true
|
|
2557
|
-
//
|
|
2558
|
-
// if self.selectedPaymentMethod == "Card" {
|
|
2559
|
-
// if UserStoreSingleton.shared.customerId == nil {
|
|
2560
|
-
// self.OTPView.isHidden = true
|
|
2561
|
-
// self.viewCardFields.isHidden = false
|
|
2562
|
-
// self.viewSingleSavedCard.isHidden = true
|
|
2563
|
-
// self.viewBtnShowSavedCards.isHidden = true
|
|
2564
|
-
// self.viewBtnShowSavedCardHeight.constant = 0
|
|
2565
|
-
// self.viewBtnShowSavedCardTopCon.constant = 0
|
|
2566
|
-
// self.viewChangeCard.isHidden = true
|
|
2567
|
-
// self.viewUpdateCard.isHidden = true
|
|
2568
|
-
// self.viewAddNewCard.isHidden = true
|
|
2569
|
-
// } else {
|
|
2570
|
-
// self.getShowCardsApi()
|
|
2571
|
-
// self.OTPView.isHidden = true
|
|
2572
|
-
// self.viewCardFields.isHidden = true
|
|
2573
|
-
// self.viewSingleSavedCard.isHidden = false
|
|
2574
|
-
// self.viewBtnShowSavedCards.isHidden = true
|
|
2575
|
-
// self.viewBtnShowSavedCardHeight.constant = 0
|
|
2576
|
-
// self.viewBtnShowSavedCardTopCon.constant = 0
|
|
2577
|
-
// self.viewChangeCard.isHidden = true
|
|
2578
|
-
// self.viewUpdateCard.isHidden = true
|
|
2579
|
-
// self.viewAddNewCard.isHidden = true
|
|
2580
|
-
//
|
|
2581
|
-
// self.viewTxtFieldCVVSingleCard.isHidden = true
|
|
2582
|
-
// self.btnPayNowSingleCard.isHidden = true
|
|
2583
|
-
// self.btnNext.isHidden = true
|
|
2584
|
-
// self.btnNextHeight.constant = 0
|
|
2585
|
-
// self.btnNextTopCon.constant = 8
|
|
2586
|
-
// }
|
|
2587
|
-
//
|
|
2588
|
-
// self.txtFieldSelectPlanSingleSavedCard.isHidden = true
|
|
2589
|
-
// self.txtFieldSelectDateSingleSavedCard.isHidden = true
|
|
2590
|
-
//
|
|
2591
|
-
// self.txtFieldSelectPlanSingleSavedBankView.isHidden = true
|
|
2592
|
-
// self.txtFieldSelectDateSingleSavedBankView.isHidden = true
|
|
2593
|
-
// } else if self.selectedPaymentMethod == "Bank" {
|
|
2594
|
-
// self.getShowBankAccountsApi()
|
|
2595
|
-
// }
|
|
2596
|
-
// }
|
|
2597
|
-
// }
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
2570
|
@IBAction func actionBtnShowSavedCards(_ sender: UIButton) {
|
|
2601
|
-
|
|
2571
|
+
// Mirror MobileCheckout iOS: require both customerToken and customerId to treat as a verified saved customer.
|
|
2572
|
+
if UserStoreSingleton.shared.customerToken == nil || UserStoreSingleton.shared.customerId == nil {
|
|
2573
|
+
// No verified saved customer yet – show email view so user can request OTP
|
|
2574
|
+
isSavedViewVisible = false
|
|
2602
2575
|
emailView.isHidden = false
|
|
2603
2576
|
OTPView.isHidden = true
|
|
2577
|
+
viewSingleSavedCard.isHidden = true
|
|
2578
|
+
viewSingleSavedAccount.isHidden = true
|
|
2604
2579
|
updateShowSavedCardsVisibility()
|
|
2605
|
-
}
|
|
2606
|
-
|
|
2580
|
+
} else {
|
|
2581
|
+
// Verified saved customer exists – show saved cards/accounts UI
|
|
2607
2582
|
isSavedViewVisible = true
|
|
2608
2583
|
|
|
2609
2584
|
emailView.isHidden = true
|
|
@@ -2614,21 +2589,15 @@ class PaymentInfoVC: BaseVC, BillingInfoVCDelegate {
|
|
|
2614
2589
|
self.OTPView.isHidden = true
|
|
2615
2590
|
self.viewCardFields.isHidden = false
|
|
2616
2591
|
self.viewSingleSavedCard.isHidden = true
|
|
2617
|
-
// self.viewBtnShowSavedCards.isHidden = true
|
|
2618
|
-
// self.viewBtnShowSavedCardHeight.constant = 0
|
|
2619
|
-
// self.viewBtnShowSavedCardTopCon.constant = 0
|
|
2620
2592
|
self.viewChangeCard.isHidden = true
|
|
2621
2593
|
self.viewUpdateCard.isHidden = true
|
|
2622
2594
|
self.viewAddNewCard.isHidden = true
|
|
2623
2595
|
} else {
|
|
2624
|
-
//
|
|
2596
|
+
// Only show saved cards when button tapped
|
|
2625
2597
|
self.getShowCardsApi()
|
|
2626
2598
|
self.OTPView.isHidden = true
|
|
2627
2599
|
self.viewCardFields.isHidden = true
|
|
2628
2600
|
self.viewSingleSavedCard.isHidden = false
|
|
2629
|
-
// self.viewBtnShowSavedCards.isHidden = true
|
|
2630
|
-
// self.viewBtnShowSavedCardHeight.constant = 0
|
|
2631
|
-
// self.viewBtnShowSavedCardTopCon.constant = 0
|
|
2632
2601
|
self.viewChangeCard.isHidden = true
|
|
2633
2602
|
self.viewUpdateCard.isHidden = true
|
|
2634
2603
|
self.viewAddNewCard.isHidden = true
|
|
@@ -2646,7 +2615,7 @@ class PaymentInfoVC: BaseVC, BillingInfoVCDelegate {
|
|
|
2646
2615
|
self.txtFieldSelectPlanSingleSavedBankView.isHidden = true
|
|
2647
2616
|
self.txtFieldSelectDateSingleSavedBankView.isHidden = true
|
|
2648
2617
|
} else if self.selectedPaymentMethod == "Bank" {
|
|
2649
|
-
//
|
|
2618
|
+
// Only show saved banks when button tapped
|
|
2650
2619
|
self.getShowBankAccountsApi()
|
|
2651
2620
|
self.viewBankFields.isHidden = true
|
|
2652
2621
|
self.viewSingleSavedAccount.isHidden = false
|