Hi Paul,
Interesting question. I did a quick search to see if I could find a WooCommerce extension that does that and I didn’t turn one up.
I suspect you could do this on your own though. One way to do that would be to create a directory in a child theme called woocommerce. Inside that directory, create another one called single-product. Lastly in that folder, copy the product-thumbnails.php file from inside the WooCommerce plugin’s template folder to that new spot in your child theme.
This is the line that you’ll want to change:
echo apply_filters( 'woocommerce_single_product_image_thumbnail_html', sprintf( '<a href="%s" class="%s" title="%s" data-rel="prettyPhoto[product-gallery]">%s</a>', $image_link, $image_class, $image_title, $image ), $attachment_id, $post->ID, $image_class );
The caption is generated by this part I believe:
title="%s"
so you’ll want to add your buy now button there. Hopefully that’ll get you pointed in the right direction. It’s not something I’ve ever tried, but that’s how I would get started.
Have a great week,
Bill