Alipay+ DocsAlipay+ Docs

statusForPassEntries

Call the statusForPassEntries API to report the status of your Wallet Extensions.

Method signature

copy
@available(iOS 14.0, *)
public static func statusForPassEntries(completion: @escaping (Result<PKIssuerProvisioningExtensionStatus, IAPAPErrors>) -> Void)

Request parameters

Parameter

Type

Required

Description

completion

(Result<PKIssuerProvisioningExtensionStatus, IAPAPErrors>) -> Void

Yes

An asynchronous completion callback that returns the result of calling the statusForPassEntries API.

PKIssuerProvisioningExtensionStatus

Parameter

Type

Required

Description

passEntriesAvailable

Bool

Yes

Whether a payment card is available to add to an iPhone.

Valid values are:

  • true: available
  • false: unavailable

remotePassEntriesAvailable

Bool

Yes

Whether a payment card is available to add to an Apple Watch.

Valid values are:

  • true: available
  • false: unavailable

requiresAuthentication

Bool

Yes

Whether adding a card requires an authorization user interface extension provided by your app.

Valid values are:

  • true: required
  • false: not required

Response parameters

N/A

Sample

copy
class IssuerExtensionHandler: PKIssuerProvisioningExtensionHandler {

    // ...
    
    override func status(completion: @escaping (PKIssuerProvisioningExtensionStatus) -> Void) {
        IAPApplePay.statusForPassEntries { result in
            switch result {
            case .success(let status):
                // handle success and completion status
                completion(status)
            case .failure(let error):
                // handle error and completion extensionStatus with false
                let extensionStatus = PKIssuerProvisioningExtensionStatus()
                extensionStatus.requiresAuthentication = false
                extensionStatus.passEntriesAvailable = false
                extensionStatus.remotePassEntriesAvailable = false
                completion(extensionStatus)
            }
        }
    }
}