Xamarin.ios의 Apple PayApple Pay in Xamarin.iOS

이 가이드에서는 Apple Pay와 함께 사용 하기 위해 Xamarin.ios 환경을 설정 하는 방법에 대해 설명 하 고 앱을 통해 음식, 엔터테인먼트 및 멤버 자격과 같은 물리적 상품을 지불 합니다. 필수 식별자, 인증서 및 자격에 대 한 정보를 포함 합니다.This guide explores setting up the Xamarin.iOS environment for use with Apple Pay to pay for physical goods, such as food, entertainment, and memberships via your app. It includes information on the required identifiers, certificates and entitlements.

Apple Pay은 iOS 8과 함께 도입 되어 사용자가 iOS 장치를 통해 음식, 엔터테인먼트 및 멤버 자격과 같은 물리적 상품에 대해 지불할 수 있습니다.Apple Pay was introduced alongside iOS 8, enabling users to pay for physical goods such as food, entertainment, and memberships via their iOS devices. IPhone 6 및 iPhone 6 Plus에서 사용할 수 있으며, 매장 내 구매를 위해 Apple Watch와 쌍으로 연결 될 수도 있습니다.It is available on iPhone 6 and iPhone 6 Plus, and can also be paired with the Apple Watch for in-store purchases. IPhone에서 사용 되는 경우 사용자의 신용 카드 또는 직불 카드에 대 한 트랜잭션을 확인 하 고 권한을 부여 하는 방법으로 Touch ID를 사용 합니다.When used on an iPhone, it uses Touch ID as a way to confirm and authorize transactions to a user's credit or debit card.

요구 사항Requirements

Apple Pay은 iOS 8 이상 에서만 사용할 수 있으므로 Xcode 6 이상이 필요 합니다.Apple Pay is only available within iOS 8 and above, and therefore requires a minimum of Xcode 6.

다음 항목은 Apple Pay를 앱에 통합 하는 데에도 필요 합니다.The following items are also required to integrate Apple Pay into your app:

  • 지불 프로세서 플랫폼Payment Processor Platform
  • 판매자 식별자Merchant Identifier
  • Apple Pay 인증서An Apple Pay certificate
  • Apple Pay 자격Apple Pay entitlement

이 문서에서는 이러한 항목을 자세히 살펴봅니다.This document will look at these items in more detail.

Apple Pay와 IAP의 차이점Differences between Apple Pay and IAP

Apple Pay와 iap ( 앱 간 구매 )의 주요 차이점은 판매 하는 제품과 관련이 있습니다.The primary difference between Apple Pay and In-App Purchasing (IAP), pertains to the products that they sell. 물리적 상품은 Apple Pay를 통해 판매 됩니다. 이에 대 한 예는 음식, 숙박 및 물리적 엔터테인먼트 (예: 영화 티켓)입니다.Physical goods are sold via Apple Pay; food, accommodation and physical entertainment (such as cinema tickets) are all examples of this. 반면, IAP는 프리미엄 또는 추가 콘텐츠, 구독 등의 가상 상품을 판매 합니다. 즉, 스트리밍 서비스의 추가 월을 고려 하거나 추가 게임을 진행 합니다.In contrast, IAP sells virtual goods, such as premium or extra content, and subscriptions–think additional months of a streaming service, or extra lives in a game.

사용 되는 프레임 워크는 키의 차이점 이기도 합니다. PassKit 는 Apple Pay에 사용 되 고, 지 수 키트 는 iap 용 프레임 워크 API를 제공 합니다.The frameworks used are also a key difference; PassKit is used for Apple Pay, while StoreKit provides the framework API for IAP.

Apple Pay를 사용 하는 경우 Apple은 사용자, 상인 또는 개발자가 지불을 위해 Apple Pay를 사용할 수 있도록 요금을 청구 하지 않습니다. "라는 메시지가 제공 됩니다.With Apple Pay, Apple states that it “[Does] not charge users, merchants or developers to use Apple Pay for Payments”. 반면, IAP는 각 트랜잭션에 대해 30% 요금이 부과 됩니다.In comparison, IAP has a 30% charge for each transaction. 또한 Apple Pay를 사용 하는 경우에도 트랜잭션은 Apple을 통해 이동 하지 않고 지불 플랫폼을 거칩니다.Moreover, with Apple Pay, the transaction does not go through Apple at all, instead, it goes through a Payment platform.

지불 프로세서 플랫폼 사용Using a Payment Processor Platform

Apple Pay의 기본적인 부분 중 하나는 지불액의 처리입니다.One of the fundamental parts of Apple Pay is the processing of payments. 이 작업을 직접 수행할 수 있지만 Apple의 결제 처리 가이드에 설명 된 것 처럼 암호화에 대 한 중요 한 지식이 필요 합니다.While it is possible to do this yourself, it requires significant knowledge of cryptography - as detailed in Apple’s Payment Processing guide. 반면 지불 처리 플랫폼은 이러한 작업을 처리 하 여 앱 빌드에 집중할 수 있도록 합니다.Payment processing platforms, on the other hand, handle these operations for you, allowing you to concentrate on building your app.

