I implemented consumable in-app purchases in an iPhone app using StoreKit's ProductView().
When I tap the payment button in ProductView(), I am taken to the payment screen and once the payment is completed, the desired code appears to be executed, so there doesn't seem to be a problem, but when I tap the payment button in ProductView() again, the desired code is executed without being taken to the payment screen.
So one payment can be used any number of times.
I thought I wrote it exactly according to the reference, but will it be okay in a production environment? Is there any code that is necessary?
See the Implementing a store in your app using the StoreKit API sample code and Getting started with In-App Purchase using StoreKit views for examples.