Apple Pay

Apple Pay é uma carteira virtual. Ele permite que os compradores realizem 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

  1. Para utilização da Apple Pay é necessário que a loja já esteja cadastrada no programa AppleID. Para realizar o cadastro, acesse a URL descrita abaixo e siga todos os passos requeridos pela Apple:

(https://developer.apple.com/programs/enroll/)

  1. Seguir os passos dessa documentação para completar a integração junto à Apple
  2. Contratar o Pagador API REST como gateway de pagamento
  3. Contratar o Cielo 3.0 como adquirência
  4. Integrar com o Pagador API REST (https://braspag.github.io/manual/braspag-pagador)

Etapa 1. Configurando o Merchant Identifier

Passo 1. Criando o Merchant Identifier

O primeiro passo é a criação do Merchant Identifier através do portal de desenvolvedores da Apple.

  1. Na seção Certicates, Identifiers & Profiles

https://developer.apple.com/account/resources

selecione “Identifiers” no menu lateral, então clique no botão (+) no canto superior esquerdo.

Step1.1

  1. Selecione “Merchant IDs”, e então clique no “Continue”.

Step1.2

  1. Coloque um valor no campo “Merchant description” e “Identifier Name”, e clique em “Continue”.

Step1.3

  1. Clique em “Register”.

Step1.4

Passo 2. Solicitar o certificado “.CSR” à Braspag

O próximo passo é solicitar à Braspag a geração do certificado no formato “.CSR”. Para tanto, entre em contato com o time de atendimento da Braspag através do canal abaixo:

https://suporte.braspag.com.br/hc/pt-br/requests/new

Na solicitação, informar:

  1. O Merchant Identifier criado no Passo 1
  2. O Merchant ID de sua loja na Braspag em Produção.

Nossa equipe de atendimento retornará com o arquivo “.CSR” em até 48 horas úteis.

Passo 3. Criar o certificado de processamento do pagamento na Apple

Com o objetivo de criar um certificado de processamento de pagamento à ser utilizado em sua loja virtual ou aplicativo, é necessário seguir os passos abaixo:

  1. No menu Certicates, Identifier & Profiles

https://developer.apple.com/account/resources

Selecione Identifiers no menu lateral.

  1. Selecione Identifiers, encontre o utilizando-se o filtro localizado à direita superior (“Merchant IDs”)

Step2.1

  1. À direita selecione o identifier criado anteriormente

Step2.2

  1. Perto do “Apple Pay Payment Processing Certificate” clique em “Create Certificate”.

Step2.3

  1. Deixe a opção “No” em “Edit or Configure Merchant ID”

Step2.4

  1. Na caixa de diálogo escolha o certificado “.CSR” enviado pela Braspag.

Step2.5

  1. Clique em “Continue”

Step2.6

  1. Clique em “Download” para baixar o arquivo “.CER”.

Step2.7

Para mais detalhes acesse:

https://help.apple.com/developer-account/#/devb2e62b839

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 da Apple em https://developer.apple.com/documentation. A implementação é totalmente self-service.

Após todo o processo realizado na API da Apple, eles deverão retornar um JSON contendo dois campos importantes na que serão utilizados no próximo passo. Eles se chamam 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"
}

Observações

  1. Durante a implementação da Apple haverá uma referência ao certificado “.CER” gerado no passo anterior para criptografar os dados durante a comunicação com a Apple.
  2. No fluxo de integração não se deve realizar a implementação do processo de descriptografia dos dados retornados pela Apple pois, para clientes Braspag, este trabalho será realizado por nossa solução de gateway Pagador.

Etapa 3. Integração com Pagador (descriptograia e autorização)

A autorização com o token do Apple Pay acontece da mesma forma que uma autorização padrão de um cartão de crédito, porém, ao invés de fornecer os dados do cartão abertos, deverá fornecer o token recebido pelo Apple Pay, conforme o exemplo abaixo:

Request

{
   "MerchantOrderId": "2017051002",
   "Customer": {
     (…)
   },
   "Payment": {
      "Type": "CreditCard",
      "Amount": 1000,
      "Provider": "Cielo30",
      "Installments": 1,
      "Currency": "BRL",
      "Wallet": {
         "Type": "ApplePay",
         "WalletKey":"['paymentData.data']",
         "AdditionalData": {
            "EphemeralPublicKey": "['ephemeralPublicKey.header.EphemeralPublicKey']"
         }
      }
   }
}
Parâmetros do Header Type Descrição
MerchantID GUID(36) ID do estabelecimento no Pagador.
MerchantKey String(24) Chave da API para o Pagador
Parâmetro Type Descrição
MerchantOrderId String (50) Número de identificação do Pedido
Customer Nó com dados do comprador Vide documentação do Pagador
Payment.Type String (100) Tipo do Meio de Pagamento. Possibilidades: “CreditCard” ou “DebitCard”
Payment.Amount Número (15) Valor do Pedido (ser enviado em centavos)
Payment.Provider String (15) Nome da provedora de Meio de Pagamento. Para transações Apple Pay, utilize “Cielo30”
Payment.Installments Número (2) Número de Parcelas
Payment.Wallet.Type String (15) Nome da provedora de Meio de Pagamento. Para transações Apple Pay, utilize “ApplePay”
Payment.Wallet.WalletKey String Preencher com o valor do parâmetro “paymentData.data” retornado pelo Apple Pay
Payment.Wallet.AdditionalData.EphemeralPublicKey String Preencher com o valor do parâmetro “ephemeralPublicKey.header.EphemeralPublicKey” retornado pelo Apple Pay

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 em nossa documentação do Pagador, porém com a adição do nó Payment.Wallet repetindo os mesmos campos utilizados na autorização, como descrito acima.