No, you don't need a public key. You encrypt your messages (such as your shipping address) with the vendor's public key. You only need a public key if you want them to encrypt messages to you, which isn't usually necessary.