I have a website that uses Drupal Commerce, we use Authorize.net for authorization and use AcceptJS as a plugin. When you put in the credit card information, it checks with Auth to make sure that you're using a real credit card and saves it as a payment method without authorizing the actual value. It gets saved in Auth, as well as the commerce_payment_methods table with a remote_id for Auth. Currently in our workflow, after you submit your order, in Commerce->orders->payments, you have to add the payment and manually authorize/capture the amount. I want it to automatically authorize the amount when you finalize checkout, however I'm running into difficulty figuring out where and how I do this. I know it must be something simple. Can anyone help?
2 Answers
Is this a Drupal 7 or a Drupal 8 site? That will impact the admin URL as noted below: 8: /admin/commerce/config/payment-gateways/ 7: /admin/commerce/config/payment-methods/
You will want to edit the Authorize payment method, and look for "Default credit card transaction type" - that setting should be "Authorization and capture" as opposed to "Authorization only"
-
I set it to Authorize and capture and it's still not happening. The payment method gets saved to Auth, but the payment itself doesn't get authorized. Commented Jul 26, 2019 at 14:52
-
Do you have any code customizations applied to checkout? It sounds like the PaymentProcess checkout pane isn't running at all, which isn't default behavior. Commented Jul 27, 2019 at 8:39
So I realized the Payment Process step was broken and it was doing everything leading up to that. It wound up being a subclassed PaymentInformation class that was set up improperly. I added a hook directing to the subclass and set up the subclass the correct way and it's all good now.