BLOG & NEWS

OUR MISSION IS TO HARNESS OUR CREATIVITY INTO A VIABLE SOLUTION.
CREATED WITH COMFORT IN MIND

Apple Pay es la plataforma de pago electrónico de Apple que permite realizar compras con muchos de sus dispositivos iOS y macOS. Las compras pueden realizarse desde un TPV contactless en la propia tienda o desde apps de iOS o macOS, incluyendo webs visitadas desde el navegador Safari.

Básicamente, Apple Pay almacena de forma segura los datos de nuestras tarjetas. En el momento de la compra se identifica al usuario bien mediante su huella dactilar (gracias al componente Touch ID integrado en algunos iPhones y Macs), o bien mediante el Apple Watch.

Aunque su lanzamiento se produjo en EEUU en 2014, en España está disponible desde finales de 2016, de momento solo a través de algunas entidades financieras.

¿Qué tecnología se usa en Apple Pay?

La comunicación con el TPV se realiza con el ya conocido protocolo NFC, el mismo que ya nos permite pagar acercando la tarjeta al terminal. La información de nuestras tarjetas se almacena en una app de iOS llamada Wallet, de forma cifrada y totalmente segura gracias a un chip específico integrado en el teléfono, denominado Secure Element. En ningún momento dicha información sale del dispositivo del usuario, ni es conocido por Apple ni por el vendedor. En su lugar, Apple Pay identifica cada pago y transacción con un token o identificador único generado por este chip.

Además, el componente hardware llamado Touch ID, presente en la mayor parte de los iPhones compatibles con Apple Pay, así como en los últimos MacBook Pro, permite verificar la identidad del usuario en el momento del pago.

Los dispositivos compatibles en enero de 2017 con Apple Pay son:

  • iPhone 5, 5C y 5S, aunque necesitan un Apple Watch como complemento
  • iPhone 6 en adelante (6 Plus, 6S, 7, etc.)
  • iPhone SE
  • iPad Air 2, iPad Mini 3, iPad Pro
  • Apple Watch
  • Macs con macOS Sierra; si no dispone de Touch ID necesitará un iPhone compatible

¿Cómo realizar un pago con Apple Pay?

En primer lugar, es necesario incluir en Wallet las tarjetas que se deseen utilizar. Los métodos para hacerlo son varios: mediante una fotografía de la tarjeta, importándola desde iTunes, o introduciéndola manualmente.

En el caso de pagar físicamente en la tienda, se acercará el iPhone al terminal TPV y se confirmará el pago con la huella dactilar mediante el Touch ID. Si se dispone de un Apple Watch, la confirmación también se podrá hacer pulsando dos veces el botón que se encuentra debajo de la corona digital.

Dentro de apps iOS o macOS, o en webs visitadas desde Safari, se visualizará un botón claramente identificable de Apple Pay que iniciará el proceso de pago y solicitará igualmente confirmación mediante Touch ID o Apple Watch.

 

¿Cómo integrar Apple Pay en mi plataforma?

Desde Apple, como no podía ser de otra manera, se nos ofrece un completo manual para desarrolladores sobre el uso de Apple Pay. Este manual no solo describe los procesos de configuración de los entornos o las APIs que debemos utilizar, sino que también explica las pautas de diseño a las que nos debemos ceñir para que el usuario identifique claramente que va a iniciar proceso de pago con Apple Pay.

 

En el caso de una aplicación de iOS, los pasos serán los siguientes:

  1. en el portal de desarrolladores de Apple se debe crear un identificador para la app, el llamado App ID, en el que se habilitará la opción Apple Pay. Además, se debe crear otro identificador denominado Merchant ID, en este caso para marcar nuestras operaciones de pago cuando hagos las llamadas al API.
  2. configurar el proyecto de Xcode con el App ID y Merchant ID previamente creados, así como activar la opción Apple Pay dentro de la pestaña Capabilities.
  3. implementar el código necesario para realizar el pago. El framework que debemos importar es Passkit, incluido en el SDK de iOS. Alguna de las clases y protocolos importantes en este framework son
    1. PKPaymentRequest, donde configuraremos la descripción del pago como importe, métodos aceptados, direcciones de envío, etc.,
    2. PKPaymentAuthorizationViewController, el view controller que guiará e informará al usuario desde dentro de nuestra app mientras dura el proceso.
    3. PKPaymentAuthorizationViewControllerDelegate, el delegado que nos permite conocer el avance y estado del pago en curso. En este delegado es donde conoceremos el token de la transacción, y donde podremos dar feedback a nuestro backend o pasarela de pago para confirmar el cobro.

En el caso de un website el proceso es similar, con algunas variaciones:

  1. en el portal de desarrolladores de Apple, se debe crear igualmente un Merchant ID que identificará nuestras transacciones en el API de Apple Pay.
  2. vincular a dicho Merchand ID el dominio donde se aloja nuestra web, así como crear un Payment Processing Certificate. Para crear este certificado, seguir las instrucciones descritas en el portal.
  3. una vez creado e instalado el Payment Processing Certificate, es necesario obtener otro certificado adicional, que se utilizará para realizar los conexiones SSL desde nuestro servidor a Apple Pay. Al igual que antes, los pasos para obtener este nuevo certificado también se describen en el portal de desarrolladores.
  4. por último, implementar el proceso en nuestro website con el Apple Pay JavaScript API; este API se utiliza de forma similar a Passkit disponible para iOS, y en él destacan los siguientes actores en el proceso de pago:
    1. ApplePaySession, representa la sesión que configurará y realizará el pago
    2. PaymentRequest, el pago propiamente dicho, con sus atributos como importe, destinatario, métodos de pago, etc.
    3. onpaymentauthorized(), función callback que nos indica que el pago ha sido autorizado por el usuario
    4. oncancel(), función callback que se invoca cuando el usuario cancela el proceso.

 

Autor: Jaime Aranaz, Mobile Developer