In your case (delivering apples), no.
do I need an active consent (e.g. checkbox) from the user in order to store his or hers data?
No, for "common" personal data (name, e-mail, address, credit card info), you don't. Article 4(11) states:
‘consent’ of the data subject means any freely given, specific, informed and unambiguous indication of the data subject's wishes by which he or she, by a statement or by a clear affirmative action, signifies agreement to the processing of personal data relating to him or her;
Filling in personal details and credit card information is a clear affirmative action and an indication of will.
Your next question:
Or would I only need an extra consent if the data is used for something non-obvious?
Explicit consent is required only when you're processing data about race, religion, sex life, sexual preferences and other sensitive data as listed in Article 9 of GDPR:
- Processing of personal data revealing racial or ethnic origin, political opinions, religious or philosophical beliefs, or trade union membership, and the processing of genetic data, biometric data for the purpose of uniquely identifying a natural person, data concerning health or data concerning a natural person's sex life or sexual orientation shall be prohibited.
- Paragraph 1 shall not apply if one of the following applies: (...) the data subject has given explicit consent to the processing of those personal data for one or more specified purposes, except where Union or Member State law provide that the prohibition referred to in paragraph 1 may not be lifted by the data subject;