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. 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. 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.