0

In a Magento 2.3.1 site, I have two third-party payment methods and PayPal Express Checkout enabled. On the frontend, the three works perfectly. But, when I am trying to create a new order on admin panel, the payment methods are not displayed when I click on Get shipping methods and rates

enter image description here

I tested enabled the method Check / Money Order in my developer environment, and this is displayed correctly:

enter image description here

What could be causing the other three not are displayed?

Thanks.

2

Your third-party payment methods don't support admin order. Same for PayPal Express Checkout. PayPal Express Checkout redirects to Paypal that's why this is not working for admin section if you enabled by hacking code.

For Check / Money Order this payment method extends Magento\Payment\Model\Method\AbstractMethod class. If you open then you can see following code snippet:

/**
 * Payment Method feature
 *
 * @var bool
 */
protected $_canUseInternal = true;

That's why this is work for admin.

For express checkout this is disabled.

vendor/magento/module-paypal/Model/Express.php

/**
 * Availability option
 *
 * @var bool
 */
protected $_canUseInternal = false;
  • You are correct; the problem is third-party payment methods have the protected $_canUseInternal = false; I will review with them what options there are. Thanks. – Eliacim DAVILA - CENSERE Jul 8 at 16:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.