---
title: "Create a transaction and generate bank slip with pix"
method: POST
path: "/v2/transactions/bank-slip"
tags: ["Transactions"]
---

# Create a transaction and generate bank slip with pix

`POST /v2/transactions/bank-slip`

This version allows you to create a Bank Slip with Pix. The new PDF layout includes the Pix code

bank_slip_link is set to HTML by default

#### Limitations
- Only 2 discounts will be included, even if the transaction has more

## Request body

- EdubankTransactionOneStepDtoHtmlLinkDefault
  - `reference_id` string, required — Reference ID of your application VARCHAR(500)
  - `transaction_limit_date` string, required — Deadline to use this transaction for payment
  - `transaction_description` string — Description of the sale for payment
  - `sandbox` boolean, required — Defines whether the account is in test or production mode
  - `is_pinpad_transaction` boolean — Defines that a transaction is pinpad. In this case, the transaction may respect some specific parameters, such as a different pix fees
  - `transaction_items` EdubankTransactionItems[] — Edubank transaction items
    - `item` string, required — Item Description
    - `amount` string, required — Item amount
    - `reference` string — Item reference
    - `note` string — Item note
  - `transaction_details` EdubankTransactionDetails, required
    - `amount` number, required — Gross amount to be paid. Ex: 2010 = 20.10
    - `due_date` string, required — Due date
    - `payment_limit_date` string, required — Deadline for payment
    - `body_instructions` string[] — Up to five bank slip instructions
    - `late_fee` EdubankLateFee
      - `mode` string, required — Billing mode. Accepted values: FIXED (fixed) or PERCENTAGE (percentage)
      - `amount` string, required — Late fee amount. Ex: 2.00
    - `interest` EdubankInterest
      - `mode` string, required — Billing mode. Accepted values: DAILY_AMOUNT, DAILY_PERCENTAGE
      - `amount` string, required — Interest fee amount. Ex: 0.033
    - `discount` EdubankDiscount
      - `mode` string, required — Billing mode. Accepted values: FIXED (fixed) or PERCENTAGE (percentage)
      - `date_1` string, required — Deadline for payment to occur with discount 1. It must be before the date entered in "Due date"
      - `amount_1` number, required — Discount 1 amount. Ex: 2010 = 20.10
      - `date_2` string — Deadline for payment to occur with discount 2. It must be before the date entered in "date_1"
      - `amount_2` number — Discount 2 amount. Ex: 2010 = 20.10
      - `date_3` string — Deadline for payment to occur with discount 3. It must be before the date entered in "date_2"
      - `amount_3` number — Discount 3 amount. Ex: 2010 = 20.10
  - `split_rules` EdubankSplit[] — Split rules for the transaction.<br>All objects in the 'split_rules' array must have the same properties.<br>They must all be by value or by percentage
    - `recipient` string, required — Recipient seller_id
    - `amount` number — Value that will be split. Ex: 2010 = 20.10
    - `percentage` string, required — Split percentage
    - `processing_fee` string, required — Defines which seller should process fees. MAIN = Seller who created the transaction. RECIPIENT = Seller informed in the split.
  - `notification_url` string, required — URL that will receive a POST call when the transaction changes
  - `buyer` EdubankBuyerDto, required
    - `first_name` string, required — Buyer's first name
    - `last_name` string, required — Buyer's last name
    - `email` string — Buyer's email
    - `taxpayer_id` string, required — Buyer's CPF/CNPJ
    - `birthdate` string — Buyer's date of birth
    - `phone_number` string — Buyer's phone number
    - `address` EdubankBuyersAddress, required
      - `city` string, required — City
      - `additional_information` string — Additional address data. In this field you can inform complement, references
      - `number` string, required — Number
      - `state_code` string, required — State (UF)
      - `street` string, required — Street / Patio
      - `neighborhood` string, required — Neighborhood
      - `zip` string, required — Postal Zone / ZIP Code)
      - `country_code` 'BR', required — Buyer's country code
  - `bank_slip_link` 'PDF' | 'HTML' — Indicates whether the PDF of the bank slip or the HTML should be returned. DEFAULT is HTML

## Response `201`

The object has been successfully created

- EdubankTransactionSuccessResponseBankSlip
  - `status_code` number, required — Status code
  - `transaction_id` string, required — Edubank transaction id
  - `transaction_type` string, required — Type of transaction performed. CARD/PIX/BANK_SLIP/BANK_SLIP_PIX
  - `status` string, required — Current transaction status
  - `payment_id` string, required — Payment id
  - `bank_slip_link` string — URL for payment slip
  - `bank_slip_barcode` string — Barcode for payment slip
  - `bank_slip_digitable_line` string — Digitable line for payment slip
  - `bank_slip_document_number` string — "Our number" from the bank slip
  - `pix_qrcode` string — Pix qrcode
  - `pix_base64` string — Pix qrcode image in base64
  - `pix_expiration` string — Pix expiration

## Other responses

- `400` — Client specified an invalid argument, request body or query param
- `401` — The user is unauthorized
- `403` — Authenticated user is not allowed to access this resource
- `404` — The resource was not found
- `408` — Request timeout
- `422` — Error: Unprocessable Entity
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.dev/edubank/apis/api-edubank.md) · [All operations](https://skmtc.dev/edubank/apis/api-edubank/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/edubank/api-edubank/revisions/dce4008191d4/schema)
