Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- rxswift
- Xcode
- MVVM
- 스위프트
- Refactoring
- UITextView
- clean architecture
- UICollectionView
- collectionview
- uitableview
- combine
- Protocol
- tableView
- uiscrollview
- map
- RxCocoa
- 애니메이션
- Human interface guide
- claude code
- 리펙토링
- 클로드코드
- Observable
- HIG
- SWIFT
- ios
- swiftUI
- Clean Code
- swift documentation
- 클린 코드
- 리팩토링
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS] 1. 애플페이 (Apply Pay) - 처리해야하는 전체 플로우 본문
애플페이 관련 목차
1. 애플페이 (Apply Pay) - 처리해야하는 전체 플로우
2. 애플페이 (Apply Pay) - 사전 설정 2단계 (앱 외적인 세팅)
3. 애플페이 (Apply Pay) - Xcode에 적용하기
4. 애플페이 (Apply Pay) - 앱에 적용하기
처리해야하는 전체 플로우

1단계: Apple Developer 인프라 설정

Apple Pay 결제 데이터의 암호화 키체인을 구성하는 단계
- Merchant ID (판매자 식별자) 생성: 우리 앱이 Apple Pay 시스템에서 결제를 요청할 수 있는 고유한 상점 ID(merchant.com.domain...)를 등록하는 과정
- Payment Processing Certificate (결제 처리 인증서) 생성: 사용자가 페이스 ID 등으로 인증하면 Apple 서버는 결제 정보를 암호화. 이때 암호화에 사용되는 공개키(Public Key)를 Apple에 등록하고, 이를 복호화할 수 있는 개인키(Private Key) 쌍을 만드는 과정
2단계: 결제 대행사(PG) 연동 및 환경 설정

Apple Pay 결제 데이터를 복호화하고 실제 원화(KRW) 결제 승인을 처리할 PG사 연동 단계
- PG사 선정 및 계약: 토스페이먼츠, 포트원, NHN KCP, KG이니시스 등 Apple Pay 지원 국내 PG사 선택 및 가맹 계약 진행
- 인증서 업로드: 1단계에서 생성한 Payment Processing Certificate(.cer 파일)를 PG사 상점 관리자 콘솔에 등록
- 💡 등록 이유: Apple 서버가 암호화하여 앱으로 전송한 결제 데이터(Token)를 PG사가 복호화할 수 있도록 권한을 위임하는 작업
3단계: Xcode 프로젝트 개발 환경 설정

생성한 Merchant ID를 Xcode 프로젝트와 동기화하여 앱에 Apple Pay 권한을 부여하는 단계
- Apple Pay Capability 추가: Xcode 프로젝트의 Signing & Capabilities 탭에서 + Capability 버튼을 통해 Apple Pay 기능 추가
- Merchant ID 매핑: 추가된 Apple Pay 섹션의 새로고침(🔄) 버튼을 클릭하여 생성해 둔 ID를 동기화하고 해당 체크박스 선택
- 완료 시 프로젝트 내 [프로젝트명].entitlements 파일이 자동 생성/업데이트되며 Apple Pay 권한이 명시됨
4단계: 앱 내 결제 로직 구현 (코드 작성)

사용자 결제 버튼 클릭부터 Apple Pay 시트 인증 및 최종 결제 완료까지의 클라이언트 코드 구현 단계 (PassKit 프레임워크 활용)
- PG사 iOS SDK 설치: SPM 또는 CocoaPods를 통해 선택한 PG사의 최신 iOS SDK를 프로젝트에 추가
- Apple Pay 전용 버튼 배치: Apple 디자인 가이드라인을 준수하는 내장 이니셜라이저 기반의 PKPaymentButton을 UI에 배치
- 결제 요청서(PKPaymentRequest) 정의: Merchant ID, 국가 코드(KR), 통화 코드(KRW), 지원 카드 브랜드 목록 지정 및 결제 금액 목록(PKPaymentSummaryItem) 구성 (배열의 마지막 아이템이 최종 결제 총액)
- 결제 시트 표시 및 델리게이트 구현: PKPaymentAuthorizationController를 통해 화면 하단에 Apple Pay 결제 시트 노출 및 사용자 인증 처리
- 토큰 추출 및 PG사 전달: didAuthorizePayment 콜백 메서드로 전달된 PKPayment 객체에서 암호화된 결제 데이터(payment.token.paymentData)를 추출하여 PG사 결제 승인 API로 전송
- 결제 결과 처리: PG사 서버의 최종 결제 승인 결과에 따라 Apple Pay 시트에 성공/실패 애니메이션을 표시하고 시트 종료(dismiss)
'iOS 응용 (swift)' 카테고리의 다른 글
Comments
