IOs in app purchase - reports / transaction log for sandbox - ios

We have successfully integrated in app purchase and are able to test it in sandbox mode. However, I cannot find anywhere in the docs where to test the records of all purchases made using sandbox account. Somewhere I can test the total amount earned at-least.
I have tried - App analytics, Sales and Trends, and Payments and Financial Reports section on appstoreconnect.apple.com

It seems there is no way to check sale/trends for test users. as the Test purchases are sandboxed.
refer to this link:
https://forums.developer.apple.com/thread/29632

Related

Apple Test-Flight test in a payment application

I am developing a payment application for apple users, where users will have an account and will be able to recharge using apple pay.
Its fine while my application is in production. Below Figure 8-1 Production.
But while my application is in testflight of apple. A listed users(allowed by me) can download/update his/her testflight application from store, Also can recharge his account balance using sandbox of apple pay.
According to guideline of Apple store.
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/AppReview.html#//apple_ref/doc/uid/TP40008267-CH10-SW1
As the Figure 8-1(App review) of the above link though the users pay from his/her sandbox apple pay account user will receive money in his production account!!!
My question is
What is the better way to handle those transactions of apple sandbox transactions?
and
How typical payment applications handle those types of situations?
You have to understand the difference between Testflight users and sandbox users for testing in-app purchases.
You are sending your test users to test the app via Testflight and you invite them with their real email address.
They can never do a sandbox purchase with their real (production) account that they currently use in the App Store for example.
Here is what you have to do:
Go to iTunes Connect - https://itunesconnect.apple.com
Go to Users and Roles
In the top right select Sandbox Testers
Add a test user (first & last name, email address (not the email that someone uses for the App Store - I like to use a fake email like test#testApp.com or whatever)
Now you can share this email address with your tester(s), then they have to go to App Store or Settings - iTunes & App Store and log out of their account and log in with your sandbox account (they will be switched to the App Store that you specified for the sand box user so you can see how it would work for someone in USA vs. someone in Italy or China).
As you can see in the image below all Sandbox payments will have [Environment: Sandbox] written on them. And no money will be exchanged since you are only testing to see if your in-app purchases or subscriptions work...hope it helps
I think Apple has given recommended approach in your mentioned article.
When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code “Sandbox receipt used in production”, validate against the test environment instead.

I see in-app purchases in Firebase, but I don't see them in iTunes connect/AppAnnie

On 6/16 in Firebase I see some in app purchases from 1 user in my Vampires iOS app. 2 for $19.99 each and 1 for $9.99. I don't see that in App Annie/iTunes connect.
For a different app, Pirates iOS, I see on 6/15 2 in-app purchase at a price of 3.30 each. In App Annie stats I see revenue of $4.15, but for for 6/16.
Looks like dates of in-app purchases are messed up/not reporting?
I also checked iTunes connect and AppAnnie reports for 6/17 and see no revenue for that day.
Has anyone else experienced this?
Also posted at the Google Group for Firebase first 2 days ago with no responses: https://groups.google.com/d/topic/firebase-talk/f0W8Gu0WlIQ/discussion
In-app purchases are not currently being validated by Firebase on iOS, and so it might be that these purchases are the result of piracy. In that case, Firebase would report these purchases and iTunes (and, subsequently AppAnnie) would not. This should addressed in an upcoming release of the SDK.
Firebase 3.5.1 should solve this.
https://firebase.google.com/support/release-notes/ios
"FEATURE Added a feature to validate the authenticity of in-app
purchase events before they are reported by Firebase Analytics."
I have the same issue.. high volume of purchase in Firebase and many (many) less in ITC / App Annie... and by the way, I don't think that it's a problem related to piracy..
EDIT: I think that probably Firebase track the trigger of the button i.e. when updatedtransactions is fired, and not when the purchase is actually confirmed. So for example an User click the IAP button in the app and then cancel the operation. Maybe this activity is tracked by Firebase even if the purchase isn't happened.
Just my 2 cents.. I'll make some test and I will report here..

Do amazon live-testing purchases use real money?

I set up live-testing for my amazon app and i'm able to view the dialog to complete a purchase for an IAP, it doesn't say anything about it being a test purchase, are these purchases going to show up on my credit card?
I want to be careful before testing a bunch of payment scenarios to make sure I'm not racking up a huge bill.
According to Amazon live testing won't charge your testers anything:
Testers are not charged for downloading your test app, and are not charged for in-app items.
https://developer.amazon.com/public/resources/development-tools/live-app-testing

In app purchase, testing using sandbox

Can I still test in app purchase using sandbox with the following warning?
Note: You do not currently have a iOS Paid Apps contract in effect. If
this In-App Purchase was submitted with your app, then your app will
not be available on the App Store until your contract goes into
effect. Legal, Admin, and Finance users can go to the Contracts, Tax,
and Banking module in iTunes Connect to view your contract status.
When adding and testing in-app purchase in your application you have to have a contract for paid application and provide your contact info , bank info, and tax info.
It's not possible to test without it.

Is it possible to test in-app-purchase without having to enter bank details etc?

I want to test IAP, however it seems this isn't going to be possible without going through multiple hoops on iTunes Connect and entering bank information etc.
Reasons for SKProductsRequest returning 0 products?
Can anybody confirm if this is the case or not? If so then is there any reason why I can't just create a dummy test app entry in iTunes connect, enter garbage for the bank info, then after finishing testing delete the app entry from iTunes connect?
Yes, you definitely do have to enter banking and US tax info before you can do in-app purchases. I was getting "invalid product ID", but it started working as soon as my banking/tax info was set up. This doesn't seem to be documented anywhere.
Did not work for me. If it works out for you, let me know.
I tested in-app payment this late December 2013 / early January.
Yes you can test IAP without entering bank info. what you need to do is
Create a test user in itunesconnect
Run your app on an actual device
Launch AppStore App on your iphone/ipad
logout and login with your test user id
Go to your app and try to make an in-app purchase
You should get a prompt saying something like "Charge $0.99 to Sandbox"
You won't be charged to your actual account.
This is all documented by Apple HERE
Expand tab that says To perform testing for In-App Purchase products

Resources