Xamarin.iOS에서 Apple Pay

이 가이드에서는 Apple Pay와 함께 사용할 Xamarin.iOS 환경을 설정하여 앱을 통해 음식, 엔터테인먼트 및 멤버십과 같은 물리적 상품에 대한 비용을 지불하는 방법을 살펴봅니다. 여기에는 필요한 식별자, 인증서 및 자격에 대한 정보가 포함됩니다.

Apple Pay는 iOS 8과 함께 도입되어 사용자가 iOS 장치를 통해 음식, 엔터테인먼트 및 멤버십과 같은 물리적 상품에 대한 비용을 지불할 수 있도록 합니다. i전화 6 및 i전화 6 Plus에서 사용할 수 있으며 스토어 내 구매를 위해 Apple Watch와 페어링할 수도 있습니다. i전화 사용하는 경우 사용자의 신용 또는 직불 카드 트랜잭션을 확인하고 권한을 부여하는 방법으로 Touch ID를 사용합니다.

요구 사항

Apple Pay는 iOS 8 이상에서만 사용할 수 있으므로 최소 Xcode 6이 필요합니다.

Apple Pay를 앱에 통합하려면 다음 항목도 필요합니다.

  • 결제 프로세서 플랫폼
  • 가맹점 식별자
  • Apple Pay 인증서
  • Apple Pay 권한

이 문서에서는 이러한 항목을 자세히 살펴봅니다.

Apple Pay와 IAP의 차이점

Apple Pay와 IAP(앱 내 구매 )의 주요 차이점은 판매하는 제품과 관련이 있습니다. 실제 상품은 애플 페이를 통해 판매 됩니다.; 음식, 숙박 시설 및 물리적 엔터테인먼트 (예: 영화 티켓) 이것의 모든 예. 반면, IAP는 프리미엄 또는 추가 콘텐츠와 같은 가상 상품을 판매하며, 구독은 스트리밍 서비스의 추가 월 또는 게임에서 추가 생활을 고려합니다.

사용되는 프레임워크도 주요 차이점입니다. PassKit 은 Apple Pay 에 사용되고 StoreKit 은 IAP용 프레임워크 API를 제공합니다.

Apple Pay를 사용하면 Apple은 "[결제 Apple Pay를 사용하도록 사용자, 상인 또는 개발자에게 요금을 부과하지 않는다"고 명시하고 있습니다. 이에 비해 IAP는 각 트랜잭션에 대해 30%의 요금이 부과됩니다. 또한, 애플 지불, 거래는 전혀 애플을 통해 이동 하지 않습니다., 대신, 그것은 지불 플랫폼을 통해 간다.

결제 프로세서 플랫폼 사용

Apple Pay의 기본 부분 중 하나는 결제 처리입니다. 이 작업을 직접 수행할 수 있지만 Apple의 결제 처리 가이드에 자세히 설명된 대로 암호화에 대한 상당한 지식이 필요합니다. 반면에 결제 처리 플랫폼은 이러한 작업을 처리하므로 앱 빌드에 집중할 수 있습니다.

두 가지 옵션은 다음과 같습니다.

  • Stripe - Stripe.com 등록하여 API에 액세스합니다.

  • JudoPay - github에서 Xamarin 샘플 코드를 검사 JudoPay.com 등록합니다.

Apple Pay 프로비전

Apple Pay를 사용하도록 앱을 구성하려면 Apple 개발자 포털 및 앱 내에서 설정해야 합니다. Apple 결제를 위해 앱을 성공적으로 프로비전하기 위해 따라야 하는 여러 단계가 있습니다.

  1. 가맹점 ID를 만듭니다.
    • 다음 단계를 수행합니다.
  2. Pay 적용 기능을 사용하여 앱 ID를 만들고 해당 앱에 판매자를 추가합니다.
    • 다음 단계를 수행합니다.
  3. 가맹점 ID에 대한 인증서를 생성합니다.
    • 다음 단계를 수행합니다.
  4. 새로 만든 앱 ID를 사용하여 프로비전 프로필을 생성합니다.
    • 다음 단계를 수행합니다.
  5. Apple Pay 자격 추가:

Apple Pay 작업

애플은 iOS에서 애플 지불에 몇 가지 개선 했다 10 사용자가 웹 사이트에서 보안 지불을 할 수 있도록 하 고 Siri와 지도 상호 작용을 통해.

iOS 10에서는 iOS 및 watchOS와 함께 작동하여 동적 결제 네트워크와 새 샌드박스 테스트 환경을 지원하는 몇 가지 새로운 API가 추가되었습니다.

Apple Pay 웹 사이트 통합

iOS 10을 새롭게 도입한 개발자는 ApplePay JS를 사용하여 Apple Pay를 웹 사이트에 직접 통합할 수 있습니다. iOS 또는 macOS에서 Safari를 사용하여 웹 사이트를 검색하는 사용자는 i전화 또는 Apple Watch에서 트랜잭션의 유효성을 검사하여 Apple Pay로 결제할 수 있습니다. 자세한 내용은 Apple의 ApplePay JP Framework 참조를 참조하세요.

PassKit 프레임워크 개선 사항

iOS 10에서는 외부에서 Apple Pay UIKit 를 지원하고 카드 발급자가 앱 내에서 자신의 카드 제공할 수 있도록 PassKit 프레임워크가 확장되었습니다.

UIKit 외부에서 Apple Pay 지원

앱은 PKPaymentAuthorizationControllerPKPaymentAuthorixationControllerDelegate를 사용하여 UIKit를 사용하지 않고 PKPaymentAuthorizationViewController에서 제공하는 것과 동일한 기능을 지원할 수 있습니다. 이 새로운 API는 Apple Watch(및 특정 의도)에서 Apple Pay를 지원하는 데 필요하지만 다른 상황(예: 기존 앱)에서는 선택 사항입니다. 그러나 Apple은 가능한 한 빨리 새로운 API로 전환하여 개발자의 모든 앱에서 단일 코드 베이스를 통해 광범위한 Apple Pay 지원을 제공할 것을 제안합니다. 의도 및 Siri 통합에 대한 자세한 내용은 SiriKit 소개 설명서를 참조하세요.

앱 내에서 발급자 카드 표시

iOS 10을 사용하면 카드 발급자가 자신의 앱 내에서 카드 표시할 수 있는 새로운 기능이 PassKit 프레임워크에 추가되었습니다. 개발자는 앱의 사용자 인터페이스에 UIButton을 추가하여 PKPaymentButtonTypeInStore 카드 Apple Pay 단추를 표시할 수 있습니다.

PresentPaymentPass PKPassLibrary 클래스의 메서드를 사용하여 프로그래밍 방식으로 카드 표시할 수도 있습니다.

새 결제 네트워크 지원

iOS 10을 새롭게 접하는 앱은 개발자가 앱을 수정하고, 다시 컴파일하고, 앱 스토어에 다시 제출할 필요 없이 새 결제 네트워크를 사용할 수 있게 되면 자동으로 지원할 수 있습니다.

클래스의 PKPaymentNetworkAvailableNetworks 메서드를 사용하면 앱이 런타임에 사용자의 디바이스에서 사용할 수 있는 네트워크를 검색할 수 있습니다. 또한 SupportedNetworks 속성이 확장되어 결제 공급자의 이름을 인수로 사용합니다. 앱은 이러한 방법을 사용하여 결제 공급자가 지원하는 모든 네트워크를 자동으로 지원할 수 있습니다.

자세한 내용은 Apple Pay Configuration 및 Apple의 Apple Pay Guide를 참조하세요.

새 테스트 환경

Apple은 iOS 10을 통해 개발자가 iOS 디바이스에서 직접 테스트 지불 카드 프로비전할 수 있는 새로운 테스트 환경을 도입했습니다. 그런 다음, 이 새로운 테스트 환경은 암호화된 테스트 지불 데이터를 앱에 반환합니다.

새 테스트 환경을 사용하도록 설정하려면 다음을 수행합니다.

  1. iTunes 커넥트 새 테스트 iCloud 계정을 만듭니다.
  2. 새 테스트 계정으로 iOS 디바이스에 로그인합니다.
  3. 앱을 테스트할 원하는 지역을 설정합니다.
  4. Apple Pay Guide의 테스트 결제 카드 중 하나를 사용하여 결제합니다.

Important

iCloud 계정을 전환하면 디바이스가 자동으로 새 테스트 환경으로 전환됩니다. 그러나 Apple은 iTunes App Store에 제출하기 전에 프로덕션 환경에서 실제 카드 사용하여 앱을 테스트해야 합니다.

요약

이 문서에서는 앱 내에서 Apple Pay를 사용하는 데 필요한 다양한 항목을 살펴보했습니다. 판매자 ID를 만드는 방법과 수동으로 수정해야 하는 Entitlements.plist 내에서 어떻게 사용되는지 살펴보았습니다.