---
title: merchantCapabilities
framework: passkit
role: symbol
role_heading: Instance Property
path: passkit/pkpaymentrequest/merchantcapabilities
---

# merchantCapabilities

A bit field of the payment-processing protocols and card types that you support.

## Declaration

```swift
var merchantCapabilities: PKMerchantCapability { get set }
```

## Discussion

Discussion The threeDSecure and emv values of PKMerchantCapability specify the supported cryptographic payment protocols. At least one of these two values is required. Check with your payment processors about the cryptographic payment protocols they support. As a general rule, if you want to support China UnionPay cards, you use capabilityEMV. To support cards from other networks—like American Express, Visa, or Mastercard—use capability3DS. To filter the types of cards to make available for the transaction, pass the credit and debit values. If neither is passed, all card types will be available.

## See Also

### Setting merchant information

- [PKPaymentRequest.MerchantCategoryCode](passkit/pkpaymentrequest/merchantcategorycode-swift.struct.md)
- [merchantIdentifier](passkit/pkpaymentrequest/merchantidentifier.md)
- [PKMerchantCapability](passkit/pkmerchantcapability.md)
