I was able to successfully buy ebooks online on Kindle. When I got the virtual card(on the EcoCash USSD under wallet services), it asked me to enter a 4 letter name, which I did. The name I used for the virtual card is different from the one that I used to activate my physical card.
For me to successfully purchase, I had to then enter those details on my Amazon account, under My account - Add a payment method - enter your credit card number(virtual card number) - name on card(the 4 letter name i used when I got the virtual card)-expiration date(date I was given when i got my virtual card).
After that process, I went back to Kindle, and when I clicked on my book(s), the payment went through, I instantly received an EcoCash confirmation, and my book(s) downloaded to my device instantly.
From my experience, the virtual account number is linked to the 1 letter nickname you enter when activating your virtual card.