<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 4.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INRequestPaymentIntentHandling/resolvePayer(for:with:)-4xu87",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(pl)INRequestPaymentIntentHandling(im)resolvePayerForRequestPayment:completion:"
  },
  "title" : "resolvePayer(for:with:)"
}
-->

# resolvePayer(for:with:)

Resolves the person to receive the payment request.

```
optional func resolvePayer(for intent: INRequestPaymentIntent, with completion: @escaping @Sendable (INRequestPaymentPayerResolutionResult) -> Void)
```

```
optional func resolvePayer(for intent: INRequestPaymentIntent) async -> INRequestPaymentPayerResolutionResult
```

## Parameters

`intent`

The intent object containing details about the user’s request. Use this object to get the initial information, if any, provided by the user.

`completion`

The block to execute with the resolution. You must execute this block at some point during your implementation of this method. This block has no return value and takes the following parameter:

- resolutionResult: The resolution result object containing your proposed resolution. For successful resolutions, create a resolution object whose value is the [`INPerson`](/documentation/Intents/INPerson) object containing detailed information about the user you identified. This parameter must not be `nil`.

## Discussion

Implement this method to identify the intended recipient of the request. Always strive toward a successful resolution to a specific user, but ask for confirmation of the selected user if there is some uncertainty.

If multiple users match the provided payer information, you can ask for disambiguation of the most likely candidates. When disambiguating users, provide as few choices as possible. If you find more than five possible users that match the payer information, consider another resolution.

If you identify a user but there is a problem in requesting funds from that user, use the [`unsupported(forReason:)`](/documentation/Intents/INRequestPaymentPayerResolutionResult/unsupported(forReason:)) method to create a [`INRequestPaymentPayerResolutionResult`](/documentation/Intents/INRequestPaymentPayerResolutionResult) object that indicates the reason why you couldnt use the payer.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)