Apple Pay

O Apple Pay é uma carteira digital que permite realizar pagamentos em lojas virtuais e aplicativos de forma prática e segura, utilizando cartões de crédito e débito cadastrados na conta e nos dispositivos Apple.

Pré-requisito

Para usar o Apple Pay, a loja deve estar cadastrada no Apple Developer Program. O cadastro deve ser feito, seguindo todas as etapas exigidas pela Apple.


Certificados

Para iniciar a integração com o Apple Pay, a loja realiza a configuração inicial no Portal de Desenvolvedores da Apple e inicia o processo de geração dos certificados necessários para continuar a integração. Nesse modelo, a autorização ocorre com cartão criptografado, e a loja não tem acesso aos dados do cartão, que são enviados em forma de token.

O processo de criação dos certificados do Apple Pay ocorre da seguinte forma:

  1. A loja cria o merchant identifier no portal de desenvolvedores da Apple;
  2. A Apple registra e disponibiliza o merchant identifier;
  3. A loja solicita a criação do certificado CSR e envia o merchant identifier e o MerchantId para o atendimento Cielo.
  4. A loja envia o certificado CSR para a Apple;
  5. A Apple gera o certificado CER;
  6. A loja faz o download do certificado CER.

Criar o Merchant Identifier

A criação do merchant identifier deve ser feita através do Portal de Desenvolvedores da Apple, da seguinte maneira:

  1. Na seção "Certificates, Identifiers & Profiles", selecione "Identifiers" no menu lateral, e clique no botão (+) ao lado do título:

    Tela de Certificates, Identifiers & Profiles da Apple Pay
  2. Selecione a opção "Merchant IDs" e clique em Continue:

    Tela para selecionar o Merchant IDs
  3. Preencha os campos "Description" e "Identifier", conforme suas especificações, e clique em Continue:

    Tela para registrar o Merchant ID
  4. Para concluir o cadastro, clique em Register:

    Tela para finalizar o registro do Merchant ID

Solicitar o certificado CSR

Para solicitar a geração do certificado no formato CSR, entre em contato com o atendimento Cielo e informe:

  1. Seu Merchant Identifier da Apple;

Exemplo: merchant_braspag_teste

  1. O MerchantId seu identificador da loja em produção no Gateway de Pagamento.

Exemplo: 8937bd5b-9796-494d-9fe5-f76b3e4da633

Após a solicitação, o atendimento Cielo enviará o arquivo CSR.


Criar o certificado CER

Para criar o certificado de processamento de pagamento CER, que será utilizado na loja virtual ou no aplicativo, acesse o Portal de desenvolvedores da Apple e siga as instruções abaixo.

  1. Na seção "Certificates, Identifiers & Profiles", selecione "Identifiers", no menu lateral.

  2. No filtro localizado no canto superior direito ("App IDs"), selecione "Merchant IDs":

    Tela de Certificates, Identifiers & Profiles da Apple Pay onde ultilizando o filtro deve localizar o item Merchant IDs
  3. Selecione o merchant identifier criado anteriormente:

    Tela para selecionar o identifier criado anteriormente
  4. No bloco "Apple Pay Payment Processing Certificate", clique em Create Certificate ao final do texto explicativo:

    Selecionar o botão "create certificate" no bloco "Apple Pay Payment Processing Certificate"
  5. Em "Edit or Configure Merchant ID" selecione a opção "No":

Selecionar a opção "No" em Edit or Configure Merchant ID"
  1. Na caixa de diálogo, clique em Choose File e selecione o certificado CSR fornecido pelo atendimento Cielo:

Importante

Nessa etapa, não utilize o certificado CER gerado automaticamente pela Apple. Utilize exclusivamente o arquivo CSR fornecido pelo atendimento Cielo.

Na caixa de diálogo, clique em `Choose File` e escolha o certificado ".CSR"
  1. Clique em Continue para gerar o certificado:
Clique em "continuar" para gerar o o certificado
  1. Clique em Download para baixar o arquivo CER:
Clique em `Download` para baixar o arquivo ".CER"

Para mais informações, consulte o Developer Account Help da Apple.


Integração com Apple Pay

A disponibilização do pagamento via Apple Pay depende da integração com a carteira digital da Apple. Para implementar essa funcionalidade, siga as orientações disponíveis na Documentação da Apple.

