- Fórum
- /
- Suporte Joomla
- /
- Componentes
- /
- Joomla 2.x
- /
- Virtuemart 2.0.6 Setar pagamento automático para cupom 100%
Virtuemart 2.0.6 Setar pagamento automático para cupom 100%
- anaffelici
- Autor do Tópico
- Offline
- JCB! Junior
Acabei fazendo uma alteração no método paypal para aceitar valor zero de pedido, dupliquei o método paypal e o chamei de "cupom 100%".
Alguém sabe se existe uma forma de setar automaticamente este método de pagamento para valor zero de compra?
Obrigada
[b:2w3tsxf8][color=#FF00FF:2w3tsxf8]Ana Flávia[/color:2w3tsxf8][/b:2w3tsxf8]
[size=85:2w3tsxf8]multimídia[/size:2w3tsxf8]
[size=85:2w3tsxf8][url:2w3tsxf8]http://www.flippo.com.br[/url:2w3tsxf8][/size:2w3tsxf8]
Please Entrar ou Registrar to join the conversation.
- rldesign
- Offline
- JCB! Hero
anaffelici escreveu: No virtuemart antigo, quando se aplicava um cupom de 100% e o valor do pedido era Zero, o método de pagamento era setado automaticamente. No virtuemart2 não acontece mais isso.
Acabei fazendo uma alteração no método paypal para aceitar valor zero de pedido, dupliquei o método paypal e o chamei de "cupom 100%".
Alguém sabe se existe uma forma de setar automaticamente este método de pagamento para valor zero de compra?
Obrigada
Esse Virtuemart 2 tá cheio de novos truques! To apanhando bastante nele, principalmente porque estavamos acostumados de um jeito e agora ou é novo ou não existe!
Segundo esse tópico aqui: https://forum.virtuemart.net/index.php?topic=102386.0
1 -
O Paypal não aceita pagamento de um valor de 0.
Se você tem um cupom de 100%, o total do pedido é 0. E a ordem não é enviado para Paypal, e a ordem permanece no "Pendente", quando um pedido é criado
"Order Status for Pending transactions": Este parâmetro é usado quando uma transação é enviado para Paypal, e o Paypal devolve o status "Pendente"..
2 - Alternativa Proposta: Sem realmente tentá-lo para testar, eu acho que você pode definir essa configuração paypal só permite o pagamento de 0,01 e acima. Em seguida, configurar um pagamento diferente, que só aceitará pagamentos de 0,00 por isso é selecionado para produtos gratuitos. Estou assumindo que este irá permitir que você compra um produto livre e que o mesmo corretamente concluia o procedimento de check-out.
Espero que funcione para você
Então, minha cara, tente fazer conforme foi sugerido no item 1 e teste com outro sistema de pagamento no item 2 e veja qual que está funcionando.
Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites
Please Entrar ou Registrar to join the conversation.
- anaffelici
- Autor do Tópico
- Offline
- JCB! Junior
Resolvi a questão 1 da seguinte forma:
Troquei o código da linha 149 em plugins/vmpayment/paypal/paypal.php
if ($totalInPaymentCurrency <= 0) {
vmInfo(JText::_('VMPAYMENT_PAYPAL_PAYMENT_AMOUNT_INCORRECT'));
return false;
}
Para
if ($totalInPaymentCurrency <= 0) {
//vmInfo(JText::_('VMPAYMENT_PAYPAL_PAYMENT_AMOUNT_INCORRECT'));
$html = '<table>' . "\n";
$html .= $this->getHtmlRow('STANDARD_PAYMENT_INFO', $dbValues['payment_name']);
if (!empty($payment_info)) {
$lang = & JFactory::getLanguage();
if ($lang->hasKey($method->payment_info)) {
$payment_info = JText::_($method->payment_info);
} else {
$payment_info = $method->payment_info;
}
$html .= $this->getHtmlRow('STANDARD_PAYMENTINFO', $payment_info);
}
if (!class_exists('VirtueMartModelCurrency'))
require(JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . 'currency.php');
$currency = CurrencyDisplay::getInstance('', $order['details']['BT']->virtuemart_vendor_id);
$html .= $this->getHtmlRow('STANDARD_ORDER_NUMBER', $order['details']['BT']->order_number);
$html .= $this->getHtmlRow('STANDARD_AMOUNT', $currency->priceDisplay($order['details']['BT']->order_total));
$html .= '</table>' . "\n";
//return $this->processConfirmedOrderPaymentResponse(true, $cart, $order, $html, $dbValues['payment_name'],'C');
$modelOrder = VmModel::getModel('orders');
$order['order_status'] = 'C';
$order['customer_notified'] = 1;
$order['comments'] = '';
$modelOrder->updateStatusForOneOrder($order['details']['BT']->virtuemart_order_id, $order, true);
$order['paymentName']= $dbValues['payment_name'];
//We delete the old stuff
$cart->emptyCart();
JRequest::setVar('html', $html);
return false;
}
REF: http://awodev.com/forum/awocoupon-virtu ... mment-3071
Desta forma o Paypal passa a aceitar compras no valor R$ 0,00
Mas o principal problema persiste, que é obrigar o cliente a escolher uma forma de pagamento sendo que o não há pagamento, o valor é 0,00 correto?
Por isso dupliquei o Paypal e chamei um deles de "cupom100%off"
Tentei a sugestão 2, do post do virtuemart e a configuração simplesmente não funciona: Paypal valor mínimo 0.01 e "Cupom100%off" valor máximo 0.00.
Por hora, funcionando com gambiarra. Vou continuar o post do virtuemart pra ver se alguém se dispõe a resolver pois os moderadores simplismente ignoram essa questão.
Site: new.artedevoar.com
Abs e obrigada
[b:2w3tsxf8][color=#FF00FF:2w3tsxf8]Ana Flávia[/color:2w3tsxf8][/b:2w3tsxf8]
[size=85:2w3tsxf8]multimídia[/size:2w3tsxf8]
[size=85:2w3tsxf8][url:2w3tsxf8]http://www.flippo.com.br[/url:2w3tsxf8][/size:2w3tsxf8]
Please Entrar ou Registrar to join the conversation.