def create(cls, second_line, name_on_card, alias=None, type_=None,
               pin_code_assignment=None, monetary_account_id_fallback=None,
               custom_headers=None):
        """
        Create a new debit card request.

        :type user_id: int
        :param second_line: The second line of text on the card, used as
        name/description for it. It can contain at most 17 characters and it can
        be empty.
        :type second_line: str
        :param name_on_card: The user's name as it will be on the card. Check
        'card-name' for the available card names for a user.
        :type name_on_card: str
        :param alias: The pointer to the monetary account that will be connected
        at first with the card. Its IBAN code is also the one that will be
        printed on the card itself. The pointer must be of type IBAN.
        :type alias: object_.Pointer
        :param type_: The type of card to order. Can be MAESTRO or MASTERCARD.
        :type type_: str
        :param pin_code_assignment: Array of Types, PINs, account IDs assigned
        to the card.
        :type pin_code_assignment: list[object_.CardPinAssignment]
        :param monetary_account_id_fallback: ID of the MA to be used as fallback
        for this card if insufficient balance. Fallback account is removed if
        not supplied.
        :type monetary_account_id_fallback: int
        :type custom_headers: dict[str, str]|None

        :rtype: BunqResponseCardDebit
        """

        if custom_headers is None:
            custom_headers = {}

        request_map = {
            cls.FIELD_SECOND_LINE: second_line,
            cls.FIELD_NAME_ON_CARD: name_on_card,
            cls.FIELD_ALIAS: alias,
            cls.FIELD_TYPE: type_,
            cls.FIELD_PIN_CODE_ASSIGNMENT: pin_code_assignment,
            cls.FIELD_MONETARY_ACCOUNT_ID_FALLBACK: monetary_account_id_fallback
        }
        request_map_string = converter.class_to_json(request_map)
        request_map_string = cls._remove_field_for_request(request_map_string)

        api_client = client.ApiClient(cls._get_api_context())
        request_bytes = request_map_string.encode()
        request_bytes = security.encrypt(cls._get_api_context(), request_bytes,
                                         custom_headers)
        endpoint_url = cls._ENDPOINT_URL_CREATE.format(cls._determine_user_id())
        response_raw = api_client.post(endpoint_url, request_bytes,
                                       custom_headers)

        return BunqResponseCardDebit.cast_from_bunq_response(
            cls._from_json(response_raw, cls._OBJECT_TYPE_POST)
        )
Create a new debit card request.

        :type user_id: int
        :param second_line: The second line of text on the card, used as
        name/description for it. It can contain at most 17 characters and it can
        be empty.
        :type second_line: str
        :param name_on_card: The user's name as it will be on the card. Check
        'card-name' for the available card names for a user.
        :type name_on_card: str
        :param alias: The pointer to the monetary account that will be connected
        at first with the card. Its IBAN code is also the one that will be
        printed on the card itself. The pointer must be of type IBAN.
        :type alias: object_.Pointer
        :param type_: The type of card to order. Can be MAESTRO or MASTERCARD.
        :type type_: str
        :param pin_code_assignment: Array of Types, PINs, account IDs assigned
        to the card.
        :type pin_code_assignment: list[object_.CardPinAssignment]
        :param monetary_account_id_fallback: ID of the MA to be used as fallback
        for this card if insufficient balance. Fallback account is removed if
        not supplied.
        :type monetary_account_id_fallback: int
        :type custom_headers: dict[str, str]|None

        :rtype: BunqResponseCardDebit