<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def search_all_payments(payment_status=None, page_size=20, start_cursor=None, offset=0, use_cache=True, cache_begin=True, relations=None):
 """ Returns a command to search all payments ordered by creation desc @param payment_status: The payment status. If None is going to return results independent from status @param page_size: number of payments per page @param start_cursor: cursor to continue the search @param offset: offset number of payment on search @param use_cache: indicates with should use cache or not for results @param cache_begin: indicates with should use cache on beginning or not for results @param relations: list of relations to bring with payment objects. possible values on list: logs, pay_items, owner @return: Returns a command to search all payments ordered by creation desc """

    if payment_status:
        return PaymentsByStatusSearch(payment_status, page_size, start_cursor, offset, use_cache,
                                      cache_begin, relations)
    return AllPaymentsSearch(page_size, start_cursor, offset, use_cache, cache_begin, relations)