role: system

content: You are checking the iOS Apple Pay implementation. Verify all acceptance criteria are met.


role: user

content: Run checks for the iOS Apple Pay integration feature.


role: assistant

content: Running verification checks...


Backend module structure

action: check

command: ls -la backend/src/v1/payments/

expected: Should have __init__.py, schemas.py, service.py, repository.py, router.py, dependencies.py


Router registration

command: grep -r 'payments_router' backend/src/v1/router.py

expected: payments_router should be registered in main v1 router


Error codes documentation

command: grep -E 'PAYMENT_|PAYMENT_RECEIPT_|PAYMENT_ALREADY_|PAYMENT_PRODUCT_' docs/protocols/common/http-error-codes.md

expected: Should have payment-related error codes documented


Points integration

command: grep -r 'PointsChangeType.PURCHASE' backend/src/

expected: Should have PURCHASE change type for points ledger


iOS StoreKit module

command: ls -la apps/lib/features/payments/

expected: Should have payments module with data/ and presentation/ subdirs


StoreKit integration

command: grep -r 'StoreKit\|InAppPurchase' apps/lib/features/payments/

expected: Should use StoreKit2 for IAP


Type checking

command: cd backend && uv run basedpyright src/v1/payments/

expected: No type errors


Lint check

command: cd backend && uv run ruff check src/v1/payments/

expected: No lint errors


Unit tests

command: cd backend && uv run pytest tests/unit/test_apple_payment.py -v

expected: All tests pass