magento: получить список всех доступных способов оплаты
Как я могу получить список способов оплаты с подробной информацией, такой как код, название, метод и? Возможно ли получить доступный способ оплаты в магазине с API? Мне нужен список всех доступных способов оплаты в магазине magento.
3 ответа
Здесь Вы можете получить все доступные способы оплаты в Magento.
Если по какой-либо причине вам необходимо получить список всех способов оплаты в Magento, вы можете легко это сделать с помощью класса конфигурации оплаты (app/code/core/Mage/Payment/Model/Config.php
).
Чтобы получить список всех платежей, активных и неактивных:
$allAvailablePaymentMethods = Mage::getModel('payment/config')->getAllMethods();
Чтобы получить список всех активных способов оплаты:
$allActivePaymentMethods = Mage::getModel('payment/config')->getActiveMethods();
Чтобы получить список со всеми кредитными картами, которые поддерживает Magento:
$allCcTypes = Mage::getModel('payment/config')->getCcTypes();
Получить активные способы оплаты
$payments = Mage::getSingleton('payment/config')->getActiveMethods();
$methods = array(array('value'=>'','label'=>Mage::helper('adminhtml')->__('–Please Select–')));
foreach ($payments as $paymentCode=>$paymentModel) {
$paymentTitle = Mage::getStoreConfig('payment/'.$paymentCode.'/title');
$methods[$paymentCode] = array(
'label' => $paymentTitle,
'value' => $paymentCode,
);
}
return $methods;
Да, вы можете получить способ оплаты с помощью API. вот ваше решение
$client = new SoapClient('http://magentohost/api/soap/?wsdl');
// If somestuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'cart_payment.list', 'quoteId');
var_dump($result);
Вы можете использовать также этот помощник:
$methods = Mage::helper('payment)->getStoreMethods($store = null, $quote = null)
Таким образом, вы можете проверить для одного магазина и для цитаты, если вам нужно.