Hi,
Good news: the buyer's email is already available in that email, you do not need a new tag for it. The default admin notification has a "Customer:" line that outputs it through this tag:
That variable holds the email of the user account attached to the order, so you can place {VAR:CUSTOMER_DETAILS} anywhere you want the email to show in the HTML body. If nothing appears on your side, that line was most likely removed from your customized template, so just add the tag back where you need it.
Why your attempts came out empty:
- The HTML body only understands HikaShop tags written as {VAR:NAME} or {TXT:NAME}, which map to variables prepared in the preload file. {billing_address.address_email} and USER_EMAIL are not defined variables, so they render as nothing.
- There is also no email field on the address in HikaShop. The email is stored on the user account, which is exactly what CUSTOMER_DETAILS reads.
On your second question, no, you do not populate all three files for this. They have different roles:
- order_admin_notification.preload.php prepares the data (the {VAR:...} variables).
- order_admin_notification.html.php is the HTML layout (uses {VAR:...} / {TXT:...} tags).
- order_admin_notification.text.php is the plain-text layout (plain PHP, you echo values directly).
You only add the {VAR:...} tag in the HTML layout (and, if your customers also receive the plain-text part, one echo line in the text layout). You edit the preload only when you need to create a brand new variable, which is not needed here since CUSTOMER_DETAILS already exists.