Skip to content

[EXTERNAL] feat: expose revocationDate and revocationReason on StoreTransaction via @mvanhorn#7012

Merged
rickvdl merged 7 commits into
mainfrom
external/feat-storetransaction-revocation
Jun 16, 2026
Merged

[EXTERNAL] feat: expose revocationDate and revocationReason on StoreTransaction via @mvanhorn#7012
rickvdl merged 7 commits into
mainfrom
external/feat-storetransaction-revocation

Conversation

@rickvdl

@rickvdl rickvdl commented Jun 16, 2026

Copy link
Copy Markdown
Member

Contains the original changes made by @mvanhorn in #6962 + added Objc compatibility


Note

Low Risk
Additive public API on transaction wrappers with SK1 and mocks unchanged (nil); no purchase or entitlement logic changes.

Overview
Adds public refund/revocation metadata on StoreTransaction, aligned with StoreKit 2’s Transaction.revocationDate and Transaction.RevocationReason.

Introduces RevocationReason (developer_issue, other, raw-value + ObjC RCRevocationReason) and wires SK2 transactions to copy revocationDate and map revocation reasons; unknown SK2 values log a warning and surface as nil on the reason. SK1, simulated, test, and backend-parsed transaction types return nil for both fields.

StoreTransaction exposes revocationDate and revocationReason on the public API (Swift and ObjC), with updated swiftinterfaces and API testers. Unit tests cover SK1 nil behavior, SK2 reason mapping, and RevocationReason equality/switching.

Reviewed by Cursor Bugbot for commit 3efd1a8. Bugbot is set up for automated code reviews on this repo. Configure here.

@rickvdl rickvdl added the pr:feat A new feature label Jun 16, 2026
@rickvdl rickvdl marked this pull request as ready for review June 16, 2026 06:42
@rickvdl rickvdl requested review from a team as code owners June 16, 2026 06:42
@rickvdl

rickvdl commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

@RCGitBot please test

@tonidero tonidero left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Thank you!

@rickvdl rickvdl force-pushed the external/feat-storetransaction-revocation branch from a2d7978 to 9415896 Compare June 16, 2026 09:34

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9415896. Configure here.

Comment thread Sources/Purchasing/StoreKitAbstractions/RevocationReason.swift Outdated
@rickvdl rickvdl force-pushed the external/feat-storetransaction-revocation branch 2 times, most recently from c7ad1be to a098239 Compare June 16, 2026 11:50
@rickvdl

rickvdl commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

@RCGitBot please test

@rickvdl

rickvdl commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

@RCGitBot please test

@rickvdl rickvdl merged commit f246638 into main Jun 16, 2026
43 checks passed
@rickvdl rickvdl deleted the external/feat-storetransaction-revocation branch June 16, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:feat A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants