Apple Pay

A Apple Pay é uma carteira virtual. Ele permite que o comprador realize pagamentos em lojas virtuais e apps utilizando, de forma prática e segura, seus cartões de crédito e débito armazenados em suas contas e dispositivos Apple.

Pré-Requisitos

Para utilização do Apple Pay, é necessário que a loja já esteja cadastrada no programa AppleID. Além disso, você deve:

  1. Realizar o cadastro, acessando esta URL e seguindo todos os passos requeridos pela Apple;
  2. Seguir os passos dessa documentação para completar a integração junto à Apple;
  3. Contratar a API E-commerce Cielo;
  4. Contratar a Cielo 3.0 como adquirência;
  5. Integrar com a API E-commerce Cielo.

Atenção: A integração a seguir deve ser feita por lojas que enviam dados de cartão de forma criptografada. Se a sua loja envia a requisição de autorização de e-wallet com dados descriptografados, vá para Cartão descriptografado.

ETAPA 1 - Configuração do Merchant Identifier

Nesta etapa inicial, você deverá criar um merchant identifier para sua loja. Após criado, o merchant identifier deverá ser enviado à Cielo em solicitação a um certificado ".CSR". O certificado ".CSR" criado pela Cielo deverá ser utilizado na criação de um novo certificado junto à Apple, o certificado ".CER", que irá servir no seguimento para a segunda etapa do processo.

Passo 1 - 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 então clique no botão (+) ao lado do título:
Criar o Merchant Identifier
  1. Selecione a opção "Merchant IDs" e então clique em Continue:
Criar o Merchant Identifier
  1. Coloque um valor nos campos "Description" e "Identifier", seguindo suas especificações, e clique em Continue:
Criar o Merchant Identifier
  1. Para finalizar, clique em Register:
Criar o Merchant Identifier

Passo 2 - Solicitar o Certificado ".CSR"

Para solicitar à Cielo a geração do certificado no formato ".CSR", entre em contato com o nosso Atendimento e informe:

  1. O Merchant Identifier criado no "Passo 1";
  2. O Merchant ID de sua loja na Cielo em produção.

Nossa equipe irá retornar com o arquivo ".CSR" em até 48 horas úteis.

Passo 3 - Criar o Certificado ".CER"

Para criar um certificado de processamento de pagamento (".CER"), que será utilizado em sua loja virtual ou aplicativo, é necessário acessar o Portal de Desenvolvedores da Apple e seguir os passos abaixo:

  1. Na seção "Certificates, Identifiers & Profiles", selecione "Identifiers", no menu lateral.
  2. Utilizando o filtro localizado à direita superior ("App IDs"), encontre o item "Merchant IDs":
Criar o Certificado ".CER"
  1. Selecione o identifier criado anteriormente:
Criar o Certificado ".CER"
  1. No bloco "Apple Pay Payment Processing Certificate", clique no botão Create Certificate ao final do texto explicativo:
Criar o Certificado ".CER"
  1. Escolha a opção "No" em "Edit or Configure Merchant ID":
Criar o Certificado ".CER"
  1. Na caixa de diálogo, clique em Choose File e escolha o certificado ".CSR" enviado pela Cielo:
Criar o Certificado ".CER"
  1. Clique em Continue:
Criar o Certificado ".CER"
  1. Clique em Download para baixar o arquivo ".CER":
Criar o Certificado ".CER"

Para mais detalhes, acesse a Developer Account Help da Apple.

ETAPA 2. Integração com Apple Pay

Boa parte do processo para disponibilização do botão "Pagar com Apple Pay" no seu app ou site será realizado na sua integração junto à wallet. Por isso, recomendamos que siga as orientações disponíveis no site de Documentação da Apple para a implementação, que é totalmente self-service.

Ao final do processo realizado na API da Apple, você receberá um JSON contendo dois campos importantes que deverão ser utilizados na "ETAPA 3". São os campos paymentData.data e 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 implementação da Apple, haverá uma referência ao certificado ".CER", gerado durante a ETAPA 1, para criptografar os dados durante a comunicação com a Apple. No fluxo de integração não implemente o processo de descriptografia dos dados retornados pela Apple pois esse trabalho é feito pela API E-commerce Cielo.

ETAPA 3. Integração com a API E-commerce Cielo (descriptografia e autorização)

A autorização com o token do Apple Pay acontece da mesma forma que a autorização padrão de um cartão de crédito. Porém, ao invés de se fornecer os dados do cartão abertamente, deverá ser fornecido o token recebido pelo Apple Pay, conforme o exemplo abaixo:

Requisição

{
   "MerchantOrderId": "2017051002",
   "Customer": {
     (…)
   },
   "Payment": {
      "Type": "CreditCard",
      "Amount": 1000,
      "Installments": 1,
      "Currency": "BRL",
      "Wallet": {
         "Type": "ApplePay",
         "WalletKey":"['paymentData.data']",
         "AdditionalData": {
            "EphemeralPublicKey": "['ephemeralPublicKey.header.EphemeralPublicKey']"
         }
      }
   }
}
Parâmetros do HeaderDescriçãoTipo e Tamanho
MerchantIdID do estabelecimento na API E-commerce Cielo.GUID (36)
MerchantKeyChave da API para a API E-commerce Cielo.String (24)
ParâmetroDescriçãoTipo e Tamanho
MerchantOrderIdNúmero de identificação do pedido.String (50)
CustomerNó com dados do comprador.Consulte o manual da API E-commerce Cielo.
Payment.TypeTipo do meio de pagamento. Possibilidades: "CreditCard" / "DebitCard".String (100)
Payment.AmountValor do pedido, em centavos.Número (15)
Payment.InstallmentsNúmero de parcelas.Número (2)
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

Resposta

{
    "MerchantOrderId": "2017051002",
    "Customer": {(…)
    },
    "Payment": {
        (…)
        "CreditCard": {
            (…)
        },
        (…)
        "Wallet": {
            "Type": "ApplePay",
            "WalletKey": "as01vRj+n9crY2vome7zc+u7Tz0+qg2La/8IUHpJIjFN6ThhUqLnSrskQHTrEbcYPiMksFK0+ddo9sZu70uJQJH1I+44N6PrVhilNDem97vOXq2VYDXiVJ27F/Q9wGQDgZBeGcZ6Pml9SIelHqUauBcQoOatrlnWPUL8kbdpT8WqgzXyaCh7oeTz=z6++rp/ofjvSjnGtOqAUsnrzvw4uzkcyKUSsfROdJ6B/Xzgu/T9fMIr5UxXD2DPF1SNh3ydEJABKz4HFjDW7ObvbQeua4GYxJdpQLpI3NgUbJy91E/LOyb/+PcCtO+0=a41tBrfnTTF9qsPuCIw8HWIEEKSRofn27NTofxev/i+nHEfqEtqNrN/epIvhzceD/gDiGetfiLKMzf94ARmpWUAMC==",
            "AdditionalData": {
                "EphemeralPublicKey": "MFkwEwZJKoZIzj0CAQYIKo12zj0DAQcDQgAEo+ReGClSmQ4hDJD1yh9nci3V4l7kPm2AQtKZMMvuNS0iK5sn/1A9l3kw1B1xCqOycZmnPSng7p5hpTvrei1BCA=="
            }
        },
        (…)
        "Links": [
            (…)
        ]
    }
}

A resposta de autorização da wallet terá os mesmos campos apresentados na documentação API E-commerce Cielo, porém com a adição do nó Payment.Wallet repetindo os mesmos campos utilizados na autorização, como descrito acima.