Malga Charges API

Para realizar uma cobrança deve criar um objeto `charge`. É possível recuperar detalhes de transações individuais ou listar todas as cobranças realizadas em um determinado `merchant`. Os `charges` são identificados a partir de um id 'único'. **Dados básicos de um objeto do tipo charge**

OpenAPI Specification

plug-charges-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  version: '0.5'
  title: Documentação Malga 3DS2 Malga Charges API
  description: "# Authentication\n\nOs serviços de API da Malga são protegidos através de chaves de acesso. Você pode gerenciar suas chaves de acesso através do seu dashboard.\n\nÉ importante armazenar suas chaves de maneira privada e segura uma vez que elas possuem privilégios de alteração na sua conta. Não compartilhe suas chaves, não deixe elas fixadas no seu código e nem armazene elas no seu servidor de controle de versão. Recomendamos utilizar variáveis de ambiente secretas para deixar a chave disponível para sua aplicação.\n\nA Autenticação para todos os chamadas da API é feita através de headers HTTP, sendo necessário informar seu identificador de cliente na Malga e a chave secreta de acesso.\n\n## X-Client-ID\n\nIdentificador única da sua conta na Malga. Deve ser enviado no header obrigatóriamente em todas as requisições feitas a API.\n\n| Security Scheme Type | API Key |\n|-----------------------|-----------|\n| Header parameter name | `X-Client-ID` |\n\n## X-Api-Key\n\nSua chave de acesso a API. Funciona em par com o client-id devendo ser enviado no header obrigatóriamente em todas as requisições feitas a API.\n\n| Security Scheme Type | API Key |\n|-----------------------|-----------|\n| Header parameter name | `X-Api-Key` |\n\n## Exemplo de requisicão autenticada\n\n```bash\n  curl --location --request GET 'https://api.malga.io/v1/' \\\n    --header 'X-Client-Id: <YOUR_CLIENT_ID>' \\\n    --header 'X-Api-Key: <YOUR_SECRET_KEY>'\n```\n"
servers:
- url: https://api.malga.io
  description: Production
security:
- X-Client-ID: []
  X-Api-Key: []
tags:
- name: Charges
  description: '

    Para realizar uma cobrança deve criar um objeto `charge`. É possível recuperar detalhes de transações individuais ou listar todas as cobranças realizadas em um determinado `merchant`. Os `charges` são identificados a partir de um id ''único''.


    **Dados básicos de um objeto do tipo charge**


    <SchemaDefinition schemaRef="#/components/schemas/Charge" exampleRef="#/components/examples/ChargeCard" />

    '
