does the receipt callback run more than once if the purchase was already granted successfully? I see in the documentation they added a datastore to check if the purchase was made already, but I’m wondering if that’s necessary. What I’m asking is, can I rely on the callback not running again once the purchase is successful? Also why would I need a datastore?