
# plantuml sequence diagram code > https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
# etc diagram > https://plantuml.com/ko/
@startuml
== 1 ==
App -> Api : req product list
Api --> App : rsp
== 2 ==
App -> AppStore : req product
AppStore --> App : rsp
App -> AppStore : req purchase
AppStore --> App : rsp
AppStore -> Api : req notification
Api --> AppStore : rsp
== 3 ==
App -> Api : req validate receipt
Api -> AppStore : req receipt
AppStore --> Api : rsp
Api -> Api : validate receipt
Api --> App : rsp
@enduml
Reference
2.1. IOS(Apple)
- Get Transaction History https://developer.apple.com/documentation/appstoreserverapi/get_transaction_history
- Generate Token(JWT)
https://developer.apple.com/documentation/appstoreserverapi/generating_json_web_tokens_for_api_requests#3809219
- 필요 데이터 : issuer id, app key, json private key file, bundle id


- App Store Connect > 사용자 및 액세스 > 통합 > 팀키 > (+):키 생성 > 다운로드(private key)
- Issuer ID > request:headers:kid
- 키 ID > request:payload:iss

- 서버 간 알림 활성화
https://developer.apple.com/kr/help/account/configure-app-capabilities/enabling-server-to-server-notifications/
- Get Notification History https://developer.apple.com/documentation/appstoreserverapi/get_notification_history
2.2. AOS(Google)
- 실시간 개발자 알림 참조
https://developer.android.com/google/play/billing/rtdn-reference?hl=ko
- 인 앱의 구매 및 결제 상태 확인
https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.products/get?hl=ko
Notification(알림)의 수신 및 저장