Apple Pay in Xamarin.iOS

Questa guida illustra la configurazione dell'ambiente Xamarin.iOS da usare con Apple Pay per pagare beni fisici, ad esempio cibo, intrattenimento e appartenenze tramite l'app. Include informazioni sugli identificatori, i certificati e i diritti necessari.

Apple Pay è stato introdotto insieme a iOS 8, consentendo agli utenti di pagare beni fisici come cibo, intrattenimento e appartenenze tramite i propri dispositivi iOS. È disponibile su i Telefono 6 e i Telefono 6 Plus, e può anche essere associato ad Apple Watch per gli acquisti in negozio. Se usato in un i Telefono, usa Touch ID come modo per confermare e autorizzare le transazioni alla carta di credito o di debito di un utente.

Requisiti

Apple Pay è disponibile solo all'interno di iOS 8 e versioni successive e quindi richiede almeno Xcode 6.

Per integrare Apple Pay nella tua app sono necessari anche gli elementi seguenti:

  • Piattaforma del processore di pagamento
  • Identificatore commerciante
  • Un certificato Apple Pay
  • Diritto Apple Pay

Questo documento esaminerà questi elementi in modo più dettagliato.

Differenze tra Apple Pay e IAP

La differenza principale tra Apple Pay e IAP (In-App Purchase ), riguarda i prodotti che vendono. Le merci fisiche vengono vendute tramite Apple Pay; cibo, alloggio e intrattenimento fisico (come i biglietti del cinema) sono tutti esempi di questo. Al contrario, IAP vende beni virtuali , ad esempio contenuti premium o aggiuntivi, e le sottoscrizioni pensano a mesi aggiuntivi di un servizio di streaming o a vite aggiuntive in un gioco.

I framework usati sono anche una differenza fondamentale; PassKit viene usato per Apple Pay, mentre StoreKit fornisce l'API framework per IAP.

Con Apple Pay, Apple afferma che "[Does] non addebita agli utenti, ai commercianti o agli sviluppatori di usare Apple Pay per Pagamenti". In confronto, IAP ha un addebito del 30% per ogni transazione. Inoltre, con Apple Pay, la transazione non passa affatto attraverso Apple, ma passa attraverso una piattaforma di pagamento.

Uso di una piattaforma di elaborazione dei pagamenti

Una delle parti fondamentali di Apple Pay è l'elaborazione dei pagamenti. Anche se è possibile farlo manualmente, richiede una conoscenza significativa della crittografia, come descritto in dettaglio nella Guida all'elaborazione dei pagamenti di Apple. Le piattaforme di elaborazione dei pagamenti, d'altra parte, gestiscono queste operazioni per te, consentendoti di concentrarti sulla creazione della tua app.

Due opzioni includono:

Provisioning per Apple Pay

La configurazione di un'app per l'uso di Apple Pay richiede la configurazione nel portale per sviluppatori Apple e all'interno dell'app. Per effettuare correttamente il provisioning dell'app per Apple pay, è necessario seguire una serie di passaggi:

  1. Creare un ID commerciante:
    • Seguire i passaggi qui
  2. Creare un ID app con la funzionalità Applica pagamento e aggiungervi il commerciante:
    • Seguire i passaggi qui
  3. Generare un certificato per l'ID commerciante:
    • Seguire i passaggi qui
  4. Generare un profilo di provisioning con l'ID app appena creato:
    • Seguire i passaggi qui
  5. Aggiungere diritti Apple Pay:
    • Selezionare il diritto Apple pay come descritto qui o aggiungere manualmente la coppia chiave/valore al file da qui

Uso di Apple Pay

Apple ha apportato diversi miglioramenti a Apple Pay in iOS 10 che consentono all'utente di effettuare pagamenti sicuri dai siti Web e attraverso l'interazione con Siri e Mappe.

Con iOS 10 sono state aggiunte diverse nuove API che funzionano sia con iOS che con watchOS per supportare reti di pagamento dinamiche e un nuovo ambiente di test sandbox.

