> ## Documentation Index
> Fetch the complete documentation index at: https://docs.malga.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar cobrança com PIX

> API SDK Documentação - Charges

Crie cobranças com PIX e comece a transacionar com Malga.

### Método

<Tabs>
  <Tab title="Node.js">
    ```typescript theme={null}
    import { Malga } from 'malga'

    const malga = new Malga({
      apiKey: '17a64c8f-a387-4682-bdd8-d280493715e0',
      clientId: 'd1d2b51a-0446-432a-b055-034518c2660e',
    })

    await malga.charges.create({
      merchantId: '8cfef0d1-73af-4bdb-b6c4-09ad3fbfc7f1',
      customerId: '2c48166b-51fe-4d8d-a450-1385df8a95b9',
      amount: 100,
      paymentMethod: {
        type: 'pix',
        expiresIn: 3600
      },
    })
    ```
  </Tab>
</Tabs>

<Tabs>
  <Tab title="Response">
    ```typescript theme={null}
    {
    	id: 'e09ef791-1aaa-4b11-8173-698f2689a04d',
    	clientId: 'd1d2b51a-0446-432a-b055-034518c2660e',
    	merchantId: '8cfef0d1-73af-4bdb-b6c4-09ad3fbfc7f1',
    	description: null,
    	orderId: null,
    	providerReferenceKey: null,
    	createdAt: '2023-12-31T18:19:44.993Z',
    	amount: 100,
    	originalAmount: 100,
    	currency: 'BRL',
    	statementDescriptor: null,
    	capture: false,
    	isDispute: false,
    	status: 'pending',
    	paymentMethod: {
    		paymentType: 'pix',
    		qrCodeData: '00020101021126430014BR.GOV.BCB.PIX010002173fcae964ec08d0ad9196d59e1e66304477C',
    		qrCodeImageUrl: 'https://malga.io',
    		expiresIn: 3600,
    	},
    	paymentSource: {
    		sourceType: 'customer',
    		customerId: '2c48166b-51fe-4d8d-a450-1385df8a95b9',
    	},
    	transactionRequests: [
    		{
    			id: 'a6cc6bda-3f6d-4277-8ea2-e4bbd9166f16',
    			createdAt: '2023-12-31T18:19:45.013Z',
    			updatedAt: '2023-12-31T18:19:45.044Z',
    			idempotencyKey: '3b42ede3-15a8-4d81-b6e9-54c5762776c6',
    			providerId: '694f7eee-2966-4825-a847-65d070cbdece',
    			providerType: 'SANDBOX',
    			transactionId: '18242a4d-dd35-475f-b79b-5cbe8f9d1fea',
    			amount: 100,
    			authorizationCode: null,
    			authorizationNsu: null,
    			requestStatus: 'success',
    			requestType: 'pending',
    			responseTs: '11ms',
    			pix: {
            qrCodeData: '00020101021126430014BR.GOV.BCB.PIX010002173fcae964ec08d0ad9196d59e1e66304477C',
            qrCodeImageUrl: 'https://malga.io',
            expiresIn: 3600, 
          }
    		}
    	],
    	appInfo: null
    }
    ```
  </Tab>
</Tabs>

### Parâmetros

Lista de todos os parâmetros suportados pelo método.

<ParamField path="merchantId" type="uuid" required>
  ID do Merchant que será usado na cobrança
</ParamField>

<ParamField path="amount" type="number" required>
  Valor da cobrança em centavos
</ParamField>

<ParamField path="paymentMethod" type="object" required>
  Dados do pagamento com PIX

  <Expandable title="Parâmetros do paymentMethod">
    <ParamField path="type" type="string" required>
      Método de pagamento que será utilizado na cobrança

      <br />

      Com PIX sempre será <code>pix</code>
    </ParamField>

    <ParamField path="expiresIn" type="number" required>
      Tempo de expiração do PIX em segundos
    </ParamField>

    <ParamField path="additionalInfo" type="array">
      Dados adicionais para o pagamento

      <Expandable title="Parâmetros do additionalInfo">
        <ParamField path="name" type="string" required>
          Nome do dado adicional
        </ParamField>

        <ParamField path="value" type="string" required>
          Valor do dado adicional
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="items" type="array">
      Dados dos produtos do pedido

      <Expandable title="Parâmetros do items">
        <ParamField path="id" type="string" required>
          Identificador único do produto
        </ParamField>

        <ParamField path="title" type="string" required>
          Nome do produto
        </ParamField>

        <ParamField path="unitPrice" type="number" required>
          Preço do produto
        </ParamField>

        <ParamField path="quantity" type="number" required>
          Quantidade do produto
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="orderId" type="string">
  Identificador único da cobrança do lado do cliente para conciliação futura
