<!--
{
  "documentType" : "article",
  "framework" : "AppStoreConnectAPI",
  "identifier" : "/documentation/AppStoreConnectAPI/managing-payment-processing-certificates",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Managing merchant IDs and Payment Processing certificates"
}
-->

# Managing merchant IDs and Payment Processing certificates

Create and update certificates so your app uses Apple Pay and Wallet.

## Discussion

Managing your merchant Identifier (ID) and Payment Processing certificates keeps the Apple Pay service active in your app. To set up your Apple developer account and Xcode to implement Apple Pay in your apps, complete three steps:

- Create a merchant ID.
- Create a Payment Processing certificate. To learn more about certificates for Apple Pay and Wallet, see [Configure Apple Pay](https://developer.apple.com/help/account/configure-app-capabilities/configure-apple-pay/).
- Enable Apple Pay in Xcode. To learn more see, [Setting up Apple Pay](https://developer.apple.com/documentation/passkit/setting-up-apple-pay)
  Once you set up Apple Pay in your apps, you then can replace Payment Processing certificates as they near their expiration date — 25 months after you create them. To learn more, see [Maintaining Your Environment](https://developer.apple.com/documentation/apple_pay_on_the_web/maintaining_your_environment#overview).

### Create a merchant ID

A merchant ID uniquely identifies you to Apple Pay as a merchant who is able to accept payments. A merchant ID never expires, and you can use the same one for multiple apps.

To create a merchant ID, use [`Create a merchant id`](/documentation/AppStoreConnectAPI/POST-v1-merchantIds).

Here’s an example payload:

```json
"data": {
        "type": "merchantIds",
        "attributes": {
            "identifier": "com.myapp.merchant1",
            "name": "MyMerchantName"
        }
    }
}
```

> The value for `identifier` is a unique identifier for your merchant. The value for `name` is a descriptive name for the merchant.

### Create Payment Processing certificate

To create a certificate to use with Apple Pay, use [`Create a certificate`](/documentation/AppStoreConnectAPI/POST-v1-certificates).

Here’s an example payload:

```json
{
  "data": {
    "type": "certificates",
    "attributes": {
        "certificateType": "APPLE_PAY",
        "csrContent" : "<PEM-CSR-Content>"
    },
    "relationships": {
      "merchantId": {
        "data": {
          "type": "merchantIds",
          "id": "1234567890"
        }
      }
    }
  }
}
```

> The `id` field in the example payload is a 10-character string that the prior request returns. The `csrContent` is your certificate-signing request.

### Rotate a Payment Processing certificate

Use one of three options to replace a payment-processing certificate nearing its 25-month expiration date. Each option takes into account that you can have more than one payment processing certificate, but only one can be `activated` for use at any time:

- Expire and create: Let the existing Payment Process certificate expire. Then create a new Payment Processing certificate using [`Create a certificate`](/documentation/AppStoreConnectAPI/POST-v1-certificates). The created certificate automatically has the `activated` key set to `TRUE`.
-  Create then revoke: Create a new Payment Processing certificate using [`Create a certificate`](/documentation/AppStoreConnectAPI/POST-v1-certificates). Revoke the existing certificate nearing expiration by using [`Revoke a certificate`](/documentation/AppStoreConnectAPI/DELETE-v1-certificates-_id_). The new Payment Processing certificate automatically has the `activated` key set to `TRUE`.
-  Create and activate: Create a new Payment Processing certificate using [`Create a certificate`](/documentation/AppStoreConnectAPI/POST-v1-certificates). Then explicitly “activate” the new certificate using [`Modify a Certificate`](/documentation/AppStoreConnectAPI/PATCH-v1-certificates-_id_).

> Note: The “Create and activate” option also deactivates the expiring certificate by automatically setting the `activated` key to `FALSE`.

---

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)