View on GitHub

shipay.docs

Home


Fluxos-Cancelamento-Estorno


É muito importante que a integração com a Shipay leve em consideração os cenários “não-felizes” do serviço de cancelamento e estorno:

Falha_Cancelamento

1) Sistema integrado à Shipay solicita cancelamento de pedido: (DELETE /order/{order_id}) com "status": "pending".

2) Shipay solicita o cancelamento do pedido na carteira digital ou PSP.

3) Carteira digital ou PSP não realiza o cancelamento do pedido por algum motivo (p. ex.: serviço indisponível).

4) Shipay retorna para o sistema integrado “status_code”: 200 e um payload em JSON com o seguinte conteúdo: {"order_id": "{order_uuid}", "status": "pending"}.

Image
Obs.: Erros 4XX só retornam no DELETE /order/{order_id} nas seguintes situações: (i) access_token inválido ou expirado; (ii) order_id inexistente ou de um pedido gerado por um outro caixa que não seja o caixa que está tentando cancelar a order; (iii) cancelamento de pedidos já cancelados ou cancelamento de pedidos já estornados.

Falha_Estorno

1) Sistema integrado à Shipay solicita estorno de pedido: (DELETE /order/{order_id}/refund) com "status": "approved".

2) Shipay solicita o estorno do pedido na carteira digital ou PSP.

3) Carteira digital ou PSP não realiza o estorno do pedido por algum motivo (p. ex.: saldo insuficiente para devolução).

4) Shipay retorna para o sistema integrado “status_code”: 200 e um payload em JSON com o seguinte conteúdo: {"order_id": "{order_uuid}", "status": "approved"}.

Image

Obs.: Erros 4XX só retornam no DELETE /order/{order_id}/refund nas seguintes situações: (i) access_token inválido ou expirado; (ii) order_id inexistente ou de um pedido gerado por um outro caixa que não seja o caixa que está tentando cancelar a order; (iii) cancelamento de pedidos já cancelados ou cancelamento de pedidos já estornados.

Refund_Pending

1) Sistema integrado à Shipay solicita estorno de pedido: (DELETE /order/{order_id}/refund) com "status": "approved";

2) Shipay solicita o estorno do pedido na carteira digital ou PSP;

3) Carteira digital ou PSP retorna que a solicitação de estorno está em processamento;

4) Shipay muda status para “refund_pending”;

5) Sistema integrado à Shipay deve realizar consultas na Shipay para verificar se o status do pedido foi alterado (GET /order/{order_id} ou GET /orderv/{order_id});

6) Assim que a carteira digital ou PSP termina de processar a solicitação de estorno, a Shipay altera o status do pedido para refunded (em caso de sucesso no estorno) ou approved (em caso de falha no estorno);

7) Após sistema integrado consultar o status, a Shipay retorna “status_code”: 200 e um payload em JSON com o seguinte conteúdo: {"order_id", "status"};


Obs.1: Caso haja alguma falha no estorno do pedido na carteira digital ou PSP, o status final retornará como approved. Neste caso, deve ser aplicado o mesmo tratamento do Falha no estorno de pedidos aprovados na carteira digital ou no PSP

Obs.2: Como sugestão para testar este fluxo, crie um pedido acima de R$ 1000,00 reais na carteira “shipay-pagador”, efetue o pagamento e em seguida, solicite o estorno do mesmo. O status deve retornar como “refund_pending” e depois mudará para refunded.


Image



Voltar