You're passing the entire row to a search_payment_code method. Leaky abstractions all over the place.