Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we check if a user's In App Purchase has been refunded by Apple? #710

Open
pniteshnoble opened this issue May 16, 2024 · 1 comment
Open

Comments

@pniteshnoble
Copy link

Situation:

  • User makes an IAP and is awarded some content, we store the users device id to ensure they can access this content whenever they want.
  • User decided they do not like the content, so they call Apple and get a refund.
  • User can still access the content, even though they have been refunded for their IAP

Problem:
We don't want the user to be able to access this content anymore. This could become a loophole that they would take advantage of. (unlock content, then get refunded and keep their access to said content)

Question:
Is there any way for us to check if a user has been refunded for an IAP with either their transactionId, transactionReceipt, or any other information we may have?

@xhruso00
Copy link

xhruso00 commented Jul 7, 2024

@pniteshnoble There is "cancellationDate" in the in-app receipt. Check if it's non nil. The library is checkin it for you automatically. Don't forget there are users who buy, refund and buy again. The library checks for this automatically.
public class func verifyPurchase(productId: String, inReceipt receipt: ReceiptInfo) -> VerifyPurchaseResult {
PROBLEM: Customer has outdated receipt after he contacted support for refund. You can only check the receipt online and check it. New receipt is generated with app update (old macOS/iOS; newer could have new mechanism).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants