We don't provide an auto action for deleting users on purpose as it's too prone to accidentally wiping out your database if misconfigured. It is doable to delete a user from within CB Auto Actions though. You would need to use a Code action with the following.
Global
Triggers: None
Type: Code
User: Automatic
Access: Registered
Allow Direct Access: No (set this after saving the auto action for the first time)
Conditions
Condition 1
Field: confirmed
User: Action User
Operator: Equal To
Value: 0
Condition 2
Field: block
User: Action User
Operator: Equal To
Value: 1
Action
Method: PHP
Code:
That will delete the user if they're unconfirmed and blocked.
Now as for deleting users who abandoned their cart that's a bit more tricky as the basket could be pending. So on top of needing to know which users profiles are not fully registered you also need to know which users either don't have a basket or the basket is still in its initialized state.
The best way to do that is probably the batching feature. Create the following Batch within CB Auto Actions to grab a list of such users.
Global
Users: All Users
Access: Registered
Actions
SELECT_YOUR_DELETE_USER_AUTO_ACTION_HERE
Basic Filter
Filter 1
Field: confirmed
Operator: Equal To
Value: 0
Filter 2
Field: block
Operator: Equal To
Value: 1
Advanced Filter
JOIN:
Code:
LEFT JOIN `#__cbsubs_payment_baskets` AS b
ON b.`user_id` = c.`id`
WHERE:
This will batch process through all users that are blocked, unconfirmed, and do not have a basket. CBSubs will expire unpaid baskets based off your CBSubs settings so it's best to just ignore any user without a basket. You'd simply run the batch URL via a CRON cURL GET call on a schedule and it should automatically take care of deleting those users. You can use the Batch feature like this or to do any kind of regular scheduled processing on users.
Please be sure you thoroughly test this on developer environment. A clone of your site. ANYTHING but your live data. Automating the deletion of users is dangerous so again be careful with this.