Closed darvinsilveira closed 5 years ago
this current version already has such a feature, please update.
Olá, não entendi porque a issue foi fechada. O Moip retorna o status do boleto como Processing e não retorna notificação de Aguardando Pagamento na conta do consumidor e no admin. Retorna apenas nos comentários do pedido. Descrição da issue. Magento 2.2.6 versões moip - 1.0.10 e 1.0.16.
@gcampedelli
É porque não existe um status "paid" para pedido, existe apenas para fatura! No módulo atual você pela visão do admin tem o comportamento definido como:
Bruno, nõa dá para entender. Processing é o seu status de pedido no frontend? É isso? Pois pelo que eu entendi o Magento 2 o Processing indica que o Pagamento foi recebido. O diagrama indica isso. State > Processing - Status > Pending Payment. E no boleto retorna State > Processing > Status > Processing.
o maior problema de aplicar esse status pra pedido novo é o magento não permitir cancelar um pedido em "Payment Review".
"Você não pode cancelar o(s) pedido(s)."
Mas o status nãa precisa ser Payment Review, pode ser Pending Payment.
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING = 'processing'; (a propósito esse é o que seria o Paid)
const STATE_COMPLETE = 'complete';
const STATE_CLOSED = 'closed';
const STATE_CANCELED = 'canceled';
const STATE_HOLDED = 'holded';
const STATE_PAYMENT_REVIEW = 'payment_review';
Olá Elisei,
Venho aqui com a mesma dúvida da @gcampedelli, tenho vários clientes utilizando diferentes versões do módulo em diferentes versões da Magento, em todas o pagamento por boleto é atribuído para status processing / payment_review.
Existe alguma forma de alterar o status do pagamento por boleto para pending_payment ou então holded?
Isso seria essencial quando o cliente visualizar o pedido, veja um status compatível.
Aguardo.
Obrigado.
Oi, quando surgiu eu pesquisei um pouco no módulo, mas eu abandonei o Moip faz um tempo. Dai a minha primeira consideracão ee que o Boleto do Moip pega do modelo do CC do Magento. E deveria extender a partir do => \Magento\Payment\Model\Method\AbstractMethod e não do Cartão de Crédito A segunda observação é a seguinte: Olha só no arquivo Model/PaymentMethodBoleto tem o seguinte.
protected $_canAuthorize = false;
protected $_canCapture = true;
protected $_canRefund = true;
protected $_code = 'moipboleto';
protected $_isGateway = true;
protected $_canCapturePartial = true;
protected $_canRefundInvoicePartial = true;
protected $_canVoid = true;
protected $_canCancel = true;
protected $_canUseForMultishipping = false;
protected $_canReviewPayment = true;
protected $_countryFactory;
protected $_supportedCurrencyCodes = ['BRL'];
protected $_canUseInternal = false;
protected $_cart;
protected $_moipHelper;
protected $_infoBlockType = 'Moip\Magento2\Block\Info\Boleto';
protected $_canFetchTransactionInfo = true;
Imagino que protected $_canAuthorize = false; =>>> deveria ser true e protected $_canCapture = true;=>>>>deveria ser false
Mas não sei se a API tem suporte para pré-autorização e depois pagamento. Apenas colocando como ponto de discussão. Depois, supondo que nessa nova ordem de boleto se pagarem, retorna o status via notificação e o Magento muda o status para processing e no Controller ocorre a captura.
Oi @samuelmafra e @gcampedelli tudo bem?
Bom, o uso do método CC não tem nenhum impacto no processo de definição de status (ele é usado para obter a logo, evitando assim um duplicidade no código).
Nosso módulo trabalha com o método de autorização, e esse por sua vez não tem uma definição de status inicial (vide a doc do magento) apenas métodos de pgto que adotando o método pedido podem definir seu status inicial, o que para nós como gateway vemos como um processo indevido.
Ao criar uma transação é definido nela o tipo de status que pode se é uma transação em espera ou não, se é ou não uma fraude.
O real impacto disso em sua operação é que na visão do cliente há uma reescrita de status vindo do core da magento que descrevo no magento/magento2/issues/30520 já verificado em magento 2.2.x e estou certo que será também em todos os outros. Como método de pagamento homologado não podemos simplesmente optar por reescrever essa class pois não uma real explicação do porque ela foi adotada, por isso aguardamos esse issue para indicar o caminho a tormamos.
Bruno, eu li a sua issue, mas como eu te mencionei, eu tenho um meio que estende e não sobreescreve a classe que menciono e no backend eu tenho exatamente o que você menciona como "desejável" e, o que não acontece no Moip. Mas, de fato, na sua issue você não explica claramente como vocês não tem essa explicação. Por outro lado, eu também não me vejo na obrigação de aprofundá-la.
Olá @gcampedelli
Acredito que não tenha te compreendido bem, você deseja colocar o status como fraude?
Veja, o que eu estou te dizendo é que você colocou isso na issue. No caso, o status aparece como fraud porque eu uso um cpf falso, mas ele não aparece como no Moip que é o método que apresenta a issue. Eu, inclusive consigo cancelar o pedido
E é fato notar que se eu cancelo a Invoice e não o pedido no status de fraud, o meu status vira pending e não cai na trava processing.
E sim, considerados os inúmeros ataques de internet, ter a flag fraud em pedidos fraudulentos não é indesejado.
Oi @gcampedelli
Em momento nenhum o usuário deixa de ter a flag fraude, não é isso que estou dizendo aqui ou lá no issue (por sinal já confirmado), o que digo é a magento trata no frontend da loja pedidos que estejam no state payment_review e cujo o status não é igual a fraud como "processing", isso é um erro e volto novamente a dizer a próprio magento confirma que é um erro (ao menos até agora no 2.2.x, mas certamente também estará nas outras versões).
Elisei, como eu te disse, o caso só acontece no seu método.
No Moip eu nunca consigo esse status no boleto no frontend =>
No Moip eu nunca consigo esse status no boleto no frontend =>
Acredito que apenas você não consegue...
E eu não estou expressando uma opinião, e sim uma confirmação técnica feita pela Magento. Então não. isso não acontece apenas em nosso módulo.
I've configured boleto as payment method and noticed that Magento automatically set the order with status as processing, is this correct? I believe on-hold must be the status while the payment is not confirmed by Moip, or am I wrong?