Apple Pay en Xamarin.iOS

En esta guía se explora la configuración del entorno de Xamarin.iOS para su uso con Apple Pay para pagar bienes físicos, como comida, entretenimiento y pertenencias a través de la aplicación. Incluye información sobre los identificadores, certificados y derechos necesarios.

Apple Pay se introdujo junto con iOS 8, lo que permite a los usuarios pagar por bienes físicos como alimentos, entretenimiento y pertenencias a través de sus dispositivos iOS. Está disponible en iPhone 6 y iPhone 6 Plus, y también se puede emparejar con apple Watch para compras en la tienda. Cuando se usa en un iPhone, usa Touch ID como una manera de confirmar y autorizar transacciones a la tarjeta de crédito o débito de un usuario.

Requisitos

Apple Pay solo está disponible en iOS 8 y versiones posteriores y, por lo tanto, requiere un mínimo de Xcode 6.

Los siguientes elementos también son necesarios para integrar Apple Pay en la aplicación:

  • Plataforma de procesador de pagos
  • Identificador de comerciante
  • Un certificado de Apple Pay
  • Derechos de Apple Pay

Este documento examinará estos elementos con más detalle.

Diferencias entre Apple Pay e IAP

La principal diferencia entre Apple Pay y compras desde la aplicación (IAP), pertenece a los productos que venden. Las mercancías físicas se venden a través de Apple Pay; comida, alojamiento y entretenimiento físico (como entradas de cine) son todos ejemplos de esto. En cambio, IAP vende bienes virtuales , como contenido premium o adicional, y suscripciones, piensa en meses adicionales de un servicio de streaming o vidas adicionales en un juego.

Los marcos utilizados también son una diferencia clave; PassKit se usa para Apple Pay, mientras que StoreKit proporciona la API de marco para IAP.

Con Apple Pay, Apple afirma que "[No cobra a los usuarios, comerciantes o desarrolladores que usen Apple Pay para Pagos". En comparación, IAP tiene un cargo del 30 % para cada transacción. Además, con Apple Pay, la transacción no pasa por Apple en absoluto, sino que pasa por una plataforma de pago.

Uso de una plataforma de procesador de pagos

Una de las partes fundamentales de Apple Pay es el procesamiento de pagos. Aunque es posible hacerlo usted mismo, requiere un conocimiento significativo de la criptografía, como se detalla en la guía de procesamiento de pagos de Apple. Por otro lado, las plataformas de procesamiento de pagos controlan estas operaciones, lo que le permite concentrarse en compilar la aplicación.

Entre las dos opciones se incluyen:

Aprovisionamiento para Apple Pay

La configuración de una aplicación para usar Apple Pay requiere la configuración en el Portal para desarrolladores de Apple y en la aplicación. Hay una serie de pasos que se deben seguir para aprovisionar correctamente la aplicación para Apple pay:

  1. Cree un identificador de comerciante:
  2. Cree un identificador de aplicación con la funcionalidad Aplicar pago y agréguele el comerciante:
  3. Genere un certificado para el identificador de comerciante:
  4. Genere un perfil de aprovisionamiento con el identificador de aplicación recién creado:
  5. Agregue derechos de Apple Pay:
    • Seleccione el derecho de Apple Pay tal y como se detalla aquí o agregue manualmente el par clave-valor al archivo desde aquí.

Trabajar con Apple Pay

Apple ha realizado varias mejoras en Apple Pay en iOS 10 que permiten al usuario realizar pagos seguros de sitios web y a través de la interacción con Siri y Maps.

Con iOS 10, se han agregado varias API nuevas que funcionan con iOS y watchOS para admitir redes de pago dinámicas y un nuevo entorno de prueba de espacio aislado.

Integración del sitio web de Apple Pay

Novedad de iOS 10, el desarrollador puede incorporar Apple Pay directamente a sus sitios web mediante ApplePay JS. Los usuarios que exploran el sitio web con Safari en iOS o macOS pueden realizar pagos con Apple Pay validando la transacción en su iPhone o Apple Watch. Para obtener más información, consulte Referencia del marco JP de ApplePay de Apple.

Mejoras de PassKit Framework

En iOS 10, el marco PassKit se ha ampliado para admitir Apple Pay fuera de y para permitir que los emisores de UIKit tarjetas presenten sus propias tarjetas desde sus aplicaciones.

Compatibilidad con Apple Pay fuera de UIKit

Mediante PKPaymentAuthorizationController y PKPaymentAuthorixationControllerDelegate, una aplicación puede admitir la misma funcionalidad proporcionada por PKPaymentAuthorizationViewController sin usar UIKit. Aunque esta nueva API es necesaria para admitir Apple Pay en Apple Watch (y en intenciones específicas también), es opcional en otras situaciones (como las aplicaciones existentes). Sin embargo, Apple sugiere pasar a la nueva API lo antes posible para proporcionar una amplia compatibilidad con Apple Pay en todas las aplicaciones del desarrollador con una sola base de código. Para obtener más información sobre las intenciones y la integración de Siri, consulte nuestra documentación introducción a SiriKit .

Presentación de tarjetas de emisor desde aplicaciones

Con iOS 10, se han agregado nuevas características al marco PassKit que permiten a los emisores de tarjetas presentar sus tarjetas desde sus propias aplicaciones. El desarrollador puede agregar un PKPaymentButtonTypeInStore UIButton a la interfaz de usuario de la aplicación que mostrará un botón apple Pay para una tarjeta.

El PresentPaymentPass método de la clase PKPassLibrary también se puede usar para mostrar mediante programación la tarjeta.

Nuevo soporte de red de pago

Novedad de iOS 10, una aplicación puede admitir automáticamente una nueva red de pago cuando esté disponible sin que el desarrollador tenga que modificarla, volver a compilar la aplicación y volver a enviarla a la App Store.

El nuevo método AvailableNetworks de la PKPaymentNetwork clase permite a una aplicación detectar las redes disponibles en el dispositivo del usuario en tiempo de ejecución. Además, la propiedad SupportedNetworks se ha expandido para tomar el nombre del proveedor de pago como argumento. Con estos métodos, una aplicación puede admitir automáticamente cualquier red que admita el proveedor de pagos.

Para obtener más información, consulte nuestra Guía de Apple Pay y Configuración de Apple Pay.

Nuevo entorno de pruebas

Con iOS 10, Apple introdujo un nuevo entorno de prueba que permite al desarrollador aprovisionar tarjetas de pago de prueba directamente en un dispositivo iOS. A continuación, este nuevo entorno de prueba devuelve datos cifrados de pago de prueba a la aplicación.

Para habilitar el nuevo entorno de prueba, haga lo siguiente:

  1. Cree una nueva cuenta de iCloud de prueba en iTunes Connect.
  2. Inicie sesión en el dispositivo iOS con la nueva cuenta de prueba.
  3. Establezca la región deseada en la que se va a probar la aplicación.
  4. Use una de las tarjetas de pago de prueba de la Guía de Apple Pay para realizar pagos.

Importante

Al cambiar las cuentas de iCloud, el dispositivo cambiará automáticamente al nuevo entorno de prueba. Sin embargo, Apple todavía requiere que la aplicación se pruebe con tarjetas reales en un entorno de producción antes de enviar a iTunes App Store.

Resumen

En este artículo, hemos explorado los diferentes elementos necesarios para usar Apple Pay dentro de la aplicación. Hemos visto cómo crear un identificador de comerciante y cómo se usa en Entitlements.plist, que debe modificarse manualmente.