vindi / vindi-woocommerce

Plugin Vindi para pagamento recorrente no Woocommerce
https://vindi.com.br
GNU General Public License v3.0
7 stars 12 forks source link

Adiciona método de pagamento Pix #166

Closed devaguia closed 7 months ago

devaguia commented 8 months ago

O que mudou

Motivação

Permitir que os usuários possam efetuar compras utilizando o método de pagamento PIX.

Solução proposta

Descrito no tópico 'O que mudou'.

Como testar

Configurar o método de pagamento PIX no painel administrativo e efetuar compras de produtos utilizando o novo método.

karina-sakata-vindi commented 7 months ago

Testes realizados em conjunto pelo time @vindi/sustentacao-vr :

Compra de produto avulso, utilizando o método PIX como pagamento ✅ Evidências no Woocomerce ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/f23ecef7-a9d2-4dda-ad36-5cdadd48a228) ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/2ea71272-4387-411d-a3d4-d0a5df7d5b88) ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/f1911123-2c96-41bc-b0c0-0b4b6bbe796e) ✅ Evidências da cobrança na app de VR ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/07ee146a-3ab5-452b-9b64-8e94da72d861) ✅ Log do Woocomerce ``` 03-22-2024 @ 15:47:20 - Novo Evento processado: bill_created 03-22-2024 @ 15:50:52 - Novo Webhook chamado: {"event":{"type":"bill_paid","created_at":"2024-03-22T15:50:51.637-03:00","data":{"bill":{"id":12629739,"code":"742","amount":"55.0","installments":1,"status":"paid","seen_at":null,"billing_at":null,"due_at":"2024-04-01T23:59:59.000-03:00","url":"https://sandbox-app.vindi.com.br/customer/bills/12629739?token=959497a8-001f-4680-b26e-94591928f7b3","created_at":"2024-03-22T15:47:14.000-03:00","updated_at":"2024-03-22T15:50:51.000-03:00","bill_items":[{"id":20883649,"amount":"25.0","quantity":1,"pricing_range_id":null,"description":null,"pricing_schema":{"id":891491,"short_format":"R$ 25,00 / unidade","price":"25.0","minimum_price":null,"schema_type":"per_unit","pricing_ranges":[],"created_at":"2024-03-22T15:47:14.000-03:00"},"product":{"id":226911,"name":"[WC] variavel avulso","code":"WC-693"},"product_item":null,"discount":null},{"id":20883650,"amount":"30.0","quantity":null,"pricing_range_id":null,"description":null,"pricing_schema":null,"product":{"id":225723,"name":"Frete (Flat rate)","code":"flat-rate"},"product_item":null,"discount":null}],"charges":[{"id":12215757,"amount":"55.0","status":"paid","due_at":"2024-04-01T23:59:59.000-03:00","paid_at":"2024-03-22T00:00:00.000-03:00","installments":1,"attempt_count":2,"next_attempt":null,"print_url":null,"created_at":"2024-03-22T15:47:14.000-03:00","updated_at":"2024-03-22T15:50:51.000-03:00","last_transaction":{"id":14432141,"transaction_type":"charge","status":"success","amount":"55.0","installments":1,"gateway_message":"Aprovada","gateway_response_code":null,"gateway_authorization":"890935","gateway_transaction_id":"dd05208d-cf34-4508-aecf-2e0f61fc621e","gateway_response_fields":{"qrcode_path":"https://d3qiiqeqvrl56p.cloudfront.net/sandbox/2024/03/22/bs2/N100467649_qrcode.svg","qrcode_original_path":"00020126910014BR.GOV.BCB.PIX2569api-pix-h.bancobs2.com.br/spi/v2/b6531a7a-6570-4908-91da-ad10ca8f0592520400005303986540555.005802BR5905Yapay6014Belo Horizonte61083038040362070503***63041A02","print_url":"https://intermediador-sandbox.yapay.com.br/orders/pix/d2dc29a0da6315b76900fca944593edc","token_transaction":"d2dc29a0da6315b76900fca944593edc","transaction_id":890935,"max_days_to_keep_waiting_payment":"2024-03-25T15:47:15","price_original":"55.0","price_payment":"55.0","payment_response":"Pagamento Manual. Administrador: Thais Kusuki","url_payment":"https://intermediador-sandbox.yapay.com.br/orders/pix/d2dc29a0da6315b76900fca944593edc","tid":"72569","split":1,"payment_method_id":27,"payment_method_name":"Pix","date_payment":1711076400,"date_approval":1711076400,"paid_amount":"55.0","payment_date":"2024-03-22"},"fraud_detector_score":null,"fraud_detector_status":null,"fraud_detector_id":null,"created_at":"2024-03-22T15:47:14.000-03:00","gateway":{"id":5489,"connector":"yapay"},"payment_profile":null},"payment_method":{"id":10338,"public_name":"Pix","name":"Pix Yapay","code":"pix","type":"PaymentMethod::Pix"}}],"bill_affiliates":[],"customer":{"id":1869267,"name":"Vindi Freitas","email":"vindi@apiki.com","code":"WC-USER-80"},"period":null,"subscription":null,"metadata":{},"payment_profile":null,"payment_condition":null}}}} 03-22-2024 @ 15:50:52 - Novo Evento processado: bill_paid ```
Compra de uma assinatura, utilizando o método PIX como pagamento ✅ Evidências no Woocomerce ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/6d0c1e27-17ce-4421-bb80-b621e2987d97) ✅ Evidências da cobrança na app de VR ![image](https://github.com/vindi/vindi-woocommerce/assets/127796651/5420470e-9abb-4f10-993f-bc826225270f)

❗ OBS: Tentamos realizar a renovação de uma assinatura através da app de VR, porém, neste cenário, apesar do pedido ser criado no painel da página Woocomerce como pagamento pendente, não conseguimos visualizar o novo QR CODE. Ficamos em dúvida se este ponto deveria fazer parte deste PR ou se será tratado posteriormente.

https://sandbox-app.vindi.com.br/admin/subscriptions/903339 image

https://vindirecorrencia.apikistage.com/my-account/view-order/745/ image

✅ Em todos os cenários testados abaixo o QR CODE do PIX é gerado corretamente possibilitando o pagamento.

devaguia commented 7 months ago

@KarinaSakata Sobre o seu comentário:

❗ OBS: Tentamos realizar a renovação de uma assinatura através da app de VR, porém, neste cenário, apesar do pedido ser criado no painel da página Woocomerce como pagamento pendente, não conseguimos visualizar o novo QR CODE. Ficamos em dúvida se este ponto deveria fazer parte deste PR ou se será tratado posteriormente.

De fato o plugin não exibe o QR Code ou boleto para as renovações, somente no primeiro ciclo após a compra.

rai-gondim-vindi commented 7 months ago

@KarinaSakata Sobre o seu comentário:

❗ OBS: Tentamos realizar a renovação de uma assinatura através da app de VR, porém, neste cenário, apesar do pedido ser criado no painel da página Woocomerce como pagamento pendente, não conseguimos visualizar o novo QR CODE. Ficamos em dúvida se este ponto deveria fazer parte deste PR ou se será tratado posteriormente.

De fato o plugin não exibe o QR Code ou boleto para as renovações, somente no primeiro ciclo após a compra.

@devaguia esse é um comportamento esperado ou é um comportamento que será corrigido nesse PR?

devaguia commented 7 months ago

@KarinaSakata Sobre o seu comentário:

❗ OBS: Tentamos realizar a renovação de uma assinatura através da app de VR, porém, neste cenário, apesar do pedido ser criado no painel da página Woocomerce como pagamento pendente, não conseguimos visualizar o novo QR CODE. Ficamos em dúvida se este ponto deveria fazer parte deste PR ou se será tratado posteriormente.

De fato o plugin não exibe o QR Code ou boleto para as renovações, somente no primeiro ciclo após a compra.

@devaguia esse é um comportamento esperado ou é um comportamento que será corrigido nesse PR?

É o esperado @KarinaSakata @raicgvindi

rai-gondim-vindi commented 7 months ago

Foi gerado um pix com vencimento de 24 horas ontem 17:16 Hoje, após 14:16, na tela do pedido #755 aparecia que o qr code do pix estava expirado.

antes de 14:16 Screenshot from 2024-03-26 14-15-09

após 14:16 Screenshot from 2024-03-26 14-22-21

MAX_DAYS_TO_KEEP_WAITING_PAYMENT Screenshot from 2024-03-26 14-48-22

devaguia commented 7 months ago

Foi gerado um pix com vencimento de 24 horas ontem 17:16 Hoje, após 14:16, na tela do pedido #755 aparecia que o qr code do pix estava expirado.

@raicgvindi Vou verificar. Pode ser alguma configuração de fuso, pois o plugin compara a data salva no banco com a data atual na renderização da página.

devaguia commented 7 months ago

É isso mesmo @raicgvindi, deveria pegar 16:04. Já mando uma correção.

Captura de Tela 2024-03-26 às 4 07 13 PM

codeclimate[bot] commented 7 months ago

Code Climate has analyzed commit 4875aeed and detected 0 issues on this pull request.

View more on Code Climate.

devaguia commented 7 months ago

Foi gerado um pix com vencimento de 24 horas ontem 17:16 Hoje, após 14:16, na tela do pedido #755 aparecia que o qr code do pix estava expirado.

@raicgvindi Enviado para o ambiente de teste. Pode verificar?