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 --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)

-----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 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:

{
    "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

EtapaCódigo de ErroMensagemO que fazer?
Geração do Certificate Signing Request (.CSR)400 Bad RequestCould 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 Pagarme400 Bad RequestThe certificate field is required.Você precisa popular o campo Certificate com o .CER
Upload do Certificado Digital (.CER) para a Pagarme412 Precondition FailedThis certificate was already registeredVocê tentou fazer o upload de um certificado já cadastrado
Upload do Certificado Digital (.CER) para a Pagarme412 Precondition FailedMerchant identifier not presentMerchant 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 Pagarme412 Precondition FailedLimit of 2 certificates reached. Account over limit: acc_xptoLimite de certificados atingido, exclua um antigo para gerar um novo
Upload do Certificado Digital (.CER) para a Pagarme412 Precondition FailedThe certificate publicKeyHash does not match with the private key for this accountChave 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 Certificado404 Not FoundApple private key not found for the specified account.Chave não encontrada
Consulta de Certificado404 Not FoundApple certificate not foundA 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.


Did this page help you?