Contents

resolveFromAccount(for:with:)

Resolves the user account that provides the funds for paying the bill.

Declaration

optional func resolveFromAccount(for intent: INPayBillIntent, with completion: @escaping  @Sendable (INPaymentAccountResolutionResult) -> Void)
optional func resolveFromAccount(for intent: INPayBillIntent) async -> INPaymentAccountResolutionResult

Parameters

  • 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 contains the user’s funds. This parameter must not be nil.

Discussion

Before paying bills with Siri, the user must set up a payment account in your app to provide the funds for those bills. Implement this method to identify the user account to use. The fromAccount property of the intent object contains any information provided by the user about which account to use. Verify only that the account exists and the app can use it to pay the bill. Don’t try to verify that the account has sufficient funds to pay the bill here; 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. Similarly, if the user has only one payment account, return a successful resolution with that account. If the user doesn’t have any accounts to facilitate payment, 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, 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.

See Also

Resolving the Intent Parameters