NyaMisty/ipatool-py

Error on buy product

Closed this issue · 2 comments

I have error with kbsync from iPhone

Store buyProduct failed! Message: main.py:205
MZCommerce.ConfirmPaymentSheet_message (errorType
-MZCommerce.ConfirmPaymentSheet)

I saw you posted here as well, so I will also crosspost:

After reversing appstored a little bit I noticed that 2 requests to the /WebObjects/MZBuy.woa/wa/buyProduct endpoint are sent. One is sent right when you attempt to get an app to install and the response from the server is MZCommerce.ConfirmPaymentSheet. This actually causes appstored to open the dialog box to confirm the purchase/installation. After you hit the install button a second request to the /WebObjects/MZBuy.woa/wa/buyProduct is sent but this time it contains:

        <key>hasConfirmedPaymentSheet</key>
        <string>true</string>

I believe this tells the server that the purchase (free or otherwise) has been confirmed and it responds with an authorized response along with the links to the your relevant IPAs.

I'm not sure, but I don't believe ipatool-py inserts the hasConfirmedPaymentSheet key which is probably what is causing it to fail with the ids from your device.

Hm that's strange, it's possibly related to your appstore accouont. I'll suggest you finish the purchasing manually on the itunes first, then continue to use ipatool-py.

@defparam it's cool of you to finding that property. I know that hasConfirmedPaymentSheet property, However that's from appstored, and we are using Windows iTunes actually. On windows it's not using that logic. Probably need more debugging.