2026-04-27 11:01:20 +08:00
|
|
|
{
|
|
|
|
|
"title": "iOS Apple Pay Integration for Points Purchase",
|
|
|
|
|
"slug": "feat-ios-apple-pay",
|
|
|
|
|
"branch": "worktree/feat-ios-apple-pay",
|
2026-04-28 17:17:40 +08:00
|
|
|
"status": "completed",
|
2026-04-27 11:01:20 +08:00
|
|
|
"priority": "high",
|
|
|
|
|
"dev_type": "fullstack",
|
|
|
|
|
"created_at": "2026-04-27",
|
|
|
|
|
"updated_at": "2026-04-27",
|
|
|
|
|
"assignee": null,
|
|
|
|
|
"labels": [
|
|
|
|
|
"ios",
|
|
|
|
|
"payment",
|
|
|
|
|
"apple-iap",
|
|
|
|
|
"points",
|
|
|
|
|
"backend"
|
|
|
|
|
],
|
|
|
|
|
"description": "Integrate Apple In-App Purchase (IAP) for iOS points purchase flow, connecting frontend StoreKit2 with backend receipt validation.",
|
|
|
|
|
"acceptance_criteria": [
|
|
|
|
|
"iOS app can display available packages via StoreKit2",
|
|
|
|
|
"User can purchase points through Apple IAP",
|
|
|
|
|
"Backend validates Apple receipt and credits points",
|
|
|
|
|
"Purchase history is recorded in points_ledger",
|
|
|
|
|
"Error handling for failed/cancelled purchases",
|
|
|
|
|
"Starter pack purchase tracked in register_bonus_claims"
|
|
|
|
|
],
|
|
|
|
|
"dependencies": [],
|
|
|
|
|
"blocks": [],
|
|
|
|
|
"related_docs": [
|
|
|
|
|
"docs/protocols/common/http-error-codes.md",
|
|
|
|
|
"backend/src/v1/points/service.py",
|
|
|
|
|
"apps/lib/features/points/data/models/package_info.dart"
|
2026-04-28 17:17:40 +08:00
|
|
|
],
|
|
|
|
|
"completedAt": "2026-04-28"
|
2026-04-27 11:01:20 +08:00
|
|
|
}
|