Adding a captcha to a Drupal Commerce Checkout step isn't as simple as expected, as adding it via "Captcha points" shows the captcha on any Checkout step. So you need to add a little snippet in a custom module instead:
/**
* Implements hook_form_FORM_ID_alter.
*/
function MY_MODULE_form_commerce_checkout_flow_dd_multistep_order_request_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
// Add captcha to checkout form:
if ($form['#step_id'] == 'order_information' && !\Drupal::currentUser()->hasPermission('skip CAPTCHA')) {
$default_challenge = \Drupal::service('config.manager')
->getConfigFactory()
->get('captcha.settings')
->get('default_challenge');
$form['captcha'] = [
'#type' => 'captcha',
'#captcha_type' => $default_challenge,
];
}
}
Perhaps someone would like to take the time to implement this as a simple module with configuration options for the step and the captcha type? ;)