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

Problem with transaction verification #222

Closed
Dmytro-yakymuk opened this issue Jun 30, 2023 · 5 comments
Closed

Problem with transaction verification #222

Dmytro-yakymuk opened this issue Jun 30, 2023 · 5 comments

Comments

@Dmytro-yakymuk
Copy link

Dmytro-yakymuk commented Jun 30, 2023

I have a problem with transaction verification, if in the old version we had an explicit method for this

// Verify sends receipts and gets validation result
func (c *Client) Verify(ctx context.Context, reqBody IAPRequest, result interface{}) error {
	_, err := c.verify(ctx, reqBody, result)
	return err
}

, in the new version I only see GetTransactionHistory, ParseSignedTransactions. How can I get some boolean value to understand that the transaction is valid?

Besides, I don't know where to get the originalTransactionId. I get "originalTransactionIdentifierIOS": "0", could it be related to using sandbox?

@richzw
Copy link
Collaborator

richzw commented Jul 1, 2023

in the new version I only see GetTransactionHistory, ParseSignedTransactions. How can I get some boolean value to understand that the transaction is valid?

Here are the steps to verify the transaction.

  • call the GetTransactionInfo or GetTransactionHistory and get the response TransactionInfoResponse
  • call the ParseSignedTransactions to parse the SignedTransactionInfo from the response TransactionInfoResponse and get the JWSTransaction
  • check whether the transactionId of the JWSTransaction is equal to the transactionId of the GetTransactionInfo or not

Besides, I don't know where to get the originalTransactionId. I get "originalTransactionIdentifierIOS": "0", could it be related to using sandbox?

The transactionId could be used to verify the non-consumable receipt, and the client could get the transactionId of the receipt after purchasing successfully. The transactionId is non-zero under the sandbox environment.

@Dmytro-yakymuk
Copy link
Author

in the new version I only see GetTransactionHistory, ParseSignedTransactions. How can I get some boolean value to understand that the transaction is valid?

Here are the steps to verify the transaction.

  • call the GetTransactionInfo or GetTransactionHistory and get the response TransactionInfoResponse
  • call the ParseSignedTransactions to parse the SignedTransactionInfo from the response TransactionInfoResponse and get the JWSTransaction
  • check whether the transactionId of the JWSTransaction is equal to the transactionId of the GetTransactionInfo or not

Besides, I don't know where to get the originalTransactionId. I get "originalTransactionIdentifierIOS": "0", could it be related to using sandbox?

The transactionId could be used to verify the non-consumable receipt, and the client could get the transactionId of the receipt after purchasing successfully. The transactionId is non-zero under the sandbox environment.

thank you very much!!!

@Dmytro-yakymuk
Copy link
Author

Dmytro-yakymuk commented Jul 11, 2023

in the new version I only see GetTransactionHistory, ParseSignedTransactions. How can I get some boolean value to understand that the transaction is valid?

Here are the steps to verify the transaction.

  • call the GetTransactionInfo or GetTransactionHistory and get the response TransactionInfoResponse
  • call the ParseSignedTransactions to parse the SignedTransactionInfo from the response TransactionInfoResponse and get the JWSTransaction
  • check whether the transactionId of the JWSTransaction is equal to the transactionId of the GetTransactionInfo or not

Besides, I don't know where to get the originalTransactionId. I get "originalTransactionIdentifierIOS": "0", could it be related to using sandbox?

The transactionId could be used to verify the non-consumable receipt, and the client could get the transactionId of the receipt after purchasing successfully. The transactionId is non-zero under the sandbox environment.

Hi, I receive the following receipt:
"{\"originalTransactionDateIOS\":1688636841000,\"transactionDate\":1689074049000,\"originalTransactionIdentifierIOS\":\"2000000363676076\",\"transactionId\":\"2000000366516012\",\"transactionReceipt\":\"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-07-11T11:14:22.371138484Z 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-07-11T11:14:22.371138484Z LrpcCrbzbNlAz6pFbLIcybERNw22qCEUNPTz9/5FV8NDS6NAcBx1+QIoNr4IU9HkxajuUJW7pKNd2AAtNLZhpm83pmIvq/nErKDa+p4fazYBR6amTSNIDttQBsyN9ONDUDRwBTtEzIf0OGhmCof4numWQgM95C/AtwxljppL84DHIihxDfulz4GdoHVfR6KB1HQJqBxZcnejxAEzhQ==\",\"productId\":\"chat.n2n2.CreatorSub\"}"

and I try to find tx by id in the sandbox

func TestMain(t *testing.T) {
	file, err := os.ReadFile("AuthKey_3ZX5PYQCC7.p8")
	require.NoError(t, err)

	c := &api.StoreConfig{
		KeyContent: file,                                   // Loads a .p8 certificate
		KeyID:      "3ZX5PYQCC7",                           // Your private key ID from App Store Connect (Ex: 2X9R4HXF34)
		BundleID:   "chat.n2n2.Chat.dev",                   // Your app’s bundle ID
		Issuer:     "d5395578-c557-4611-90ec-90e554597be7", // Your issuer ID from the Keys page in App Store Connect (Ex: "57246542-96fe-1a63-e053-0824d011072a")
		Sandbox:    true,                                   // default is Production
	}
	originalTransactionId := "2000000366516012"
	a := api.NewStoreClient(c)
	query := &url.Values{}
	// query.Set("productType", "AUTO_RENEWABLE")
	// query.Set("productType", "NON_CONSUMABLE")
	ctx := context.Background()

	responses, err := a.GetTransactionHistory(ctx, originalTransactionId, query)
	require.NoError(t, err)

	for _, response := range responses {
		transantions, err := a.ParseSignedTransactions(response.SignedTransactions)
		require.NoError(t, err)
		_ = transantions
	}
}

but I get an error:
errorCode: 4040010, errorMessage: Transaction id not found.

tell me pls, what am I doing wrong?

@richzw
Copy link
Collaborator

richzw commented Jul 12, 2023

@Dmytro-yakymuk , per doc https://developer.apple.com/documentation/appstoreserverapi/transactionidnotfounderror?changes=latest_minor

TransactionIdNotFoundError - An error that indicates a transaction identifier wasn’t found.

Please make sure the following items are correct

  • Is the receipt sandbox or not? if it is one production receipt, please set Sandbox of StoreConfig to false
  • Please make sure the BundleID is correct.

The transctionId 2000000366516012 is correct based on your information.

@Dmytro-yakymuk
Copy link
Author

thanks!!

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