두 가지 옵션은 다음과 같습니다.Two options include:

Apple Pay 프로 비전Provisioning for Apple Pay

Apple Pay를 사용 하도록 앱을 구성 하려면 Apple 개발자 포털 및 앱 내에서 설정 해야 합니다.Configuring an app to use Apple Pay requires setup on the Apple Developer Portal and within your app. Apple 지불을 위해 앱을 성공적으로 프로 비전 하려면 다음 단계를 수행 해야 합니다.There are a number of steps that should be followed to successfully provision your app for Apple pay:

  1. 판매자 ID를 만듭니다.Create a Merchant ID:
    • 다음 단계를 수행 합니다.Follow the steps here
  2. 지불 적용 기능을 사용 하 여 앱 ID를 만들고 판매자를 추가 합니다.Create an App ID with the Apply Pay capability and add the merchant to it:
    • 다음 단계를 수행 합니다.Follow the steps here
  3. 판매자 ID에 대 한 인증서를 생성 합니다.Generate a certificate for the Merchant ID:
    • 다음 단계를 수행 합니다.Follow the steps here
  4. 새로 만든 앱 ID를 사용 하 여 프로 비전 프로필을 생성 합니다.Generate a Provisioning Profile with the newly created App ID:
    • 다음 단계를 수행 합니다.Follow the steps here
  5. Apple Pay 자격 추가:Add Apple Pay entitlements:
    • 여기에 설명 된 대로 Apple 요금 자격을 선택 하거나 여기 에서 파일에 키/값 쌍을 수동으로 추가 합니다.Select the Apple pay entitlement as detailed here, or manually add the key/value pair to the file from here

Apple Pay 사용Working with Apple Pay

Apple은 사용자가 웹 사이트와 Siri 및 Maps의 상호 작용을 통해 보안 지불을 수행할 수 있도록 하는 iOS 10의 Apple Pay에 대 한 몇 가지 향상 된 기능을 만들었습니다.Apple has made several enhancements to Apple Pay in iOS 10 that allow the user to make secure payments from websites and through interaction with Siri and Maps.

IOS 10을 사용 하 여 동적 지불 네트워크 및 새 샌드박스 테스트 환경을 지원 하기 위해 iOS와 watchOS 모두에서 작동 하는 몇 가지 새로운 Api가 추가 되었습니다.With iOS 10, several new APIs have been added that work with both iOS and watchOS to support dynamic payment networks and a new sandbox test environment.

Apple Pay 웹 사이트 통합Apple Pay Website Integration

IOS 10을 처음 사용 하는 개발자는 전 세계의 웹 사이트에 Apple Pay를 직접 통합할 수 있습니다.New to iOS 10, the developer can incorporate Apple Pay directly into their websites using ApplePay JS. IOS 또는 macOS에서 Safari를 사용 하 여 웹 사이트를 검색 하는 사용자는 iPhone 또는 Apple Watch에서 트랜잭션의 유효성을 검사 하 여 Apple Pay 지불을 수행할 수 있습니다.Users browsing the website with Safari in iOS or macOS can make payments with Apple Pay by validating the transaction on their iPhone or Apple Watch. 자세한 내용은 Apple의 사과 Epay 프레임 워크 참조를 참조 하세요.For more information, please see Apple's ApplePay JP Framework Reference.

PassKit Framework의 향상 된 기능PassKit Framework Enhancements

IOS 10에서 PassKit 프레임 워크는 UIKit 외부의 Apple Pay을 지원 하도록 확장 되었으며 카드 발급자가 자신의 앱 내에서 자신의 카드를 제공할 수 있도록 합니다.In iOS 10, the PassKit framework has been expanded to support Apple Pay outside of UIKit and to allow card issuers to present their own cards from within their apps.

UIKit 외부에서 Apple Pay 지원Supporting Apple Pay Outside of UIKit

앱은 PKPaymentAuthorizationControllerPKPaymentAuthorixationControllerDelegate를 사용 하 여 uikit를 사용 하지 않고 PKPaymentAuthorizationViewController 에서 제공 하는 것과 동일한 기능을 지원할 수 있습니다.By using PKPaymentAuthorizationController and PKPaymentAuthorixationControllerDelegate, an app can support the same functionality provided by PKPaymentAuthorizationViewController without using UIKit. 이 새로운 API는 Apple Watch에서 Apple Pay을 지원 하기 위해 필요 하지만 (특정 의도에도 해당) 다른 상황 (예: 기존 앱)에서는 선택 사항입니다.While this new API is required for supporting Apple Pay on the Apple Watch (and in specific Intents as well), it is optional in other situations (such as existing apps). 그러나 Apple은 가능한 한 빨리 새 API로 전환 하 여 단일 코드 베이스를 사용 하 여 모든 개발자 앱 전체에 걸쳐 광범위 한 Apple Pay 지원을 제공할 것을 제안 합니다.However, Apple suggests moving to the new API as soon as possible to provide broad Apple Pay support throughout all of the developer's apps with a single code base. 의도 및 Siri 통합에 대 한 자세한 내용은 SiriKit 소개 설명서를 참조 하세요.For more information about Intents and Siri integration, please see our Introduction to SiriKit documentation.

앱 내에서 발급자 카드 제공Presenting Issuer Cards from within Apps

IOS 10을 사용 하는 경우 카드 발급자가 자신의 앱 내에서 카드를 제공할 수 있도록 하는 새로운 기능이 PassKit 프레임 워크에 추가 되었습니다.With iOS 10, new features have been added to the PassKit framework that allow card issuers to present their cards from within their own apps. 개발자는 카드에 대 한 Apple Pay 단추를 표시 하는 앱의 사용자 인터페이스에 PKPaymentButtonTypeInStore UIButton를 추가할 수 있습니다.The developer can add a PKPaymentButtonTypeInStore UIButton to the app's user interface that will display an Apple Pay button for a card.

PKPassLibrary 클래스의 PresentPaymentPass 메서드를 사용 하 여 프로그래밍 방식으로 카드를 표시할 수도 있습니다.The PresentPaymentPass method of the PKPassLibrary class can also be used to programmatically display the card.

새 결제 네트워크 지원New Payment Network Support

IOS 10의 새로운 기능으로, 앱은 개발자가 수정 하지 않고도 사용할 수 있게 되 면 새 결제 네트워크를 자동으로 지원할 수 있습니다. 앱을 다시 컴파일하고 앱 스토어에 다시 전송 해야 합니다.New to iOS 10, an app can automatically support a new payment network when it becomes available without the developer having to modify, recompile the app and resubmit it to the App Store.

PKPaymentNetwork 클래스의 새 AvailableNetworks 메서드를 사용 하면 앱이 런타임에 사용자 장치에서 사용할 수 있는 네트워크를 검색할 수 있습니다.The new AvailableNetworks method of the PKPaymentNetwork class allows an app to discover the networks available on the user's device at runtime. 또한 Supportednetworks 속성은 지불 공급자의 이름을 인수로 사용 하도록 확장 되었습니다.Additionally, the SupportedNetworks property has been expanded to take the payment provider's name as an argument. 이러한 방법을 사용 하 여 앱은 지불 공급자가 지 원하는 모든 네트워크를 자동으로 지원할 수 있습니다.Using these methods, an app can automatically support any network that the payment provider supports.

자세한 내용은 Apple Pay 구성 및 Apple Apple Pay 가이드를 참조 하세요.For more information, please see our Apple Pay Configuration and Apple's Apple Pay Guide.

새 테스트 환경New Testing Environment

IOS 10을 사용 하 여 Apple은 개발자가 iOS 장치에서 직접 테스트 지불 카드를 프로 비전 할 수 있는 새로운 테스트 환경을 도입 했습니다.With iOS 10, Apple introduced a new testing environment that allows the developer to provision test payment cards directly on an iOS device. 그러면이 새 테스트 환경이 암호화 된 테스트 지불 데이터를 앱에 반환 합니다.This new testing environment then returns encrypted test payment data to the app.

새 테스트 환경을 사용 하도록 설정 하려면 다음을 수행 합니다.To enable the new testing environment, do the following:

  1. ITunes Connect에서 새 테스트 iCloud 계정을 만듭니다.Create a new testing iCloud Account in iTunes Connect.
  2. 새 테스트 계정을 사용 하 여 iOS 장치에 로그인 합니다.Log into the iOS device with the new testing account.
  3. 에서 앱을 테스트 하는 데 필요한 영역을 설정 합니다.Set the desired region to test the app in.
  4. Apple Pay 가이드 에서 테스트 지불 카드 중 하나를 사용 하 여 지불액을 만듭니다.Use one of the test payment cards from the Apple Pay Guide to make payments.

중요

ICloud 계정을 전환 하면 장치가 새 테스트 환경으로 자동 전환 됩니다.By switching iCloud Accounts, the device will automatically switch to the new testing environment. 그러나 Apple에서는 iTunes 앱 스토어에 제출 하기 전에 프로덕션 환경에서 실제 카드로 앱을 테스트 해야 합니다 .However, Apple still requires the app to be tested with real cards in a production environment before submission to the iTunes App Store.

요약Summary

이 문서에서는 앱 내에서 Apple Pay를 사용 하는 데 필요한 다양 한 항목을 살펴보았습니다.In this article, we explored the different items required to use Apple Pay within your app. 판매자 ID를 만드는 방법 및 수동으로 수정 해야 하는 info.plist 내에서이를 사용 하는 방법을 살펴보았습니다 .We looked at how to create a Merchant ID, and how it is used within the Entitlements.plist, which needs to be modified manually.