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

Envio incorreto da requisição nas compras por assinatura variável #31

Closed leo-araujo closed 3 years ago

leo-araujo commented 3 years ago

Descrição do bug :bomb:

Ao realizar a compra de uma assinatura variável, não está ocorrendo o envio para criação da assinatura na Vindi.

Solução de contorno :warning:

Não há uma solução para contorno.

Como reproduzir :cop:

  1. Criar uma assinatura do tipo Variable subscription.
  2. realizar a compra desta assinatura através da loja no WooCommerce.

Passos para criação da assinatura variável:

Acessando a página de criação de produtos:

  1. Selecionar o tipo de assinatura como Variable subscription image

  2. Criar os atributos para a assinatura, ex: image

  3. Adicionar as variações para cada atributo: image print

  4. Definir o valor e periodicidade de cada variação: image

Comportamento atual

Na tentativa de compra a assinatura é criada corretamente no WooCommerce no entanto não há o envio da requisição para a Vindi.

Comportamento esperado

Realizar a criação da assinatura na Vindi.

Impacto do problema :boom:

Impossibilidade de utilização do tipo de assinatura variável.

Prioridade :memo:

Normal:

Proposta de correção :heavy_check_mark:

Não há proposta para correção, conforme log abaixo, a request enviada está incorreta, gerando retorno de 422:

POST https://sandbox-app.vindi.com.br/api/v1/subscriptions
{"customer_id":946951,"payment_method_code":"credit_card","installments":1,"product_items":[{"product_id":63,"quantity":1,"cycles":null,"pricing_schema":{"price":10,"schema_type":"per_unit"}},{"product_id":5482,"quantity":1,"cycles":1,"pricing_schema":{"price":5,"schema_type":"per_unit"}}]}
12-01-2020 @ 10:34:59 - [Request #1908747335]: Nova Resposta da API.
422 Unprocessable Entity
{"errors":[{"id":"invalid_parameter","parameter":"plan_id","message":"não pode ficar em branco"},{"id":"invalid_parameter","parameter":"product_items","message":"não encontrado"}]} 

Nesta request há a falta do plan_id e também o produto 63 enviado no product_items não existe na plataforma.

Critérios de aceite