public static function prepareParameters(array $parameters)
    {
        $toConvert = [ 'amount', 'price' ];

        if (self::needsAmountConversion($parameters)) {
            if ($converter = Stripe::getAmountConverter()) {
                foreach ($toConvert as $to) {
                    if (isset($parameters[$to])) {
                        $parameters[$to] = forward_static_call_array(
                            $converter, [ $parameters[$to] ]
                        );
                    }
                }
            }
        }

        $parameters = array_map(function ($parameter) {
            return is_bool($parameter) ? ($parameter === true ? 'true' : 'false') : $parameter;
        }, $parameters);

        return preg_replace('/\%5B\d+\%5D/', '%5B%5D', http_build_query($parameters));;
    }