> ## Documentation Index
> Fetch the complete documentation index at: https://bmpdocs.moneyp.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# 17 - Devolver Recurso

> <p>Scopes:</p>
<b>api.pix api.recurso.devolver</b>

Por meio deste endpoint, o parceiro pode realizar a devolução de um pix recebido para a conta origem sempre que for necessário.

A API devolve o status de determinada transferência.

***Requisito***

É necessário informar um código de movimento localizado no callback do recebimento PIX para que seja possível realizar a devolução do recurso recebido.

<Expandable title="Mensagens de requisições com erro">
  O retorno de uma requisição com status HTTP 400 (Bad Request) pode incluir as seguintes mensagens de erro:

  | Endpoint              | Mensagem de erro                                              |
  | --------------------- | ------------------------------------------------------------- |
  | /api/Recurso/Devolver | Motivo devolução pix não existe                               |
  | /api/Recurso/Devolver | Prioridade pix não existe                                     |
  | /api/Recurso/Devolver | PIX não encontrado                                            |
  | /api/Recurso/Devolver | Conta de crédito não encontrada para o recebimento do Pix     |
  | /api/Recurso/Devolver | Não foi possível concluir a transação. A conta está bloqueada |
</Expandable>


## OpenAPI

````yaml post /api/Recurso/Devolver
openapi: 3.0.1
info:
  title: Api Externa BMP SPI
  description: '<p><strong>Build Number: </strong>#0.0</p>'
  version: v1
servers:
  - url: https://api.ext.pix.dbs.moneyp.com.br/
    description: Localhost
security:
  - Bearer: []
paths:
  /api/Recurso/Devolver:
    post:
      tags:
        - Recurso
      summary: Realiza uma devolução de transferência via Pix.
      description: "<p>Scopes:</p>\r\n<b>api.pix api.recurso.devolver</b>"
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
        - name: IgnoraHandshake
          in: header
          description: (somente em homologação)
          required: true
          schema:
            type: boolean
            default: true
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverRequest
          text/json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverRequest
          application/*+json:
            schema:
              allOf:
                - $ref: >-
                    #/components/schemas/BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverRequest
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverResponse
        '400':
          description: Erro de negócio
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  sucesso:
                    type: boolean
                  mensagem:
                    type: string
components:
  schemas:
    BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverRequest:
      type: object
      properties:
        codigoMovimento:
          type: string
          description: >-
            Identificador UUID da movimentação financeira que está relacionada à
            solicitação de devolução.*
          format: uuid
        valor:
          type: number
          description: Valor da devolução.*
          format: double
        motivoDevolucaoPix:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.MotivoDevolucaoPix'
          description: |-
            Motivo da devolucao do PIX.

             Valores:
            0 - AM05
            1 - AM09
            2 - FR01
            3 - SL02
            4 - FOCR
            5 - BE08
            6 - MD06
            11 - UPAY
        prioridadePix:
          allOf:
            - $ref: '#/components/schemas/BMPSPB.Infra.Enums.PrioridadePix'
          description: |-
            Prioridade do PIX.

             Valores:
            0 - URGENTE
            1 - NORMAL
        informacoesAdicionais:
          type: string
          description: Detalhes adicionais relacionados à Devolução.*
          nullable: true
      additionalProperties: false
    BMPSPB.Domain.Messaging.API.Pix.Recurso.Devolver.DevolverResponse:
      type: object
      properties:
        sucesso:
          type: boolean
        mensagem:
          type: string
          nullable: true
        codigoTransacao:
          type: string
          format: uuid
          nullable: true
      additionalProperties: false
    BMPSPB.Infra.Enums.MotivoDevolucaoPix:
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 11
      type: integer
      description: ''
      format: int32
    BMPSPB.Infra.Enums.PrioridadePix:
      enum:
        - 0
        - 1
      type: integer
      description: ''
      format: int32
  securitySchemes:
    Bearer:
      type: apiKey
      description: Copie 'Bearer ' + token
      name: Authorization
      in: header

````