I am using authorize.net gateway and when I have done test runs myself everything is great. But we had our first order today and was only notified when saw authorize.net charge. The credit card charge went through BUT Drupal commerce shows order as PENDING. and no email is sent, what could this be? Is there a final step they are not completing but still after payment? This is strange.
The answer is you need to set the workflow to set the order as completed. Commerce out of the box takes the safe route and assumes nothing about your shopping cart workflow. There is an email that can be configured in Rules for the order confirmation.
The order confirmation email is sent by the rule named
Send an order notification e-mail that is under the tag
Commerce Checkout in the Rules UI.
To update the order as completed you will need to create a new rule to set the order as completed based on your business rules. It can be as simple as setting the order as completed upon successful completion of an order.
You can use the event
Completing the checkout process which will trigger after a successful card charge with Auth.net module or any of the other payment modules, Conditions are none for a simple checkout, actions are
Update the order state, data selector is
commerce-order then "Order State" is "Completed".