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 bienes físicos como comida, 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 el Apple Watch para las compras en la tienda. Cuando se usa en iPhone, usa Touch ID como una manera de confirmar y autorizar las transacciones en la tarjeta de crédito o débito de un usuario.
Requisitos
Apple Pay solo está disponible en iOS 8 y posteriores y, por tanto, requiere un mínimo de Xcode 6.
Los siguientes elementos también son necesarios para integrar Apple Pay en la aplicación:
- Plataforma del procesador de pago
- Identificador de comerciante
- Un Apple Pay certificado
- Apple Pay derecho
En este documento se verán estos elementos con más detalle.
Diferencias entre Apple Pay e IAP
La diferencia principal entre Apple Pay y la compra desde la aplicación (IAP) pertenece a los productos que venden. Los bienes físicos se venden a través de Apple Pay; comida, comida, comida y entretenimiento físico (como entradas de cine) son ejemplos de esto. Por el contrario, IAP vende bienes virtuales, como contenido premium o adicional, y suscripciones( piense en meses adicionales de un servicio de streaming o más vida en un juego).
Los marcos de trabajo utilizados también son una diferencia clave; PassKit se usa para Apple Pay, mientras que StoreKit proporciona la API del marco para IAP.
Con Apple Pay, Apple indica que "no cobra a los usuarios, comerciantes o desarrolladores que usen Apple Pay para los pagos". En comparación, IAP tiene un cargo del 30 % por 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 pago
Una de las partes fundamentales de Apple Pay es el procesamiento de pagos. Aunque es posible hacerlo usted mismo, requiere un conocimiento significativo de criptografía, como se detalla en la guía de procesamiento de pagos deApple . Por otro lado, las plataformas de procesamiento de pagos controlan estas operaciones, lo que le permite concentrarse en la creación de la aplicación.
Entre las dos opciones se incluyen:
Stripe: regístrese en Stripe.com para acceder a sus API.
JudoPay: consulte su código de ejemplo de Xamarin en GitHuby regístrese en JudoPay.com.
Aprovisionamiento para Apple Pay
La configuración de una aplicación para usar Apple Pay requiere la configuración en el Portal para desarrolladores Apple y dentro de la aplicación. Hay una serie de pasos que se deben seguir para aprovisionar correctamente la aplicación para Apple Pay:
- Cree un identificador de comerciante:
- Siga los pasos que se indican aquí.
- Cree un identificador de aplicación con la funcionalidad Aplicar pago y agrégréle el comerciante:
- Siga los pasos que se indican aquí.
- Genere un certificado para el identificador de comerciante:
- Siga los pasos que se indican aquí.
- Genere un perfil de aprovisionamiento con el identificador de aplicación recién creado:
- Siga los pasos que se indican aquí.
- Agregar Apple Pay derechos:
Trabajar con Apple Pay
Apple ha realizado varias mejoras en Apple Pay en iOS 10 que permiten al usuario realizar pagos seguros desde sitios web y a través de la interacción con Siri y Mapas.
Con iOS 10, se han agregado varias NUEVAS API que funcionan con iOS y watchOS para admitir redes de pago dinámico y un nuevo entorno de prueba de espacio aislado.
integración Apple Pay sitio web
Como novedad de iOS 10, el desarrollador puede Apple Pay directamente en 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, vea ApplePay JP Framework Reference (Referencia del marco de ApplePay JP de Apple).
Mejoras del marco de PassKit
En iOS 10, el marco PassKit se ha ampliado para admitir Apple Pay fuera de y para permitir que los emisores de tarjetas presenten sus propias tarjetas desde dentro de UIKit sus aplicaciones.
Compatibilidad con Apple Pay fuera de UIKit
Mediante el uso de PKPaymentAuthorizationController y PKPaymentAuthoautoationControllerDelegate,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 el Apple Watch (y también en intenciones específicas), 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 más información sobre las intenciones y la integración de Siri, consulte nuestra documentación de 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 UIButton a la interfaz de usuario de la aplicación que mostrará un PKPaymentButtonTypeInStore Apple Pay para una tarjeta.
El PresentPaymentPass método de la clase PresentPaymentPass también se puede usar para mostrar la tarjeta mediante programación.
Nueva compatibilidad con redes de pago
Como 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 modificar, volver a compilar la aplicación y volver a enviarla al App Store.
El nuevo método AvailableNetworks de la 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 pago.
Para más información, consulte nuestra configuración de Apple Pay y la guía de Apple Pay de Apple.
Nuevo entorno de pruebas
Con iOS 10, Apple introdujo un nuevo entorno de pruebas 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 de pago de prueba cifrados a la aplicación.
Para habilitar el nuevo entorno de pruebas, haga lo siguiente:
- Cree una nueva cuenta de iCloud de prueba en iTunes Conectar.
- Inicie sesión en el dispositivo iOS con la nueva cuenta de prueba.
- Establezca la región deseada en la que probar la aplicación.
- Use una de las tarjetas de pago de prueba de Apple Pay guía para realizar pagos.
Importante
Al cambiar las cuentas de iCloud, el dispositivo cambia automáticamente al nuevo entorno de pruebas. Sin embargo, Apple todavía requiere que la aplicación se prueba con tarjetas reales en un entorno de producción antes de enviarla a iTunes App Store.
Resumen
En este artículo, hemos explorado los distintos 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.