+sub extract_taxes {
+ my ($self, $response) = @_;
+
+ my %taxes;
+
+ my $products = $response->{Products};
+ return unless $products;
+
+ foreach my $node (@$products) {
+ my $flags = $node->{flags};
+ if ($flags &&
+ grep($_ eq '{TAX}', @$flags) &&
+ grep($_ eq '{CALCULATED}', @$flags))
+ {
+ $taxes{ $node->{code} } = $node->{subtotal};
+ }
+ }
+
+ return %taxes;
+}
+