Instance Method


Resolves the amount of money requested.


optional func resolveCurrencyAmount(for intent: INRequestPaymentIntent, with completion: @escaping (INRequestPaymentCurrencyAmountResolutionResult) -> Void)



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


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:


The resolution result object containing your proposed resolution. For successful resolutions, create a resolution object whose value is the INCurrencyAmount object containing the requested amount. This parameter must not be nil.


Implement this method to verify the requested currency amount. If the amount is outside of the minimum or maximum transaction amount supported by your app, return a successful result and use your response object to communicate that the amount is below the minimum or above the maximum amount. Do not use this method to validate that the payer’s account contains the necessary funds to complete the transaction.

If you identify a currency amount but there is a problem in requesting the funds, use the unsupported(forReason:) method to create a INRequestPaymentCurrencyAmountResolutionResult object indicating the reason why you can’t request the amount.

See Also

Resolving the Intent Parameters

func resolvePayer(for: INRequestPaymentIntent, with: (INPersonResolutionResult) -> Void)

Called when you need to resolve the person who will receive the payment request.

func resolveCurrencyAmount(for: INRequestPaymentIntent, with: (INCurrencyAmountResolutionResult) -> Void)

Called when you need to resolve the amount of money being requested.