Apple Pay w środowisku Xamarin.iOS
W tym przewodniku omówiono konfigurowanie środowiska platformy Xamarin.iOS do użycia z usługą Apple Pay w celu płacenia za towary fizyczne, takie jak żywność, rozrywka i członkostwo za pośrednictwem aplikacji. Zawiera on informacje o wymaganych identyfikatorach, certyfikatach i uprawnieniach.
Usługa Apple Pay została wprowadzona wraz z systemem iOS 8, umożliwiając użytkownikom płacenie za towary fizyczne, takie jak żywność, rozrywka i członkostwo za pośrednictwem urządzeń z systemem iOS. Jest on dostępny na urządzeniach i Telefon 6 i i Telefon 6 Plus, a także może być sparowany z zegarkiem Apple Watch na potrzeby zakupów w sklepie. W przypadku użycia na urządzeniu i Telefon używa on funkcji Touch ID jako sposobu potwierdzania i autoryzacji transakcji do karty kredytowej lub debetowej użytkownika.
Wymagania
Usługa Apple Pay jest dostępna tylko w systemie iOS 8 lub nowszym i dlatego wymaga co najmniej Xcode 6.
Do zintegrowania usługi Apple Pay z aplikacją wymagane są również następujące elementy:
- Platforma przetwarzania płatności
- Identyfikator sprzedawcy
- Certyfikat Apple Pay
- Uprawnienie Apple Pay
Ten dokument bardziej szczegółowo przyjrzy się tym elementom.
Różnice między usługą Apple Pay i IAP
Podstawowa różnica między zakupem apple Pay i zakupem w aplikacji (IAP) dotyczy produktów, które sprzedają. Towary fizyczne są sprzedawane za pośrednictwem usługi Apple Pay; jedzenie, zakwaterowanie i rozrywka fizyczna (takie jak bilety kinowe) to przykłady. Z kolei protokół IAP sprzedaje towary wirtualne , takie jak premium lub dodatkowa zawartość, oraz subskrypcje — pomyśl o dodatkowych miesiącach usługi przesyłania strumieniowego lub dodatkowego życia w grze.
Używane struktury są również kluczową różnicą; Zestaw PassKit jest używany w przypadku usługi Apple Pay, a zestaw StoreKit udostępnia interfejs API platformy dla protokołu IAP.
Firma Apple Pay twierdzi, że "[] nie pobiera opłat od użytkowników, kupców ani deweloperów, aby korzystać z usługi Apple Pay za Płatności". Dla porównania protokół IAP ma 30% opłat za każdą transakcję. Co więcej, z Apple Pay, transakcja w ogóle nie przechodzi przez Apple, zamiast tego przechodzi przez platformę płatności.
Korzystanie z platformy przetwarzania płatności
Jedną z podstawowych części usługi Apple Pay jest przetwarzanie płatności. Chociaż można to zrobić samodzielnie, wymaga to znaczącej wiedzy na temat kryptografii — zgodnie z opisem w przewodniku przetwarzania płatności firmy Apple. Z drugiej strony platformy przetwarzania płatności obsługują te operacje, co pozwala skoncentrować się na tworzeniu aplikacji.
Dostępne są dwie opcje:
Stripe — zarejestruj się w Stripe.com , aby uzyskać dostęp do swoich interfejsów API.
JudoPay — zapoznaj się z przykładowym kodem platformy Xamarin w witrynie github i zarejestruj się w JudoPay.com.
Aprowizowanie za pomocą usługi Apple Pay
Skonfigurowanie aplikacji do korzystania z usługi Apple Pay wymaga skonfigurowania w portalu dla deweloperów firmy Apple i w aplikacji. Istnieje kilka kroków, które należy wykonać, aby pomyślnie aprowizować aplikację za płatność firmy Apple:
- Utwórz identyfikator sprzedawcy:
- Wykonaj kroki opisane tutaj
- Utwórz identyfikator aplikacji z możliwością Zastosuj płatność i dodaj do niego kupca:
- Wykonaj kroki opisane tutaj
- Wygeneruj certyfikat dla identyfikatora sprzedawcy:
- Wykonaj kroki opisane tutaj
- Wygeneruj profil aprowizacji przy użyciu nowo utworzonego identyfikatora aplikacji:
- Wykonaj kroki opisane tutaj
- Dodaj uprawnienia apple Pay:
- Wybierz uprawnienie do płatności firmy Apple zgodnie z opisem tutaj lub ręcznie dodaj parę klucz/wartość do pliku z tego miejsca
Praca z usługą Apple Pay
Firma Apple wprowadziła kilka ulepszeń usługi Apple Pay w systemie iOS 10, które umożliwiają użytkownikowi dokonywanie bezpiecznych płatności z witryn internetowych oraz interakcję z Siri i Mapy.
W systemie iOS 10 dodano kilka nowych interfejsów API, które współpracują zarówno z systemem iOS, jak i watchOS w celu obsługi dynamicznych sieci płatności i nowego środowiska testowego piaskownicy.
Integracja witryny internetowej Apple Pay
Nowość dla systemu iOS 10, deweloper może włączyć apple Pay bezpośrednio do swoich witryn internetowych przy użyciu ApplePay JS. Użytkownicy przeglądający witrynę internetową w przeglądarce Safari w systemie iOS lub macOS mogą dokonać płatności za pomocą usługi Apple Pay, sprawdzając transakcję na urządzeniu i Telefon lub Apple Watch. Aby uzyskać więcej informacji, zobacz ApplePay JP Framework Reference (Dokumentacja struktury ApplePay JP Framework firmy Apple).
Ulepszenia struktury PassKit
W systemie iOS 10 platforma PassKit została rozszerzona w celu obsługi usługi Apple Pay poza UIKit
platformą i umożliwienia wystawcom kart prezentowania własnych kart z poziomu aplikacji.
Obsługa platformy Apple Pay poza zestawem UIKit
Korzystając z protokołu PKPaymentAuthorizationController i PKPaymentAuthorixationControllerDelegate, aplikacja może obsługiwać te same funkcje udostępniane przez element PKPaymentAuthorizationViewController bez używania zestawu UIKit. Chociaż ten nowy interfejs API jest wymagany do obsługi usługi Apple Pay na zegarku Apple Watch (oraz w określonych intencjach), jest opcjonalny w innych sytuacjach (takich jak istniejące aplikacje). Jednak firma Apple sugeruje przejście do nowego interfejsu API tak szybko, jak to możliwe, aby zapewnić szeroką obsługę usługi Apple Pay we wszystkich aplikacjach deweloperów z jedną bazą kodu. Aby uzyskać więcej informacji na temat integracji intencji i siri, zobacz dokumentację Wprowadzenie do zestawu SiriKit .
Prezentowanie kart wystawcy z poziomu aplikacji
W systemie iOS 10 nowe funkcje zostały dodane do struktury PassKit, która umożliwia wystawcom kart prezentowanie swoich kart z poziomu własnych aplikacji. Deweloper może dodać element PKPaymentButtonTypeInStore
UIButton do interfejsu użytkownika aplikacji, który wyświetli przycisk Apple Pay dla karty.
Metoda PresentPaymentPass
klasy PKPassLibrary może być również używana do programowego wyświetlania karty.
Nowa obsługa sieci płatności
Nowość w systemie iOS 10 aplikacja może automatycznie obsługiwać nową sieć płatności, gdy stanie się dostępna bez konieczności modyfikowania, ponownego kompilowania aplikacji i ponownego wysłania jej do sklepu App Store.
Nowa metoda PKPaymentNetwork
AvailableNetworks klasy umożliwia aplikacji odnajdywanie sieci dostępnych na urządzeniu użytkownika w czasie wykonywania. Ponadto właściwość SupportedNetworks została rozszerzona w celu przejęcia nazwy dostawcy płatności jako argumentu. Za pomocą tych metod aplikacja może automatycznie obsługiwać dowolną sieć obsługiwaną przez dostawcę płatności.
Aby uzyskać więcej informacji, zobacz nasz przewodnik Apple Pay Configuration i Apple Pay Guide.
Nowe środowisko testowe
W systemie iOS 10 firma Apple wprowadziła nowe środowisko testowe, które umożliwia deweloperowi aprowizowania testowych kart płatniczych bezpośrednio na urządzeniu z systemem iOS. To nowe środowisko testowe zwraca następnie zaszyfrowane dane płatności testowych do aplikacji.
Aby włączyć nowe środowisko testowe, wykonaj następujące czynności:
- Utwórz nowe testowe konto usługi iCloud w programie iTunes Połączenie.
- Zaloguj się na urządzeniu z systemem iOS przy użyciu nowego konta testowego.
- Ustaw żądany region, aby przetestować aplikację.
- Użyj jednej z testowych kart płatniczych z przewodnika Apple Pay, aby dokonać płatności.
Ważne
Przełączenie kont w usłudze iCloud spowoduje automatyczne przełączenie urządzenia do nowego środowiska testowego. Jednak firma Apple nadal wymaga przetestowania aplikacji przy użyciu rzeczywistych kart w środowisku produkcyjnym przed przesłaniem do sklepu iTunes App Store.
Podsumowanie
W tym artykule zapoznaliśmy się z różnymi elementami wymaganymi do korzystania z usługi Apple Pay w aplikacji. Przyjrzeliśmy się, jak utworzyć identyfikator kupca i jak jest on używany w pliku Entitlements.plist, który należy zmodyfikować ręcznie.