paths:
  /v1/charges:
    post:
      tags:
      - Charges
      summary: Realizar nova cobrança
      operationId: charge
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeRequest'
            examples:
              ChargeCardExample:
                $ref: '#/components/examples/ChargeCardRequest'
              ChargePixExample:
                $ref: '#/components/examples/ChargePixRequest'
              ChargeBoletoExample:
                $ref: '#/components/examples/ChargeBoletoRequest'
              ChargeSplitExample:
                $ref: '#/components/examples/ChargeSplitRequest'
              ChargeSplitPixExample:
                $ref: '#/components/examples/ChargeSplitRequestPix'
              ChargeSplitBoletoExample:
                $ref: '#/components/examples/ChargeSplitRequestBoleto'
              ChargeVendorExample:
                $ref: '#/components/examples/ChargeVendorExample'
              Charge3DS2Example:
                $ref: '#/components/examples/Charge3DS2Request'
              Charge3DSMPIExterno:
                $ref: '#/components/examples/Charge3DSMPIExterno'
              Charge3DSMalgaExample:
                $ref: '#/components/examples/Charge3DSMalgaRequest'
              ChargeNupayExample:
                $ref: '#/components/examples/ChargeNupayRequest'
              ChargePicpayExample:
                $ref: '#/components/examples/ChargePicpayRequest'
              ChargeDripExample:
                $ref: '#/components/examples/ChargeDripRequest'
              ChargeVoucherExample:
                $ref: '#/components/examples/ChargeVoucherRequest'
              ChargeApplePayCardExample:
                $ref: '#/components/examples/ChargeApplePayRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
                ChargePix:
                  $ref: '#/components/examples/ChargePix'
                ChargeBoleto:
                  $ref: '#/components/examples/ChargeBoleto'
                ChargeSplit:
                  $ref: '#/components/examples/ChargeSplit'
                ChargeSplitPix:
                  $ref: '#/components/examples/ChargeSplitPix'
                ChargeSplitBoleto:
                  $ref: '#/components/examples/ChargeSplitBoleto'
                ChargeCard3DSecure2:
                  $ref: '#/components/examples/ChargeCard3DSecure2'
                ChargeCard3DSMalga:
                  $ref: '#/components/examples/ChargeCard3DSMalga'
                ChargeNupay:
                  $ref: '#/components/examples/ChargeNupay'
                ChargePicpay:
                  $ref: '#/components/examples/ChargePicpay'
                ChargeDrip:
                  $ref: '#/components/examples/ChargeDrip'
                ChargeVoucher:
                  $ref: '#/components/examples/ChargeVoucher'
                ChargeApplePayResponse:
                  $ref: '#/components/examples/ChargeApplePayResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      tags:
      - Charges
      summary: Listar cobranças
      operationId: getCharges
      parameters:
      - in: query
        name: page
        schema:
          type: number
        required: false
        description: Número da página ativa
      - in: query
        name: limit
        schema:
          type: number
        required: false
        description: Quantidade de registros por página 1-100
      - in: query
        name: sort
        schema:
          type: string
          enum:
          - ASC
          - DESC
        required: false
        description: Tipo de ordenação decrescente ou crescente
      - in: query
        name: merchantId
        schema:
          type: string
          format: uuid
        required: false
        description: Id do merchant processado na cobrança
      - in: query
        name: id
        schema:
          type: string
          format: uuid
        required: false
        description: Id da cobrança
      - in: query
        name: sessionId
        schema:
          type: string
          format: uuid
        required: false
        description: Id da sessão vinculada à cobrança
      - in: query
        name: originalAmount
        schema:
          type: number
        required: false
        description: Valor em centavos da cobrança
      - in: query
        name: status
        schema:
          type: string
          enum:
          - pending
          - pre_authorized
          - authorized
          - voided
          - refund_pending
          - canceled
          - charged_back
          - capture_pending
        required: false
        description: Status da cobrança
      - in: query
        name: paymentType
        schema:
          type: string
          enum:
          - credit
          - pix
          - boleto
        required: false
        description: Tipo de pagamento
      - in: query
        name: orderId
        schema:
          type: string
        required: false
        description: Id da cobrança gerado pelo cliente
      - in: query
        name: created
        schema:
          type: string
        required: false
        description: Registros criados em uma data específica
        example: '2022-03-12T12:43:53'
      - in: query
        name: created.gt
        schema:
          type: string
        required: false
        description: Registros com data maior que
        example: '2022-03-12T12:43:53'
      - in: query
        name: created.lt
        schema:
          type: string
        required: false
        description: Registros com data menor que
        example: '2022-03-12T12:43:53'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargeList'
              examples:
                ChargeList:
                  $ref: '#/components/examples/ChargeList'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/charges/{id}:
    get:
      tags:
      - Charges
      summary: Recuperar detalhes de cobrança
      operationId: getChargesByid
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
        description: Id da cobrança que deseja recuperar
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
      - Charges
      summary: Alterar o status de uma cobrança no ambiente de sandbox
      operationId: changeStatusTransaction
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
        description: Id da cobrança que deseja alterar no sandbox
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeStatusTransaction'
            example:
              status: charged_back
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/charges/{id}/antifraud:
    patch:
      tags:
      - Charges
      summary: Alterar o status do antifraude no ambiente de sandbox
      operationId: changeAntifraudStatusTransaction
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
        description: Id da cobrança que deseja alterar no sandbox
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeAntifraudStatusTransaction'
            example:
              status: approved
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/charges/{id}/capture:
    post:
      tags:
      - Charges
      summary: Capturar cobrança pre-autorizada
      operationId: captureCharge
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
        description: Id da cobrança que deseja capturar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaptureRequest'
            example:
              amount: 150
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/charges/{id}/void:
    post:
      tags:
      - Charges
      summary: Estornar cobrança aprovada
      operationId: refundCharge
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoidRequest'
            example:
              amount: 150
      parameters:
      - in: path
        name: id
        schema:
          type: string
          format: uuid
        required: true
        description: Id da cobrança que deseja estornar
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Charge'
              examples:
                ChargeCard:
                  $ref: '#/components/examples/ChargeCard'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    VendorCharge:
      type: object
      description: Parâmetros adicionais para transacionar com `vendors`
      properties:
        id:
          type: string
          format: uuid
          description: Identificador do vendedor já cadastrado na API de [vendors](/api-reference/vendors/criacao-de-um-novo-vendedor)
        paymentFacilitatorId:
          type: string
          description: Seu código de Subadquirente na respectiva bandeira. [Verifique a lista de provedores suportados](/documentations/vendors/provedores)
          nullable: true
      required:
      - id
      - paymentFacilitatorId
    3DSecure2ShippingAddress:
      type: object
      properties:
        city:
          type: string
          description: Cidade
        country:
          type: string
          description: Padrão ISO 3166-1 alpha-2
        streetNumber:
          type: string
          description: Número da rua
        zipCode:
          type: string
          description: Codigo postal CEP
        state:
          type: string
          description: Estado
        street:
          type: string
          description: Rua
      required:
      - city
      - country
      - streetNumber
      - zipCode
      - state
      - street
    3DSecure2Request:
      type: object
      properties:
        setupId:
          type: string
          description: Id da sessão de autenticação Malga, utilizado somente para 3DS2 Malga
        dataOnly:
          type: boolean
          description: Quando true, apenas coleta os dados 3DS sem realizar a autenticação
        requiresLiabilityShift:
          type: boolean
          description: Indica a ocorrência de mudança de responsabilidade
        redirectURL:
          type: string
          description: URL para redirecionamento de autenticação. Este campo não é obrigatório caso o objeto MPI seja enviado.
        requestorURL:
          type: string
          description: URL de origem da requisição. Este campo não é obrigatório caso o objeto MPI seja enviado.
        browser:
          description: Informações sobre o navegador do usuário. Este campo não é obrigatório caso o objeto MPI seja enviado.
          allOf:
          - $ref: '#/components/schemas/3DSecure2browser'
        billingAddress:
          description: Endereço de cobrança
          allOf:
          - $ref: '#/components/schemas/3DSecure2BillingAddress'
        shippingAddress:
          description: Endereço para envio
          allOf:
          - $ref: '#/components/schemas/3DSecure2ShippingAddress'
        cardHolder:
          description: Dados do portador do cartão
          allOf:
          - $ref: '#/components/schemas/3DSecure2CardHolder'
        mpi:
          description: Campo usado para autenticação com mpi externa
          allOf:
          - $ref: '#/components/schemas/3DSecure2MPI'
      required:
      - redirectURL
      - requestorURL
      - browser
    PixItem:
      properties:
        id:
          type: string
          description: Id do item a ser pago com Pix
        title:
          type: string
          description: Descrição do item a ser pago com Pix
        unitPrice:
          type: string
          description: Valor do item a ser pago com Pix
        quantity:
          type: array
          description: Quantidade de itens a serem pagos com Pix
    FraudAnalysisCustomerBrowser:
      type: object
      properties:
        browserFingerprint:
          type: string
          description: Fingerprint gerado do navegador
        cookiesAccepted:
          type: boolean
          description: Indica se os cookies foram aceitados
        email:
          type: string
          description: E-mail logado no navegador
        hostName:
          type: string
          description: Nome do host do usuário
        ipAddress:
          type: string
          description: Endereço de ip do usuário
        type:
          type: string
          description: User-agent do browser
    PaymentMethodCardObject:
      title: Cartão de crédito
      type: object
      properties:
        paymentType:
          type: string
          enum:
          - credit
          - debit
          description: Método da cobrança via Cartão Crédito/Débito
        installments:
          type: number
          description: Quantidade de parcelas para cobrança do tipo credito
        recurrence:
          type: string
          enum:
          - initial
          - subsequent
          - unscheduled
          description: Indica se a transação é recorrente. Pode assumir o valor `initial` (primeira transação recorrente), `subsequent` (transação recorrente que não é a primeira) ou `unscheduled` (cobrança avulsa dentro de contexto de assinatura recorrente para ajustar débitos).
        threeDS:
          type: object
          description: Informações sobre o 3DS2
          properties:
            enabled:
              type: boolean
              description: Indica se o 3DS2 deve ser utilizado
            liabilityShiftRequired:
              type: boolean
              default: true
              description: Se verdadeiro, só continuará a cobrança caso haja transferência de responsabilidade pro banco emissor
      required:
      - paymentType
    PaymentMethodDrip:
      type: object
      title: Drip
      properties:
        paymentType:
          type: string
          enum:
          - drip
          description: Método da cobrança via Drip
        maxInstallments:
          type: number
          description: Quantidade de parcelas máxima a serem pagos com a Drip
        browser:
          description: Informações sobre o navegador do usuário
          allOf:
          - $ref: '#/components/schemas/DripBrowser'
        items:
          type: array
          description: Informações sobre itens que estão sendo pagos
          items:
            $ref: '#/components/schemas/DripItem'
        cancelRedirectUrl:
          type: string
          description: Link de redirecionamento em caso de cancelamento do pagamento no ambiente de checkout da Drip
        successRedirectUrl:
          type: string
          description: Link de redirecionamento em caso de aprovação do pagamento no ambiente de checkout da Drip
        firstInstallmentsDate:
          type: string
          description: Data para realizar o pagamento da primeira parcela
        totalInstallments:
          type: number
          description: Número total de parcelas para o pagamento
        finePercentage:
          type: number
          description: Porcentagem da multa
        interestPercentage:
          type: number
          description: Porcentagem do juros
        cancellationFeePercentage:
          type: number
          description: Porcentagem para a taxa de cancelamento
        minutesToExpire:
          type: integer
          description: Tempo em minutos para expiração da transação após sua criação
      required:
      - paymentType
    PaymentMethodPicpay:
      type: object
      title: Picpay
      properties:
        paymentType:
          type: string
          enum:
          - picpay
          description: Método da cobrança via Picpay
      required:
      - paymentType
    SourceTypeCardCvv:
      title: Cartão com tokenCvv
      type: object
      description: Dados para cobrança por cartão de crédito passando o tokenCvv
      properties:
        sourceType:
          type: string
          description: Tipo da origem da cobrança, usar `card` para cobrança em cartão tokenizado
          enum:
          - card
        cardId:
          type: string
          format: uuid
          description: Identificador do cartão quando source tipo card (opcional)
        tokenCvv:
          type: string
          description: Código de verificação da tokenização do cvv do cartão
      required:
      - sourceType
      - cardId
      - tokenCvv
    3DSecure2browserResponse:
      type: object
      properties:
        acceptBrowserValue:
          type: string
          description: O valor do cabeçalho Accept para o navegador
        acceptContent:
          type: string
          description: O tipo de conteúdo que o navegador aceita
        acceptHeader:
          type: string
          description: O Accept do cabeçalho de requisição HTTP
        colorDepth:
          type: number
          description: A profundidade de cores da tela
        javaEnabled:
          type: boolean
          description: Se Java está habilitado
        javaScriptEnabled:
          type: boolean
          description: Se javaScript está habilitado
        language:
          type: string
          description: A linguagem utilizada pelo sistema do usuário
        screenHeight:
          type: number
          description: Altura da tela
        screenWidth:
          type: number
          description: Largura da tela
        timeZoneOffset:
          type: string
          description: Diferença em minutos do deslocamento de fuso horário entre o UTC e a localidade atual
        userAgent:
          type: string
          description: O User-Agent do cabeçalho de requisição  HTTP
        ip:
          type: string
          description: Endereço de ip do usuário
    3DSecure2AuthResponse:
      type: object
      properties:
        action:
          type: string
          enum:
          - REDIRECT
          description: Tipo de ação exigida pelo provedor
        providerType:
          type: string
          enum:
          - ADYEN
          description: Nome do provedor
        responseType:
          type: string
          enum:
          - AUTHENTICATION
          - AUTHORIZATION
          description: Identifica a etapa do desafio
        response:
          type: object
          description: O object retornado do provedor com dados para autenticação ou autorização
    FraudAnalysisMetadata:
      type: object
      properties:
        sla:
          type: number
          description: Valor em Minutos de SLA máximo de Análise do Pedido, se houver
        customer:
          description: Dados do comprador
          type: object
          properties:
            name:
              type: string
              description: Nome do usuario
            email:
              type: string
              description: E-mail do usuario
            phone:
              type: string
              description: Telefone de contato do usuario
            identityType:
              type: string
              description: Tipo de documento, consultar tabela de tipos suportados
            identity:
              type: string
              description: Número do documento formato conforme tipo selecionado
            registrationDate:
              type: string
              description: Data de registro do cliente
            deliveryAddress:
              description: Endereço de entrega
              allOf:
              - $ref: '#/components/schemas/FraudAnalysisAddress'
            billingAddress:
              description: Endereço de cobrança
              allOf:
              - $ref: '#/components/schemas/FraudAnalysisAddress'
        cart:
          description: Detalhe do carrinho de produtos
          type: object
          properties:
            items:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Nome do item/evento
                  quantity:
                    type: integer
                    description: Quantidade de itens do pedido
                  sku:
                    type: string
                    description: Identificador único do item na loja
                  unitPrice:
                    type: integer
                    description: Valor unitário do item/evento em centavos
                  risk:
                    type: string
                    description: Definição do indice de risco do item
                    enum:
                    - High
                    - Low
                  description:
                    type: string
                    description: Descrição do item/evento
                  categoryId:
                    type: string
                    description: Categoria a qual o item/evento pertence
                  locality:
                    type: string
                    description: Definição de local, em caso de evento
                  date:
                    type: string
                    description: Definição de data, em caso de evento
                  type:
                    type: number
                    description: Definição de tipo, em caso de evento
                  genre:
                    type: string
                    description: Definição do gênero, em caso de evento
                  tickets:
                    type: object
                    description: Informações relacionadas aos ingressos, em caso de evento
                    properties:
                      quantityTicketSale:
                        type: number
                        description: Quantidade total de ingressos à venda
                      quantityEventHouse:
                        type: number
                        description: Quantidade de vezes que o evento será realizado na casa
                      convenienceFeeValue:
                        type: number
                        description: Taxa de Conveniência
                      quantityFull:
                        type: number
                        description: Quantidade de ingressos com valor integral
                      quantityHalf:
                        type: number
                        description: Quantidade de ingresso com desconto (meia entrada)
                      batch:
                        type: number
                        description: Lote do Ingresso
                  location:
                    description: Definição de endereço, em caso de evento
                    allOf:
                    - $ref: '#/components/schemas/FraudAnalysisAddress'
    PaymentMethodVoucher:
      type: object
      title: Voucher
      properties:
        paymentType:
          type: string
          enum:
          - voucher
          description: Método da cobrança via Voucher
        items:
          type: array
          description: Informações sobre itens do pedido
          items:
            $ref: '#/components/schemas/VoucherItem'
        customer:
          type: object
          description: Informações sobre o cliente
          allOf:
          - $ref: '#/components/schemas/VoucherCustomer'
      required:
      - paymentType
    PaymentMethodApplePay:
      title: Apple Pay
      type: object
      properties:
        paymentType:
          type: string
          enum:
          - apple_pay
          description: Método da cobrança via Apple Pay
        installments:
          type: number
          description: Quantidade de parcelas para cobrança do tipo Apple Pay crédito
      required:
      - paymentType
    CaptureRequest:
      properties:
        amount:
          type: number
          description: Valor da captura em centavos não podendo ser maior que o valor da transação, exemplo 100 para cobrar R$ 1,00
    PaymentMethodCard:
      type: object
      title: Cartão
      properties:
        paymentType:
          type: string
          enum:
          - credit
          - voucher
          description: Método da cobrança via Cartão Crédito/Débito/Voucher
        installments:
          type: number
          description: Quantidade de parcelas para cobrança do tipo credito
        recurrence:
          type: string
          enum:
          - initial
          - subsequent
          - unscheduled
          description: Indica se a transação é recorrente. Pode assumir o valor `initial` (primeira transação recorrente), `subsequent` (transação recorrente que não é a primeira) ou `unscheduled` (cobrança avulsa dentro de contexto de assinatura recorrente para ajustar débitos).
      required:
      - paymentType
    PaymentMethodDripObject:
      title: Drip
      type: object
      properties:
        paymentType:
          type: string
          enum:
          - drip
          description: Método da cobrança via Drip
        browser:
          description: Informações sobre o navegador do usuário
          allOf:
          - $ref: '#/components/schemas/DripBrowser'
        items:
          type: array
          description: Informações sobre itens que estão sendo pagos
          items:
            $ref: '#/components/schemas/DripItem'
        cancelRedirectUrl:
          type: string
          description: Link de redirecionamento em caso de cancelamento do pagamento no ambiente de checkout da Drip
        successRedirectUrl:
          type: string
          description: Link de redirecionamento em caso de aprovação do pagamento no ambiente de checkout da Drip
        paymentUrl:
          type: string
          description: URL para pagamento da cobrança Drip
      required:
      - paymentType
    SourceTypeCard:
      title: Cartão tokenizado
      type: object
      description: Dados para cobrança por cartão de crédito salve
      properties:
        sourceType:
          type: string
          description: Tipo da origem da cobrança, usar `card` para cobrança em cartão tokenizado
          enum:
          - card
        cardId:
          type: string
          format: uuid
          description: Identificador do ca

# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/plug/refs/heads/main/openapi/plug-charges-api-openapi.yml