checkout functionality working