line 76 - 79:
If a subscription is created from a product that is a variation of another product, then this senario, unless the product variation has a quantity price, will always make the functionL recurring_price() return decimal("0.00")
I believe that this function is intended to get the value of the price of the normal subscription if nothing is specified, but it is not doing that. I do not fully understand the code because of your comment "# Prevent a recursive loop." on line 76, so unsure how to fix, but I believe this to be a logic error that should be addressed on lines 76-79.