The contrast between the black and green is too small for the decoder to detect the qr code.
If I make it just black and white it works fine.
I don't recall the decoder to do some analysis for determining what the background color might be.
It just assumes a certain amount of contrast between the background and the black color.