</ParamField>

<ParamField path="providerReferenceKey" type="string">
  Identificador único da cobrança do lado do cliente utilizado para referenciar a cobrança do lado do provedor
</ParamField>

<ParamField path="description" type="string">
  Descrição da cobrança
</ParamField>

<ParamField path="currency" type="string">
  Moeda que será usada para a cobrança
</ParamField>

<ParamField path="customerId" type="uuid" required>
  ID do Customer que será usado na cobrança
</ParamField>

<ParamField path="customer" type="object" required>
  Dados do cliente para criação e vinculação automática à cobrança

  <Expandable title="Parâmetros do customer">
    <ParamField path="name" type="string" required>
      Nome do cliente
    </ParamField>

    <ParamField path="email" type="string" required>
      E-mail do cliente
    </ParamField>

    <ParamField path="phoneNumber" type="string" required>
      Telefone do cliente
    </ParamField>

    <ParamField path="document" type="object">
      Dados do documento do cliente

      <Expandable title="Parâmetros do document">
        <ParamField path="type" type="string" required>
          Tipo do documento
        </ParamField>

        <ParamField path="number" type="string" required>
          Número do documento
        </ParamField>

        <ParamField path="country" type="string">
          País do documento
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="address" type="object">
      Dados do endereço do cliente

      <Expandable title="Parâmetros do address">
        <ParamField path="city" type="string" required>
          Cidade
        </ParamField>

        <ParamField path="country" type="string" required>
          País
        </ParamField>

        <ParamField path="district" type="string" required>
          Bairro
        </ParamField>

        <ParamField path="state" type="string" required>
          Estado
        </ParamField>

        <ParamField path="street" type="string" required>
          Nome da rua, avenida ou travessa
        </ParamField>

        <ParamField path="streetNumber" type="string" required>
          Número da rua
        </ParamField>

        <ParamField path="zipCode" type="string" required>
          Código postal
        </ParamField>

        <ParamField path="complement" type="string">
          Complemento onde se localiza o endereço, caso exista
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="splitRules" type="array">
  Dados para utilização da funcionalidade de Split

  <Expandable title="Parâmetros do splitRules">
    <ParamField path="sellerId" type="uuid" required>
      ID do Recebedor
    </ParamField>

    <ParamField path="processingFee" type="boolean" required>
      Indica se o recebedor vinculado à regra será cobrado pelas taxas da transação
    </ParamField>

    <ParamField path="liable" type="boolean" required>
      Indica se o recebedor atrelado assumirá os riscos de chargeback da transação
    </ParamField>

    <ParamField path="percentage" type="number">
      Porcentagem do valor da transação que será enviada ao recebedor
    </ParamField>

    <ParamField path="amount" type="number">
      Valor que será enviado ao recebedor
    </ParamField>

    <ParamField path="fares" type="object">
      Informações sobre as taxas que serão cobradas do recebedor, apenas para sellers com provedor Braspag

      <Expandable title="Parâmetros do fares">
        <ParamField path="mdr" type="number" required>
          Indica o percentual a ser descontado do valor de uma transação, definido por produto (crédito/débito/boleto), bandeira e faixa de parcelamento
        </ParamField>

        <ParamField path="fee" type="number" required>
          Indica valor em centavos a ser cobrado por transação capturada. É descontado no momento da “montagem” da agenda financeira
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="paymentFlow" type="object">
  Dados adicionais para uso em condicionais dos Fluxos Inteligentes

  <Expandable title="Parâmetros do paymentFlow">
    <ParamField path="metadata" type="object">
      Dados adicionais da cobrança enviados na criação da mesma
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="appInfo" type="object">
  Dados para a rastreabilidade da cobrança

  <Expandable title="Parâmetros do appInfo">
    <ParamField path="device" type="object">
      Dados sobre o dispositivo

      <Expandable title="Parâmetros do device">
        <ParamField path="name" type="string" required>
          Nome do sistema operacional
        </ParamField>

        <ParamField path="version" type="string" required>
          Versão do sistema operacional
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="system" type="object">
      Dados sobre o sistema proprietário de captura do merchant

      <Expandable title="Parâmetros do system">
        <ParamField path="name" type="string" required>
          Nome da empresa e/ou plataforma
        </ParamField>

        <ParamField path="version" type="string" required>
          Versão do software da plataforma
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>
