Payments

Send payments between users or pay bills.

Overview

With the payments domain, users can pay bills or initiate monetary transfers between themselves and other individuals using Siri. Your Intents app extension facilitates bill payment from the user to any vendors (such as public utilities) that were configured in your app in advance. For all payments, your Intents app extension works with your back-end services to initiate the transfers. The user then follows up on the progress of those transactions in your app.

Figure 1

Sending money to a friend using Siri

Sending money to a friend using Siri

SiriKit automatically asks the user to unlock their device when processing any payment-related intents. You can provide a custom interface for payment-related intents using an Intents UI app extension.

Topics

First Steps

protocol INPaymentsDomainHandling

An interface for adopting all of the protocols in the payments domain.

Send a Payment

protocol INSendPaymentIntentHandling

The handler interface for transferring money from the current user’s account to a different user’s account.

class INSendPaymentIntent

A request to transfer money from the current user’s account to a different user’s account.

class INSendPaymentIntentResponse

Your app’s response to a send payment intent.

Request a Payment

protocol INRequestPaymentIntentHandling

The handler interface for delivering a request for payment from another user of your app.

class INRequestPaymentIntent

An intent for requesting money from another user’s account.

class INRequestPaymentIntentResponse

Your app’s response to a request payment intent.

Pay a Bill

protocol INPayBillIntentHandling

The handler interface for paying a bill using money from the user's account.

class INPayBillIntent

A request to transfer of money to facilitate payment of a bill.

class INPayBillIntentResponse

Your app’s response to a request to pay a bill.

Search for Bills

protocol INSearchForBillsIntentHandling

The handler interface for searching for bills associated with the user.

class INSearchForBillsIntent

A request for the list of bills matching the specified criteria.

class INSearchForBillsIntentResponse

Your app’s response to a request to a search for bills.

Search for Accounts

protocol INSearchForAccountsIntentHandling

The handler interface for searching for account information.

class INSearchForAccountsIntent

A request for information about the user's accounts in your app.

class INSearchForAccountsIntentResponse

Your app’s response to a request to search for account information.

Transfer Money

protocol INTransferMoneyIntentHandling

The handler interface for transferring money between accounts.

class INTransferMoneyIntent

A request to transfer money between two accounts.

class INTransferMoneyIntentResponse

Your app's response to a request to transfer money.

Data Objects

enum INAccountType

Constants indicating the type of account involved in a financial transaction.

class INBillDetails

The detailed information associated with a bill.

class INBillPayee

The entity that receives the proceeds from a bill payment.

class INCurrencyAmount

An amount of money to transfer during a financial transaction.

class INPaymentAccount

A user account that provides the funds when making a payment.

class INPaymentAmount

The amount of money to apply to a bill payment.

class INPaymentMethod

Information about a form of payment supported by your app.

class INPaymentRecord

Detailed information about a financial transaction made between two users.

enum INPaymentStatus

Constants indicating the state of the financial transaction.

class INPerson

The information about a user involved in a SiriKit interaction.

Resolution Results

class INAccountTypeResolutionResult

A resolution result for account types.

class INBalanceTypeResolutionResult

A resolution result for balance types.

class INBillTypeResolutionResult

A resolution result for the types of bills that might be paid.

class INBillPayeeResolutionResult

A resolution result for the recipient of a bill payment.

class INPaymentAccountResolutionResult

A resolution result for the user account that provides the funds to pay a bill.

class INPaymentAmountResolutionResult

A resolution result for the amount to be paid for a bill.

class INPaymentStatusResolutionResult

A resolution result for the payment status of a bill during a search.

class INRequestPaymentCurrencyAmountResolutionResult

A resolution result for the currency amount associated with a payment request.

class INRequestPaymentPayerResolutionResult

A resolution result for the person being asked for payment.

class INSendPaymentCurrencyAmountResolutionResult

A resolution result for the currency amount being sent to another user.

class INSendPaymentPayeeResolutionResult

A resolution result for the recipient of a payment.

class INVisualCodeTypeResolutionResult

A resolution result for the type of visual code being used to exchange information.

class INCurrencyAmountResolutionResult

A resolution result for a currency amount associated with an intent.

See Also

Intent Domains

Messaging

Send messages and search the user's received messages.

Lists and Notes

Create and manage notes and to-do list items.

Workouts

Start, end, and manage fitness routines.

VoIP Calling

Initiate calls and search the user's call history.

Visual Codes

Convey contact and payment information using Quick Response (QR) codes.

Photos

Search for and display photos.

Ride Booking

Book rides and report their status.

Car Commands

Manage vehicle door locks and get the vehicle's status.

CarPlay

Interact with a vehicle's CarPlay system.

Restaurant Reservations

Create and manage restaurant reservations with help from the Maps app.