Integrazione del sito Web Apple Pay

Novità di iOS 10, lo sviluppatore può incorporare Apple Pay direttamente nei propri siti Web usando ApplePay JS. Gli utenti che visitano il sito Web con Safari in iOS o macOS possono effettuare pagamenti con Apple Pay convalidando la transazione sul proprio i Telefono o Apple Watch. Per altre informazioni, vedere ApplePay JP Framework Reference (Informazioni di riferimento sul framework JP ApplePay).

Miglioramenti del framework PassKit

In iOS 10, il framework PassKit è stato ampliato per supportare Apple Pay all'esterno di e per consentire agli emittenti di UIKit carte di presentare le proprie carte dall'interno delle proprie app.

Supporto di Apple Pay all'esterno di UIKit

Usando PKPaymentAuthorizationController e PKPaymentAuthorixationControllerDelegate, un'app può supportare la stessa funzionalità fornita da PKPaymentAuthorizationViewController senza usare UIKit. Anche se questa nuova API è necessaria per supportare Apple Pay in Apple Watch (e anche in finalità specifiche), è facoltativa in altre situazioni (ad esempio le app esistenti). Tuttavia, Apple suggerisce di passare alla nuova API il prima possibile per fornire un ampio supporto Apple Pay in tutte le app dello sviluppatore con una singola codebase. Per altre informazioni sull'integrazione di Finalità e Siri, vedere la documentazione introduttiva a SiriKit .

Presentazione delle schede dell'autorità emittente dall'interno delle app

Con iOS 10, sono state aggiunte nuove funzionalità al framework PassKit che consentono agli emittenti di schede di presentare le proprie schede dall'interno delle proprie app. Lo sviluppatore può aggiungere un PKPaymentButtonTypeInStore controllo UIButton all'interfaccia utente dell'app che visualizzerà un pulsante Apple Pay per una carta.

Il PresentPaymentPass metodo della classe PKPassLibrary può essere usato anche per visualizzare la scheda a livello di codice.

Nuovo supporto per la rete di pagamento

Novità di iOS 10, un'app può supportare automaticamente una nuova rete di pagamento quando diventa disponibile senza che lo sviluppatore deve modificare, ricompilare l'app e inviarla di nuovo all'App Store.

Il nuovo metodo AvailableNetworks della PKPaymentNetwork classe consente a un'app di individuare le reti disponibili nel dispositivo dell'utente in fase di esecuzione. Inoltre, la proprietà SupportedNetworks è stata espansa per accettare il nome del provider di pagamento come argomento. Usando questi metodi, un'app può supportare automaticamente qualsiasi rete supportata dal provider di pagamento.

Per altre informazioni, vedi la nostra Apple Pay Configuration e Apple Pay Guide.For more information, please please see our Apple Pay Configuration and Apple's Apple Pay Guide.

Nuovo ambiente di test

Con iOS 10, Apple ha introdotto un nuovo ambiente di test che consente allo sviluppatore di effettuare il provisioning delle carte di pagamento di test direttamente in un dispositivo iOS. Questo nuovo ambiente di test restituisce quindi i dati di pagamento crittografati per l'app.

Per abilitare il nuovo ambiente di test, eseguire le operazioni seguenti:

  1. Creare un nuovo account iCloud di test in iTunes Connessione.
  2. Accedere al dispositivo iOS con il nuovo account di test.
  3. Impostare l'area desiderata in cui testare l'app.
  4. Usa una delle carte di pagamento di prova della Guida apple Pay per effettuare i pagamenti.

Importante

Passando agli account iCloud, il dispositivo passerà automaticamente al nuovo ambiente di test. Tuttavia, Apple richiede comunque che l'app venga testata con schede reali in un ambiente di produzione prima dell'invio all'App Store di iTunes.

Riepilogo

In questo articolo sono stati esaminati i diversi elementi necessari per usare Apple Pay all'interno dell'app. Abbiamo esaminato come creare un ID commerciante e come viene usato all'interno di Entitlements.plist, che deve essere modificato manualmente.