Previously I was using app store receipt validation without a problem. I need the transactionReceipt column.
I am using the code below to get it :
B4X:
Dim no As NativeObject = Product
Dim b() As Byte = no.NSDataToArray(no.GetField("transactionReceipt"))
LogColor(b,Colors.Magenta)
'Dim sos As String = convert.StringFromBytes(b,"UTF-8")
It was previosuly giving a very long receipt id which you could verify with appstore but now the log shows me :
<B4IArray: 0x16169090>
It was too early to be happy , now i can validate the script at first purchase and get all the data as json with sending the transactionreceipt , but the problem is if i rrestoretranscations on another device using same itunes username i only get transaction identifier that is like : 1000000325282122 , and it is useless because i cant validate anything with this , I need the transactionreceipt , is it possible to make this return also with restoretransactions ( which means purchase completed ? )
at first purchase
B4X:
Dim no As NativeObject = Product
Dim b() As Byte = no.NSDataToArray(no.GetField("transactionReceipt"))
LogColor(b,Colors.Magenta)
Log(stringu.EncodeBase64(b))
this returns the receiipt but if i restore on another device this code doesnt work it triggers an error :
object not initialized for this line:
Dim b() As Byte = no.NSDataToArray(no.GetField("transactionReceipt"))
it only returns Product: premiumbtc, date=14:49:16, Transaction identifier=1000000325282122
As we are not required to hold any data for auto renewing subscriptions according to apple document and it is only enough to call restoretransactions to make users restore on another device , we should be getting some more information on purchasecompleted sub i think . Am I Wrong ?