diff --git a/ipmi/test_ipmi_payload.robot b/ipmi/test_ipmi_payload.robot
index 7c15009..6c93567 100644
--- a/ipmi/test_ipmi_payload.robot
+++ b/ipmi/test_ipmi_payload.robot
@@ -13,11 +13,20 @@
 
 
 *** Variables ***
-${user_priv}                    2
-${operator_priv}                3
-${admin_level_priv}             4
-${no_access_priv}               15
-${new_user_passwd}             0penBmc1
+${user_priv}                     2
+${operator_priv}                 3
+${admin_level_priv}              4
+${no_access_priv}                15
+${new_user_passwd}               0penBmc1
+${standard_payload_type_resp}    03 00
+${session_setup_payload_resp}    3f 00
+&{standard_payload_types}        ipmi_message=0  sol=1
+&{session_setup_payload_types}  RMCP+open_session_request=0x10
+                           ...  RMCP+open_session_response=0x11
+                           ...  RAKP_msg_1=0x12
+                           ...  RAKP_msg_2=0x13
+                           ...  RAKP_msg_3=0x14
+                           ...  RAKP_msg_4=0x15
 
 
 *** Test Cases ***
@@ -177,6 +186,50 @@
     END
 
 
+Verify Get Channel Payload Version
+    [Documentation]  Verify payload version for all supported payload type in
+                ...  all active channels.
+    [Tags]  Verify_Get_Channel_Payload_Version
+    [Template]  Verify Payload Version
+
+    FOR  ${channel}  IN  @{active_channel_list}
+        # Input Channel.
+        ${channel}
+    END
+
+Verify Get Channel Payload Version For Invalid Channel
+    [Documentation]  Verify get channel payload version IPMI command for invalid channel.
+    [Tags]  Verify_Get_Channel_Payload_Version_For_Invalid_Channel
+    [Template]  Verify Payload Version For Invalid Channel
+
+    FOR  ${invalid_channel_number}  IN  @{inactive_channel_list}
+        # channel number           payload types.
+        ${invalid_channel_number}   &{standard_payload_types}
+        ${invalid_channel_number}   &{session_setup_payload_types}
+    END
+
+
+Verify Get Channel Payload Support
+    [Documentation]  Verify get channel payload support IPMI command for active channels.
+    [Tags]  Verify_Get_Channel_Payload_Support
+    [Template]  Verify Payload Support
+
+    FOR  ${channel}  IN  @{active_channel_list}
+        # Input channel.
+        ${channel}
+    END
+
+Verify Get Channel Payload Support For Invalid Channel
+    [Documentation]  Verify get channel payload support IPMI command for invalid channels.
+    [Tags]  Verify_Get_Channel_Payload_Support_For_Invalid_Channel
+    [Template]  Verify Payload Support
+
+    FOR  ${channel}  IN  @{inactive_channel_list}
+       # Input channel.      Invalid channel intimation.
+       ${channel}            ${1}
+   END
+
+
 *** Keywords ***
 
 IPMI Payload Setup Execution
@@ -406,3 +459,77 @@
     ...  ${channel_number} ${user_id}
 
     Verify Invalid IPMI Command  ${raw_cmd}  0xcc
+
+
+Verify Payload Type Version
+    [Documentation]  Verify supported payload version.
+    [Arguments]  ${channel_number}  &{payload_type_dict}
+
+    # Description of argument(s):
+    # channel_number     Input channel number.
+    # payload_type_dict  Supported payload type in dictionary type.
+    #                    standard_payload_types and session_setup_payload_types which we use
+    #                    in this keyword are defined in variable section.
+
+    FOR  ${payload_type_name}  ${payload_type_number}  IN  &{payload_type_dict}
+        ${get_cmd}=  Catenate  ${IPMI_RAW_CMD['Payload']['Get_Channel_Payload_Version'][0]}
+        ...  ${channel_number} ${payload_type_number}
+
+        ${resp}=  Run External IPMI Raw Command  ${get_cmd}
+        ${resp}=  Strip String  ${resp}
+        Should Be Equal  ${resp}  10
+    END
+
+
+Verify Payload Version For Invalid Channel
+    [Documentation]  Verify payload version for invalid channel.
+    [Arguments]  ${channel_number}  &{payload_type_dict}
+
+    # Description of argument(s):
+    # channel_number     Input channel number.
+    # payload_type_dict  Supported payload type in dictionary type.
+    #                    standard_payload_types and session_setup_payload_types which we use
+    #                    in this keyword are defined in variable section.
+
+     ${channel_number}=  Convert To Hex  ${channel_number}  prefix=0x
+     FOR  ${payload_type_name}  ${payload_type_number}  IN  &{payload_type_dict}
+        ${get_cmd}=  Catenate  ${IPMI_RAW_CMD['Payload']['Get_Channel_Payload_Version'][0]}
+        ...  ${channel_number} ${payload_type_number}
+
+        Verify Invalid IPMI Command  ${get_cmd}  0xcc
+     END
+
+
+Verify Payload Version
+    [Documentation]  Verify supported payload version on given channel number.
+    [Arguments]  ${channel_number}
+
+    # Description of argument(s):
+    # channel_number     Input channel number.
+
+    Verify Payload Type Version  ${channel_number}  &{standard_payload_types}
+    Verify Payload Type Version  ${channel_number}  &{session_setup_payload_types}
+
+
+Verify Payload Support
+    [Documentation]  Verify payload support on given channel number.
+    [Arguments]  ${channel_number}  ${invalid_channel}=${0}
+
+    # Description of argument(s):
+    # channel_number     Input channel number.
+    # invalid_channel    This argument indicates whether we checking payload support command
+    #                    for Invalid channel or not.
+    #                    (e.g. 1 indicates checking for invalid channel, 0 indicates valid channel).
+
+    ${channel_number}=  Convert To Hex  ${channel_number}  prefix=0x
+    ${raw_cmd}=  Catenate  ${IPMI_RAW_CMD['Payload']['Get_Channel_Payload_Support'][0]}  ${channel_number}
+
+    Run Keyword And Return If  '${invalid_channel}' == '${1}'
+    ...  Verify Invalid IPMI Command  ${raw_cmd}  0xcc
+
+    # will be executed only if invalid_channel == 0.
+    ${resp}=  Run External IPMI Raw Command  ${raw_cmd}
+
+    ${resp}=  Strip String  ${resp}
+    ${expected_resp}=  Catenate  ${standard_payload_type_resp}  ${session_setup_payload_resp} 00 00 00 00
+    Should Be Equal  ${expected_resp}  ${resp}
