When using Tap to Pay or Scan to Pay, if the BML account associated with the selected card does not have enough funds for the payment, automatically transfer the required amount from another configured account that has sufficient funds, then continue with the payment.
The user should not have to manually perform the transfer first.
Expected flow
User selects Tap to Pay or Scan to Pay.
The app checks the balance of the BML account associated with the card.
If the balance is insufficient:
Check the accounts configured as funding sources.
Select an account with sufficient available funds.
Transfer the required amount to the associated BML account.
Once the transfer succeeds, continue with the original payment.
Use the stored TOTP seed for the required transaction verification.
Ask the user for biometric or PIN verification only once for the entire operation, rather than separately for the transfer and payment.
Settings
Add a setting to configure which accounts may be used as automatic funding sources and, where multiple eligible accounts are available, allow the user to choose the preferred account/order.
Notes
Only transfer the amount required to complete the payment.
Do not initiate the payment until the required transfer has successfully completed.
If no configured account has sufficient funds, fall back to the existing insufficient-balance behavior.
The entire transfer + payment flow should feel like a single user-initiated transaction.
## Description
When using **Tap to Pay** or **Scan to Pay**, if the BML account associated with the selected card does not have enough funds for the payment, automatically transfer the required amount from another configured account that has sufficient funds, then continue with the payment.
The user should not have to manually perform the transfer first.
### Expected flow
1. User selects **Tap to Pay** or **Scan to Pay**.
2. The app checks the balance of the BML account associated with the card.
3. If the balance is insufficient:
* Check the accounts configured as funding sources.
* Select an account with sufficient available funds.
* Transfer the required amount to the associated BML account.
4. Once the transfer succeeds, continue with the original payment.
5. Use the stored **TOTP seed** for the required transaction verification.
6. Ask the user for **biometric or PIN verification only once** for the entire operation, rather than separately for the transfer and payment.
### Settings
Add a setting to configure which accounts may be used as automatic funding sources and, where multiple eligible accounts are available, allow the user to choose the preferred account/order.
### Notes
* Only transfer the amount required to complete the payment.
* Do not initiate the payment until the required transfer has successfully completed.
* If no configured account has sufficient funds, fall back to the existing insufficient-balance behavior.
* The entire transfer + payment flow should feel like a single user-initiated transaction.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Description
When using Tap to Pay or Scan to Pay, if the BML account associated with the selected card does not have enough funds for the payment, automatically transfer the required amount from another configured account that has sufficient funds, then continue with the payment.
The user should not have to manually perform the transfer first.
Expected flow
User selects Tap to Pay or Scan to Pay.
The app checks the balance of the BML account associated with the card.
If the balance is insufficient:
Once the transfer succeeds, continue with the original payment.
Use the stored TOTP seed for the required transaction verification.
Ask the user for biometric or PIN verification only once for the entire operation, rather than separately for the transfer and payment.
Settings
Add a setting to configure which accounts may be used as automatic funding sources and, where multiple eligible accounts are available, allow the user to choose the preferred account/order.
Notes
BML api dont tell primary account associated with debit cards, so we need to implement a way for user to match card with primary account as well