<!--
{
  "availability" : [
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "WatchKit",
  "identifier" : "/documentation/WatchKit/WKInterfacePaymentButton",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "WatchKit"
    ],
    "preciseIdentifier" : "c:objc(cs)WKInterfacePaymentButton"
  },
  "title" : "WKInterfacePaymentButton"
}
-->

# WKInterfacePaymentButton

A button that you can use to trigger payments through Apple Pay.

```
class WKInterfacePaymentButton
```

## Overview

Use a payment button to initiate an Apple Pay transaction on Apple Watch.

![A screenshot of the Apple Pay Button.](images/com.apple.watchkit/media-2930172@2x.png)

> Note:
> The payment button (see [Figure 1](/documentation/watchkit/wkinterfacepaymentbutton#2930172)) does not create or process payments. It simply provides a button with the Apple Pay mark. You must connect this button to an action method that creates an Apple Pay payment request. For more information on using the Apple Pay mark, see [Apple Pay Identity Guidelines](https://developer.apple.com/apple-pay/Apple-Pay-Identity-Guidelines.pdf).

Do not subclass or create instances of this class yourself. Instead, drag a Payment Button object from your Object Library and add it to your storyboard. Then define an outlet in your interface controller class and connect it to the payment button object.

```objc
@property (weak, nonatomic) IBOutlet WKInterfacePaymentButton* paymentButton;
```

During the initialization of your interface controller, WatchKit creates a new instance of this class and assigns it to your outlet. At that point, you can use the object in your outlet to make changes to the payment button. This class does not provide any new public methods or properties. However, it does inherit the methods and properties of its superclass, the [`WKInterfaceObject`](/documentation/WatchKit/WKInterfaceObject) class.

To respond to taps in the payment button, declare a method of this form in the interface controller class that manages the button:

```objc
- (IBAction)beginApplePayTransaction
```

You can change the name of your action method to anything you like. In your Xcode storyboard, connect the button’s selector to the custom action method defined in your class. In the action method, create the payment request and present the payment sheet by calling a <doc://com.apple.documentation/documentation/PassKit/PKPaymentAuthorizationController> object’s <doc://com.apple.documentation/documentation/PassKit/PKPaymentAuthorizationController/present(completion:)> method.

Payment buttons can be used only to initiate Apple Pay transactions.

## Topics

### Initializing for SwiftUI

[`init(target:action:)`](/documentation/WatchKit/WKInterfacePaymentButton/init(target:action:))

Creates a payment button for use in SwiftUI.



---

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)