

Express checkout form on product page
COD Express Checkout adds a streamlined, one-click checkout form directly beneath the product price on WooCommerce single product pages. This form appears only when Cash on Delivery (COD) is enabled as a payment method, allowing customers to bypass the traditional cart checkout flow entirely.
Cash on Delivery dominates in specific regions:
No cart page. No checkout page. Just one form, one click!
Actions:
cod_express_checkout_loaded - Fires after plugin is fully loaded
cod_express_checkout_before_form - Before form renders
cod_express_checkout_after_form - After form renders
cod_express_checkout_before_order_create - Before order creation
cod_express_checkout_after_order_create - After order creation
cod_express_checkout_emails_sent - After order emails sent
Filters:
cod_express_checkout_enabled_fields - Modify enabled fields
cod_express_checkout_button_text - Change button text
cod_express_checkout_form_title - Change form title
cod_express_checkout_order_status - Set order status (default: processing)
cod_express_checkout_billing_address - Modify billing address
cod_express_checkout_shipping_address - Modify shipping address
cod_express_checkout_rate_limit - Adjust rate limit (default: 5 per minute)
add_filter( 'cod_express_checkout_available_fields', function( $fields ) {
$fields['custom_field'] = array(
'label' => __( 'Custom Field', 'your-textdomain' ),
'type' => 'text',
'default' => false,
'required' => false,
);
return $fields;
});
add_filter( 'cod_express_checkout_order_status', function( $status, $order ) {
return 'on-hold'; // Instead of 'processing'
}, 10, 2 );
add_action( 'cod_express_checkout_validate_input', function( $data ) {
if ( strlen( $data['billing_phone'] ) < 10 ) {
throw new Exception( __( 'Phone number must be at least 10 digits.', 'your-textdomain' ) );
}
});
For support, please:
COD Express Checkout respects your privacy: