---
title: "Apple Pay: Gestão de certificados (legado)"
url: "https://devcenter.stone.com.br/legacy-apple-pay-certificados"
image: "https://devcenter.stone.com.br/_og/d/c_Ocean.takumi,title_~QXBwbGUgUGF5OiBHZXN0w6NvIGRlIGNlcnRpZmljYWRvcyAobGVnYWRvKQ,props_eyJ0aGVtZSI6eyJtb2RlIjoibGlnaHQiLCJjb2xvcnMiOnsicHJpbWFyeSI6IiMzMEE2NkQifX19,p_Ii9sZWdhY3ktYXBwbGUtcGF5LWNlcnRpZmljYWRvcyI,s_B5X9POOor1eBilze.png"
---

# Apple Pay: Gestão de certificados

Geração, upload e rotação de certificados do Apple Pay: passo a passo, erros comuns e ambiente de sandbox.

Documentação legada do Pagar.me v5

Esta página descreve um conceito da **Pagar.me v5** (versão clássica). Para projetos novos, explore o **[API Catalog](https://devcenter.stone.com.br/catalog)**.

Este guia orienta a geração, upload e rotação de certificados para o Apple Pay de forma autônoma. Para detalhes sobre a integração no checkout e requisitos de domínio, consulte nossa [Documentação Geral do Apple Pay](https://devcenter.stone.com.br/legacy-apple-pay).

Este é um passo obrigatório para que o Pagarme consiga descriptografar os dados de pagamento enviados pela Apple no seu ecommerce. Sem o certificado ativo, as transações não podem ser processadas.

---

## [Visão Geral do Processo](#visão-geral-do-processo)

A integração de certificados é composta por duas etapas principais executadas em conjunto com a Stone (Pagarme) e o Apple Developer Portal:

-   **Geração do .CSR** via endpoint da Pagarme
-   **Cadastro do .CSR e Geração do .CER** no portal da [Apple Developer](https://account.apple.com/sign-in?appId=632&returnUrl=https%3A%2F%2Fdeveloper.apple.com%2Faccount%2F)
-   **Cadastro do .CER** via endpoint da Pagarme

---

## [Passo a Passo](#passo-a-passo)

### [Etapa 1 - Gerar o Certificate Signing Request (.CSR)](#etapa-1-gerar-o-certificate-signing-request-csr)

Para gerar o `.CSR`, faça a chamada abaixo com sua chave de autenticação (sk em base64), conforme detalhado na [Documentação do Pagar.me](https://devcenter.stone.com.br/apis/v5-docs-legacy/docs). Caso esteja utilizando a `sk_test` de sua conta de testes, verificar os detalhes na sessão de [Ambiente de Testes](https://devcenter.stone.com.br/legacy-apple-pay-certificados)

**Endpoint:** **POST** `https://api.stone.com.br/core/v5/apple-pay/key-pairs`

Chamada via cURL:

```bash
curl --request POST \
  --url https://api.stone.com.br/core/v5/apple-pay/key-pairs \
  --header 'Authorization: Basic {SUA_SK_EM_BASE64}' \
  --output ecccertreq.csr
 
```

-   O parâmetro `--output` já cria automaticamente um arquivo com o conteúdo da resposta. O nome `ecccertreq.csr` é apenas um exemplo, você pode alterá-lo.
-   A resposta da API é um **texto em base64** representando a chave pública.

**Sucesso (200 OK)**

```text
-----BEGIN CERTIFICATE REQUEST-----
MIIBATCBpwIBADBFMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMY
SW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEip+qly3a
NGNf82e2OSIB7guP+AAlameXfbjubTUDK3cTN09yMzpA8HA8lHUKEvX5SmewsZirt0CL/Dfdg5oq
I6AAMAoGCCqGSM49BAMCA0kAMEYCIQCy8ksvlhvoLfthVqB1EO5e32OhjDbiEz+JGvtepeq+0wIh
AOpn4Bv92r0cuZN4QjyIudWvj1qj/j1d6sP9+9ntkRRr
-----END CERTIFICATE REQUEST-----
```

  

### [ETAPA 2: Cadastro do .CSR e Geração do .CER no Portal da Apple Developer](#etapa-2-cadastro-do-csr-e-geração-do-cer-no-portal-da-apple-developer)

Este passo deve ser feito dentro do [Portal da AppleDeveloper](https://account.apple.com/sign-in?appId=632&returnUrl=https%3A%2F%2Fdeveloper.apple.com%2Faccount%2F), para mais informações sobre a criação de conta consulte [este link](https://devcenter.stone.com.br/legacy-apple-pay). Feito o cadastro, siga os passos abaixo:

**1-** Localize e clique na seção **Apple Pay Payment Processing Certificate** no portal da Apple Developer, inserido na página **Certificates, Identifiers & Profiles**.

![](https://files.readme.io/f2bc9a70d380d5d1bef3cca10ccc095535c38406aab43d2aede22b0e474c6370-C882316C-2A75-4069-84C2-5577697F7CCE-20260205-195749.png)

**2-** Escolha a opção `No` em **Edit or Configure Merchant ID**

![](https://files.readme.io/1d6f9aa983dd5d715a12f1f90e41f8a777d6420127b69fefe95bee2bbcb67e9e-C5F87FB8-7E41-485E-860C-536497AB2029-20260205-195823.png)

**3-** Na caixa de diálogo, clique em `Choose File` e faça o upload do arquivo `.CSR` gerado no passo anterior e clique em `Continue`

![](https://files.readme.io/71ecb49f101c7f1ce66f0934cde78cb4f2a456ab2e7d30e09388ce6dedd51a38-3CCE230A-B16F-4FA1-88EA-F4490491FC6D-20260205-195843.png)

**4-** Clique em `Download` para **baixar o arquivo** `.CER`

![](https://files.readme.io/67462aa4a1a882b2707f6208cb71e6220a26fa0c7a416e0ce21277773a822372-9186206C-884B-44F5-89E5-DD63A8A17172-20260205-195911.png)

  

### [ETAPA 3: Upload do Certificado Digital (.CER) para a Pagarme](#etapa-3-upload-do-certificado-digital-cer-para-a-pagarme)

Após baixar o certificado `.CER` no portal da Apple utilizando o `.CSR` gerado anteriormente, você deve enviá-lo para a Pagarme para habilitar a descriptografia das transações.

**Endpoint:** **POST** `https://api.stone.com.br/core/v5/apple-pay/certificates`

Chamada via cURL:

```bash
curl --request POST \
  --url https://api.stone.com.br/core/v5/apple-pay/certificates \
  --header 'Authorization: Basic {SUA_SK_EM_BASE64}' \
  --form 'certificate=@"/caminho/seu/arquivo/apple_pay.cer"'
```

-   O parâmetro `certificate` deve apontar para o **caminho local** onde o certificado está salvo.

**Sucesso (200 OK):** A resposta conterá um `externalId` (ex: `cert_xpto`). **Guarde este ID**, pois ele é necessário para gerenciar ou deletar o certificado futuramente.

**Exemplo:**

```json
{
    "externalId": "cert_xpto",
    "createdAt": "2026-02-04T15:15:04.4849894Z",
    "accountId": "acc_test",
    "merchantIdentifier": "merchant.com.test",
    "certificateName": "teste.cer",
    "expiresDate": "2027-02-04T00:00:00+00:00"
}
```

---

## [Gestão e Rotação de Certificados](#gestão-e-rotação-de-certificados)

Os certificados da Apple expiram a cada **25 meses**. Recomendamos iniciar a rotação antes do vencimento.

É permitido até **2 certificados ativos simultaneamente** por conta. Isso garante que você realize a **rotação de certificados**sem pausar suas vendas (zero downtime).

### [Consultar certificados ativos](#consultar-certificados-ativos)

Para verificar datas de expiração e obter o `externalId`:

**Endpoint:** **GET** `https://api.stone.com.br/core/v5/apple-pay/certificates`

Chamada via cURL:

```bash
`curl --request GET \
  --url https://api.stone.com.br/core/v5/apple-pay/certificates \
  --header 'Authorization: Basic {SUA_SK_EM_BASE64}'
```

**Sucesso (200 OK)**

```json
[
    {
        "externalId": "cert_xpto",
        "createdAt": "2026-02-04T15:15:04.4849894Z",
        "accountId": "acc_test",
        "merchantIdentifier": "merchant.com.test",
        "certificateName": "teste.cer",
        "expiresDate": "2027-02-04T00:00:00+00:00"
    }
]
```

### [Deletar certificados antigos](#deletar-certificados-antigos)

Após confirmar que o novo certificado está funcionando, remova o antigo para manter sua conta organizada:

**Endpoint:** **DELETE**`https://api.stone.com.br/core/v5/apple-pay/certificates/{externalId}`

Chamada via cURL:

```bash
curl --request DELETE \
  --url https://api.stone.com.br/core/v5/apple-pay/certificates/{externalId} \
  --header 'Authorization: Basic {SUA_SK_EM_BASE64}'
```

**Sucesso (204 No Content)**

---

## [Tabela de Erros Comuns](#tabela-de-erros-comuns)

| Etapa                                               | Código de Erro          | Mensagem                                                                         | O que fazer?                                                                     |
| :-------------------------------------------------- | :---------------------- | :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------- |
| Geração do Certificate Signing Request (.CSR)       | 400 Bad Request         | Could not create new key. Account already reached maximum number of certificates allowed. | Você já possui 2 .CSRs gerados. Delete um certificado antigo para gerar um novo  |
| Upload do Certificado Digital (.CER) para a Pagarme | 400 Bad Request         | The certificate field is required.                                               | Você precisa popular o campo Certificate com o .CER                              |
| Upload do Certificado Digital (.CER) para a Pagarme | 412 Precondition Failed | This certificate was already registered                                          | Você tentou fazer o upload de um certificado já cadastrado                       |
| Upload do Certificado Digital (.CER) para a Pagarme | 412 Precondition Failed | Merchant identifier not present                                                  | Merchant Identifier ausente. Isso pode identificar que houve algum erro no fluxo de geração do certificado do lado da Apple |
| Upload do Certificado Digital (.CER) para a Pagarme | 412 Precondition Failed | Limit of 2 certificates reached. Account over limit: acc_xpto                    | Limite de certificados atingido, exclua um antigo para gerar um novo             |
| Upload do Certificado Digital (.CER) para a Pagarme | 412 Precondition Failed | The certificate publicKeyHash does not match with the private key for this account | Chave pública não corresponde à conta. Isso pode significar que o .CER foi gerado no portal da Apple com outro .CSR incorreto |
| Deleção de Certificado                              | 404 Not Found           | Apple private key not found for the specified account.                           | Chave não encontrada                                                             |
| Consulta de Certificado                             | 404 Not Found           | Apple certificate not found                                                      | A conta não possui certificados cadastrados                                      |

---

## [Ambiente de Testes (Sandbox)](#ambiente-de-testes-sandbox)

### [Configurações de Sandbox](#configurações-de-sandbox)

Ao utilizar chaves de teste (`sk_test_`), você **deve** obrigatoriamente ajustar as URLs dos endpoints. O uso de URLs de produção com chaves de teste resultará em falhas no fluxo.

-   **URL de Testes:** `https://sdx.api.stone.com.br/core/v5/apple-pay/`
-   **Chave de Autenticação:** Utilize sua `sk_test_` convertida para Base64.

Certificados gerados no ambiente de testes não possuem validade para transações reais com cartões de produção.

---

**Jornada: [Cobrar um cliente](https://devcenter.stone.com.br/legacy-overview-transacao)**  
Etapa 20 de 22

[**Etapa anterior**Apple Pay](https://devcenter.stone.com.br/legacy-apple-pay)[**Próxima etapa**Cash](https://devcenter.stone.com.br/legacy-cash)

Siga a Stone nas redes sociais

[](https://www.facebook.com/stonepagamentos/)[](https://x.com/sejastone/)[](https://www.instagram.com/stone/)[](https://br.linkedin.com/company/stone-co)[](https://www.youtube.com/channel/UCk4L4JykgoDkN8YeuxkNqIQ)

© Stone Instituição de Pagamento S.A. CNPJ 16.501.555/0001-57

Av. Rebouças, 2880, 4º andar, Pinheiros, CEP 05.402-500 – São Paulo/SP

Instituição de pagamento autorizada pelo Banco Central do Brasil, nas modalidades de credenciadora e emissora de moeda eletrônica.