Ao concluir a integração com a Apple, você receberá um objeto JSON com as informações necessárias para dar continuidade à transação como Gateway de Pagamento. Utilize os seguintes campos:

  • paymentData.data;
  • ephemeralPublicKey.header.EphemeralPublicKey.
{
  "applePayData": {
    "paymentData": {
      "version": "EC_v1",
      "data": "as01vRj+n9crY2vome7zc+u7Tz0+qg2La/8IUHpJIjFN6ThhUqLnSrskQHTrEbcYPiMksFK0+ddo9sZu70uJQJH1I+44N6PrVhilNDem97vOXq2VYDXiVJ27F/Q9wGQDgZBeGcZ6Pml9SIelHqUauBcQoOatrlnWPUL8kbdpT8WqgzXyaCh7oeTz=z6++rp/ofjvSjnGtOqAUsnrzvw4uzkcyKUSsfROdJ6B/Xzgu/T9fMIr5UxXD2DPF1SNh3ydEJABKz4HFjDW7ObvbQeua4GYxJdpQLpI3NgUbJy91E/LOyb/+PcCtO+0=a41tBrfnTTF9qsPuCIw8HWIEEKSRofn27NTofxev/i+nHEfqEtqNrN/epIvhzceD/gDiGetfiLKMzf94ARmpWUAMC==",
      "signature": "(…)",
      "header": {
        "ephemeralPublicKey": "MFkwEwZJKoZIzj0CAQYIKo12zj0DAQcDQgAEo+ReGClSmQ4hDJD1yh9nci3V4l7kPm2AQtKZMMvuNS0iK5sn/1A9l3kw1B1xCqOycZmnPSng7p5hpTvrei1BCA==",
        "publicKeyHash": "KXN06+BtJu6yEfF9zDhr7f4M/2HwVybnx0FGfC520gB=",
        "transactionId": "71c5b61c3791546e94d2b4893a6c69aaac2ab86b5c113c83a7d89057906a9b5f"
      }
    },
    "paymentMethod": {
      "displayName": "MasterCard 1212",
      "network": "MasterCard",
      "type": "credit"
    },
    "transactionIdentifier": "81C5B61C3791646E94D2B4893A6C69BBBC2AB86B5C363C83A7D89057906A9BAC"
  },
  "x_document": "24562608994",
  "x_name": "João da Silva"
}

⚠️

Atenção:

  • Durante a integração com a Apple, haverá referência ao certificado CER para criptografar os dados na comunicação. A criptografia transforma dados sensíveis, como informações de cartão, em um formato ilegível e protege essas informações contra acessos não autorizados;
  • O Gateway de Pagamento converte os dados criptografados para o formato original, permitindo o processamento seguro.

Criar transação com Apple Pay

A autorização de uma transação com Apple Pay segue o mesmo fluxo de um pagamento com cartão de crédito. No entanto, em vez de informar os dados do cartão, você deve enviar os dados criptografados retornados pelo Apple Pay. Essas informações devem ser mapeadas para os seguintes campos da requisição:

  • Payment.Wallet.WalletKey
  • Payment.Wallet.AdditionalData.EphemeralPublicKey

O exemplo a seguir ilustra como esses campos devem ser preenchidos na criação da transação.

Exemplo de transação com os campos de e-wallet

{
  "merchantOrderId": "123456789",
  "customer": {
    "name": "Aline de Souza",
    "identity": "58154781050",
    "identityType": "CPF",
    "email": "[email protected]",
    "birthdate": "1990-01-01",
    "ipAddress": "192.168.0.1",
    "address": {
      "street": "Rua das Rosas",
      "number": "123",
      "complement": "apartamento 101",
      "zipCode": "12345987",
      "city": "São Paulo",
      "state": "SP",
      "country": "BR",
      "district": "Jardim das Flores"
    },
    "deliveryAddress": {
      "street": "Rua das Rosas",
      "number": "123",
      "complement": "apartamento 101",
      "zipCode": "12345987",
      "city": "São Paulo",
      "state": "SP",
      "country": "BR",
      "district": "Jardim das Flores"
    }
  },
  "payment": {
    "provider": "Cielo30",
    "type": "CreditCard",
    "amount": 22289,
    "currency": "BRL",
    "installments": 3,
    "capture": true,
    "wallet": {
      "type": "ApplePay",
      "walletKey": "9zcCAciwoTS+qBx8jWb++64eHT2QZTWBs6qMVJ0GO+AqpcDVkxGPNpOR/D1bv5AZ62+5lKvucati0+eu7hdilwUYT3n5swkHuIzX2KO80Apx/SkhoVM5dqgyKrak5VD2/drcGh9xqEanWkyd7wl200sYj4QUMbeLhyaY7bCdnnpKDJgpOY6J883fX3TiHoZorb/QlEEOpvYcbcFYs3ELZ7QVtjxyrO2LmPsIkz2BgNm5f+JaJUSAOectahgLZnZR+easdhghrsa/E9A6DwjMd0fDYnxjj0bQDfaZpBPeGGPFLu5YYn1IDc",
      "additionalData": {
        "EphemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoedz1NqI6hs9hEO6dBsnn0X0xp5/DKj3gXirjEqxNIJ8JyhGxVB3ITd0E+6uG4W6Evt+kugG8gOhCBrdUU6JwQ=="
      }
    }
  }
}

ParâmetroDescriçãoTipo e Tamanho
Payment.Wallet.TypeNome do provedor do meio de pagamento. Para transações Apple Pay, utilize "ApplePay".String (15)
Payment.Wallet.WalletKeyPreencher com o valor do parâmetro paymentData.data retornado pelo Apple Pay.String
Payment.Wallet.AdditionalData.EphemeralPublicKeyPreencher com o valor do parâmetro ephemeralPublicKey.header.EphemeralPublicKey retornado pelo Apple Pay.String
ℹ️

Vá para a Referência da API para acessar os exemplos completos de requisição e resposta.