购买非消耗类型的物品后,重新启动应用。 调用初始化后.就会进入交易成功的状态是为什么? 
Activity
itenfay commentedon Jun 22, 2024
付款完成,交易票据验证通过拿到server响应后,客户端要调用以下方法关闭此次交易,不然每次启动苹果server会通知客户端还有交易未完成,另外非消耗产品需要提供额外的恢复购买的按钮提供用户使用。
corle-bell commentedon Jun 24, 2024
我在验证成功之后调用的关闭交易,调用了关闭交易还是存在这个问题。 无法正确的关闭时因为transactionId不正确么,我在恢复购买后,进行验证。然后再下行信息里拿到的transactionId和 初始化后弹出的交易里的transactionId并不一样。但是他们的originalTransactionId是一样的。当然他们都是同一个商品。
itenfay commentedon Jun 25, 2024
你看一下
UnityIAPConnector.mm文件这段代码。因为非消耗型产品,在恢复购买后,transactionId与之前不一样,但originalTransactionId是一样的,导致传新的transactionId找不到Restored transaction。itenfay commentedon Jun 25, 2024
你过滤一下日志,看一下这段代码的日志打印的是什么,在这里回复我一下,我看到后分析定位问题所在,然后进行修复。
corle-bell commentedon Jun 26, 2024
这里是log,初始化后processPurchaseNotification这里收到的是DYFStorePurchaseStateSucceeded,而不是Restore

itenfay commentedon Jun 30, 2024
corle-bell commentedon Jul 1, 2024
调用传入的transactionIdentifier是正确的,最后的log是在这里输出的。

这里使用的值是 传入的SKPaymentTransaction中的字段 ,如果在上一步没有找到正确的SKPaymentTransaction这里就会出现空的字符串。和C# 传入的值没关系。