Hi Ankit –
On-demand authorization is used when you’d like to debit the User’s bank funding-source for variable amounts in future dates without them having to explicitly initiate those transfers in your platform.
A typical use case would be a round-up savings app – for example, you buy a $2.75 coffee…that purchase is rounded up to the nearest whole number, with the extra 25 cents pulled from the user’s bank funding-source and saved off somewhere. This means there could be variable amounts pulled from their bank account at various times automatically, for which we’d need to collect on-demand authorization from the user at the time of funding-source creation.
It sounds like there may be some confusion in regards to Customer verification as well. To clarify, when created transfer using Dwolla, at least one party in the transfer needs to be a Verified Entity, and the bank account that is the source of the transfer needs to a verified funding-source.
In Cases 1 and 3, the Customer C1 does not need to be a Verified Customer since your Master Account is the Verified entity.
In Cases 2 and 4, at least one Customer (C1 or C2) needs to be created as a Verified Customer.
In all Cases, the source bank of the transfer needs to be verified.
In Cases 1, 2 and 4, you migh need on-demand authorization if the users will bee debited for variable amounts on future dates without them needing to log in to your app and initiate the transfer.
Hope that helps!