Apple Pay: Gestão de Certificados
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.
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
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
- Cadastro do .CER via endpoint da Pagarme
🛠️ Passo a Passo
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. Caso esteja utilizando a sk_test de sua conta de testes, verificar os detalhes na sessão de Ambiente de Testes
Endpoint: POST https://api.pagar.me/core/v5/apple-pay/key-pairs
Chamada via cURL:
curl --request POST \
--url https://api.pagar.me/core/v5/apple-pay/key-pairs \
--header 'Authorization: Basic {SUA_SK_EM_BASE64}' \
--output ecccertreq.csr
- O parâmetro
--outputjá cria automaticamente um arquivo com o conteúdo da resposta. O nomeecccertreq.csré apenas um exemplo, você pode alterá-lo. - A resposta da API é um texto em base64 representando a chave pública.
Sucesso (200 OK)
-----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
Este passo deve ser feito dentro do Portal da AppleDeveloper, para mais informações sobre a criação de conta consulte este link. 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.

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

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

4- Clique em Download para baixar o arquivo .CER

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.pagar.me/core/v5/apple-pay/certificates
Chamada via cURL:
curl --request POST \
--url https://api.pagar.me/core/v5/apple-pay/certificates \
--header 'Authorization: Basic {SUA_SK_EM_BASE64}' \
--form 'certificate=@"/caminho/seu/arquivo/apple_pay.cer"'- O parâmetro
certificatedeve 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:
{
"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
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 certificadossem pausar suas vendas (zero downtime).
Consultar certificados ativos
Para verificar datas de expiração e obter o externalId:
Endpoint: GET https://api.pagar.me/core/v5/apple-pay/certificates
Chamada via cURL:
`curl --request GET \
--url https://api.pagar.me/core/v5/apple-pay/certificates \
--header 'Authorization: Basic {SUA_SK_EM_BASE64}'Sucesso (200 OK)
[
{
"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
Após confirmar que o novo certificado está funcionando, remova o antigo para manter sua conta organizada:
Endpoint: DELETEhttps://api.pagar.me/core/v5/apple-pay/certificates/{externalId}
Chamada via cURL:
curl --request DELETE \
--url https://api.pagar.me/core/v5/apple-pay/certificates/{externalId} \
--header 'Authorization: Basic {SUA_SK_EM_BASE64}'Sucesso (204 No Content)
⚠️ 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)
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.pagar.me/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.
Updated 3 days ago
