Compartilhar via


Apple Pay no Xamarin.iOS

Este guia explora a configuração do ambiente Xamarin.iOS para uso com o Apple Pay para pagar por bens físicos, como comida, entretenimento e assinaturas por meio de seu aplicativo. Inclui informações sobre os identificadores, certificados e direitos necessários.

O Apple Pay foi introduzido junto com o iOS 8, permitindo que os usuários paguem por bens físicos, como comida, entretenimento e assinaturas por meio de seus dispositivos iOS. Ele está disponível no iPhone 6 e iPhone 6 Plus, e também pode ser emparelhado com o Apple Watch para compras na loja. Quando usado em um iPhone, ele usa o Touch ID como uma forma de confirmar e autorizar transações no cartão de crédito ou débito de um usuário.

Requisitos

O Apple Pay só está disponível no iOS 8 e superior e, portanto, requer um mínimo de Xcode 6.

Os seguintes itens também são necessários para integrar o Apple Pay ao seu aplicativo:

  • Plataforma do processador de pagamento
  • Identificador do comerciante
  • Um certificado do Apple Pay
  • Direito ao Apple Pay

Este documento analisará esses itens com mais detalhes.

Diferenças entre Apple Pay e IAP

A principal diferença entre o Apple Pay e a Compra no Aplicativo (IAP) diz respeito aos produtos que eles vendem. Bens físicos são vendidos via Apple Pay, alimentação, hospedagem e entretenimento físico (como ingressos de cinema) são exemplos disso. Em contraste, o IAP vende bens virtuais , como conteúdo premium ou extra, e assinaturas – pense em meses adicionais de um serviço de streaming ou vidas extras em um jogo.

Os frameworks utilizados também são uma diferença fundamental; O PassKit é usado para o Apple Pay, enquanto o StoreKit fornece a API de estrutura para IAP.

Com o Apple Pay, a Apple afirma que "não cobra dos usuários, comerciantes ou desenvolvedores para usar o Apple Pay para pagamentos". Em comparação, o IAP tem uma taxa de 30% para cada transação. Além disso, com o Apple Pay, a transação não passa pela Apple, mas sim por uma plataforma de pagamento.

Usando uma plataforma de processador de pagamento

Uma das partes fundamentais do Apple Pay é o processamento de pagamentos. Embora seja possível fazer isso sozinho, requer conhecimento significativo de criptografia - conforme detalhado no guia de processamento de pagamentos da Apple. As plataformas de processamento de pagamento, por outro lado, lidam com essas operações para você, permitindo que você se concentre na construção de seu aplicativo.

Duas opções incluem:

Provisionamento para Apple Pay

Configurar um aplicativo para usar o Apple Pay requer configuração no Apple Developer Portal e dentro do seu aplicativo. Há várias etapas que devem ser seguidas para provisionar com sucesso seu aplicativo para o Apple Pay:

  1. Crie um ID de comerciante:
    • Siga os passos aqui
  2. Crie uma ID de aplicativo com o recurso Aplicar pagamento e adicione o comerciante a ela:
    • Siga os passos aqui
  3. Gere um certificado para o ID do comerciante:
    • Siga os passos aqui
  4. Gere um perfil de provisionamento com a ID do aplicativo recém-criada:
    • Siga os passos aqui
  5. Adicione direitos ao Apple Pay:
    • Selecione o direito ao pagamento da Apple, conforme detalhado aqui, ou adicione manualmente o par chave/valor ao arquivo a partir daqui

Trabalhar com o Apple Pay

A Apple fez várias melhorias no Apple Pay no iOS 10 que permitem ao usuário fazer pagamentos seguros a partir de sites e por meio da interação com Siri e Maps.

Com o iOS 10, várias novas APIs foram adicionadas que funcionam com iOS e watchOS para suportar redes de pagamento dinâmicas e um novo ambiente de teste de sandbox.

Integração do site Apple Pay

Novo no iOS 10, o desenvolvedor pode incorporar o Apple Pay diretamente em seus sites usando o ApplePay JS. Os usuários que navegam no site com o Safari no iOS ou macOS podem fazer pagamentos com o Apple Pay validando a transação em seu iPhone ou Apple Watch. Para obter mais informações, consulte ApplePay JP Framework Reference.

Aprimoramentos do PassKit Framework

No iOS 10, a estrutura do PassKit foi expandida para oferecer suporte ao Apple Pay fora e permitir que os emissores de UIKit cartões apresentem seus próprios cartões de dentro de seus aplicativos.

Suporte ao Apple Pay fora do UIKit

Usando PKPaymentAuthorizationController e PKPaymentAuthorixationControllerDelegate, um aplicativo pode oferecer suporte à mesma funcionalidade fornecida por PKPaymentAuthorizationViewController sem usar UIKit. Embora essa nova API seja necessária para oferecer suporte ao Apple Pay no Apple Watch (e em intenções específicas também), ela é opcional em outras situações (como aplicativos existentes). No entanto, a Apple sugere mudar para a nova API o mais rápido possível para fornecer amplo suporte ao Apple Pay em todos os aplicativos do desenvolvedor com uma única base de código. Para obter mais informações sobre a integração do Intents e da Siri, consulte nossa documentação de Introdução ao SiriKit .

Apresentando cartões de emissor de dentro de aplicativos

Com o iOS 10, novos recursos foram adicionados à estrutura do PassKit que permitem que os emissores de cartões apresentem seus cartões de dentro de seus próprios aplicativos. O desenvolvedor pode adicionar um PKPaymentButtonTypeInStore UIButton à interface do usuário do aplicativo que exibirá um botão do Apple Pay para um cartão.

O PresentPaymentPass método da classe PKPassLibrary também pode ser usado para exibir programaticamente o cartão.

Novo Suporte à Rede de Pagamento

Novo no iOS 10, um aplicativo pode oferecer suporte automaticamente a uma nova rede de pagamento quando estiver disponível sem que o desenvolvedor precise modificar, recompilar o aplicativo e reenviá-lo para a App Store.

O novo método AvailableNetworks da PKPaymentNetwork classe permite que um aplicativo descubra as redes disponíveis no dispositivo do usuário em tempo de execução. Além disso, a propriedade SupportedNetworks foi expandida para usar o nome do provedor de pagamento como um argumento. Usando esses métodos, um aplicativo pode oferecer suporte automaticamente a qualquer rede que o provedor de pagamento suporta.

Para obter mais informações, consulte nossa Configuração do Apple Pay e o Guia do Apple Pay.

Novo ambiente de teste

Com o iOS 10, a Apple introduziu um novo ambiente de teste que permite ao desenvolvedor provisionar cartões de pagamento de teste diretamente em um dispositivo iOS. Esse novo ambiente de teste retorna dados de pagamento de teste criptografados para o aplicativo.

Para habilitar o novo ambiente de teste, faça o seguinte:

  1. Crie uma nova conta do iCloud de teste no iTunes Connect.
  2. Faça login no dispositivo iOS com a nova conta de teste.
  3. Defina a região desejada para testar o aplicativo.
  4. Use um dos cartões de pagamento de teste do Guia do Apple Pay para fazer pagamentos.

Importante

Ao mudar de Conta do iCloud, o dispositivo mudará automaticamente para o novo ambiente de teste. No entanto, a Apple ainda exige que o aplicativo seja testado com cartões reais em um ambiente de produção antes de enviar para a iTunes App Store.

Resumo

Neste artigo, exploramos os diferentes itens necessários para usar o Apple Pay em seu aplicativo. Analisamos como criar uma ID de comerciante e como ela é usada no Entitlements.plist, que precisa ser modificado manualmente.