resolveFromAccount(for:with:)
Resolves the user account that’s the source of the funds.
Declaration
optional func resolveFromAccount(for intent: INTransferMoneyIntent, with completion: @escaping @Sendable (INPaymentAccountResolutionResult) -> Void)optional func resolveFromAccount(for intent: INTransferMoneyIntent) async -> INPaymentAccountResolutionResultParameters
- intent:
The intent object containing details of the user’s request. Use this object to get the initial information, if any, provided by the user.
- completion:
The handler block to execute with the resolution. You must execute this handler at some point during your implementation of this method. This handler has no return value and takes the following parameter:
- resolutionResult
The resolution object containing your proposed resolution. For successful resolutions, create a resolution object whose value is the Inpaymentaccount object that identifies the user’s account. This parameter must not be
nil.
Discussion
Implement this method to resolve the account that’s the source of the transferred funds. Use this method to verify that the specified account exists and you can use it as the source of a funds transfer. The fromAccount property of the intent object contains any information provided by the user about which account to use. Don’t try to verify that the account has sufficient funds for the transfer. Instead, verify that the account has sufficient funds in the confirm(intent:completion:) method.
Return a successful resolution if you’re able to verify the existence of the account. If the user doesn’t have any accounts to facilitate a transfer, return a successful resolution or indicate that the account isn’t required and then use the confirm(intent:completion:) method to report an appropriate error. If the user has multiple accounts that match the provided information, either pick one and ask for confirmation or use the disambiguation(with:) method to create a resolution that prompts the user to select an account.