# Criar link de pagamento

**POST** `/payment-links`

Base URL: `https://api-sbx.pre.globalgetnet.com/dpy/payment-link/v1`

Creates a new payment link.

## Header parameters

- `Authorization` (string, required)
  Bearer Token (JWT). x-seller-id, country, and tenant are extracted from the token.

## Body

Content type: `application/json`

- `label` (string, required)
- `expiration` (string<date-time>)
- `max_orders` (integer)
- `type` ("custom" | "unique")
  Link type. When `unique`, products and shipping_amount are forbidden.
- `request_delivery_address` (boolean)
- `shipping_amount` (integer)
  Required when request_delivery_address=true. Forbidden when type=unique.
- `products` (object[])
  Required when type=custom. Forbidden when type=unique.
  - `product_type` ("cash_carry" | "digital_content" | "digital_goods" | "digital_physical" | "gift_card" | "physical_goods" | "renew_subs" | "shareware" | "service", required)
  - `title` (string, required)
  - `image_id` (string<uuid>)
    Image UUID, obtained via POST /payment-links/products/images
  - `description` (string)
  - `quantity` (integer)
  - `order_prefix` (string)
  - `amount` (integer, required)
    Product price in cents
- `payment` (object, required)
  Payment methods configuration.
  At least one method must be enabled (enabled: true).

  **Availability by country:**
  | Method | BR | MX | AR | CL | ES | UY |
  |--------|----|----|----|----|----|----|
  | credit | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
  | debit | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
  | bankslip | ✓ | — | — | — | — | — |
  | instant_payment | ✓ | — | — | — | — | — |
  | google_pay | ✓ | — | — | — | — | — |
  | apple_pay | ✓ | — | — | — | — | — |
  | c2p_master | — | — | ✓ | — | — | — |
  - `credit` (object)
    - `enabled` (boolean, required)
    - `brands` (object[])
      - `enabled` (boolean, required)
      - `brand` (string, required)
        Card brand (VISA, MASTERCARD, AMEX, ELO, HIPERCARD, CABAL, CARNET)
      - `currencies` (string[])
      - `threeds` (boolean)
        3DS authentication enabled
      - `supported_installments` (object[])
        - `schema` (string, required)
          Installment schema identifier
        - `schema_name` (string)
          Descriptive name of the schema
        - `installments` (integer[], required)
          Enabled installments (integers >= 2)
        - `installments_with_interest` (integer[])
          Installments with interest
        - `installments_with_increase` (object[])
          Groups of installments with surcharge rate
          - `installments` (integer[], required)
          - `rate` (number<float>, required)
  - `debit` (object)
    - `enabled` (boolean, required)
    - `brands` (object[])
      - `enabled` (boolean, required)
      - `brand` (string, required)
      - `currencies` (string[])
      - `threeds` (boolean)
  - `bankslip` (object)
    - `enabled` (boolean, required)
  - `instant_payment` (object)
    - `enabled` (boolean, required)
  - `google_pay` (object)
    Available only for BR
    - `enabled` (boolean, required)
  - `apple_pay` (object)
    Available only for BR
    - `enabled` (boolean, required)
  - `c2p_master` (object)
    Click to Pay Mastercard — available only for AR
    - `enabled` (boolean, required)
- `currency` (string, required)
  ISO 4217 code (3 letters). Main ones: BRL, ARS, CLP, MXN, EUR, UYU, USD, COP, PEN

Example:

```json
{
  "label": "black-friday-2026",
  "expiration": "2026-12-31T23:59:59",
  "max_orders": 100,
  "type": "custom",
  "request_delivery_address": false,
  "shipping_amount": 500,
  "products": [
    {
      "product_type": "physical_goods",
      "title": "Camiseta Oficial Getnet",
      "image_id": "6697e354-ab4a-11eb-bcbc-0242ac130002",
      "description": "Camiseta 100% algodão, tamanho M",
      "quantity": 2,
      "order_prefix": "BF2026",
      "amount": 9990
    }
  ],
  "payment": {
    "credit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true,
          "supported_installments": [
            {
              "schema": "plan_lojista",
              "schema_name": "Plan Lojista",
              "installments": [
                2,
                3,
                6,
                9,
                12
              ],
              "installments_with_interest": [
                6,
                9,
                12
              ],
              "installments_with_increase": null
            }
          ]
        }
      ]
    },
    "debit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true
        }
      ]
    },
    "bankslip": {
      "enabled": true
    },
    "instant_payment": {
      "enabled": true
    },
    "google_pay": {
      "enabled": true
    },
    "apple_pay": {
      "enabled": true
    },
    "c2p_master": {
      "enabled": false
    }
  },
  "currency": "BRL"
}
```

## Responses

### 201

Payment link created

- `link_id` (string<uuid>)
- `short_id` (string)
- `seller_id` (string<uuid>)
- `label` (string)
- `expiration` (string<date-time>)
- `max_orders` (integer)
- `type` ("custom" | "unique")
- `successful_sales` (integer)
- `request_delivery_address` (boolean)
- `shipping_amount` (integer)
- `products` (object[])
  - `product_type` ("cash_carry" | "digital_content" | "digital_goods" | "digital_physical" | "gift_card" | "physical_goods" | "renew_subs" | "shareware" | "service", required)
  - `title` (string, required)
  - `image_id` (string<uuid>)
    Image UUID, obtained via POST /payment-links/products/images
  - `description` (string)
  - `quantity` (integer)
  - `order_prefix` (string)
  - `amount` (integer, required)
    Product price in cents
- `payment` (object)
  Payment methods configuration.
  At least one method must be enabled (enabled: true).

  **Availability by country:**
  | Method | BR | MX | AR | CL | ES | UY |
  |--------|----|----|----|----|----|----|
  | credit | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
  | debit | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
  | bankslip | ✓ | — | — | — | — | — |
  | instant_payment | ✓ | — | — | — | — | — |
  | google_pay | ✓ | — | — | — | — | — |
  | apple_pay | ✓ | — | — | — | — | — |
  | c2p_master | — | — | ✓ | — | — | — |
  - `credit` (object)
    - `enabled` (boolean, required)
    - `brands` (object[])
      - `enabled` (boolean, required)
      - `brand` (string, required)
        Card brand (VISA, MASTERCARD, AMEX, ELO, HIPERCARD, CABAL, CARNET)
      - `currencies` (string[])
      - `threeds` (boolean)
        3DS authentication enabled
      - `supported_installments` (object[])
        - `schema` (string, required)
          Installment schema identifier
        - `schema_name` (string)
          Descriptive name of the schema
        - `installments` (integer[], required)
          Enabled installments (integers >= 2)
        - `installments_with_interest` (integer[])
          Installments with interest
        - `installments_with_increase` (object[])
          Groups of installments with surcharge rate
          - `installments` (integer[], required)
          - `rate` (number<float>, required)
  - `debit` (object)
    - `enabled` (boolean, required)
    - `brands` (object[])
      - `enabled` (boolean, required)
      - `brand` (string, required)
      - `currencies` (string[])
      - `threeds` (boolean)
  - `bankslip` (object)
    - `enabled` (boolean, required)
  - `instant_payment` (object)
    - `enabled` (boolean, required)
  - `google_pay` (object)
    Available only for BR
    - `enabled` (boolean, required)
  - `apple_pay` (object)
    Available only for BR
    - `enabled` (boolean, required)
  - `c2p_master` (object)
    Click to Pay Mastercard — available only for AR
    - `enabled` (boolean, required)
- `status` ("ACTIVE" | "INACTIVE" | "EXPIRED")
- `created_at` (string<date-time>)
- `updated_at` (string<date-time>)
- `currency` (string)
  ISO 4217 code (3 letters). Main ones: BRL, ARS, CLP, MXN, EUR, UYU, USD, COP, PEN

Example:

```json
{
  "link_id": "9e5dcedc-1e5f-4e85-9b64-4d0b43d98c82",
  "short_id": "ZDdlNmM1YTg",
  "seller_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "label": "black-friday-2026",
  "expiration": "2026-12-31T23:59:59.000Z",
  "max_orders": 100,
  "type": "custom",
  "successful_sales": 5,
  "request_delivery_address": false,
  "shipping_amount": 0,
  "products": [
    {
      "product_type": "physical_goods",
      "title": "Camiseta Oficial Getnet",
      "image_id": "6697e354-ab4a-11eb-bcbc-0242ac130002",
      "description": "Camiseta 100% algodão, tamanho M",
      "quantity": 2,
      "order_prefix": "BF2026",
      "amount": 9990
    }
  ],
  "payment": {
    "credit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true,
          "supported_installments": [
            {
              "schema": "plan_lojista",
              "schema_name": "Plan Lojista",
              "installments": [
                2,
                3,
                6,
                9,
                12
              ],
              "installments_with_interest": [
                6,
                9,
                12
              ],
              "installments_with_increase": null
            }
          ]
        }
      ]
    },
    "debit": {
      "enabled": true,
      "brands": [
        {
          "enabled": true,
          "brand": "VISA",
          "currencies": [
            "BRL"
          ],
          "threeds": true
        }
      ]
    },
    "bankslip": {
      "enabled": true
    },
    "instant_payment": {
      "enabled": true
    },
    "google_pay": {
      "enabled": true
    },
    "apple_pay": {
      "enabled": true
    },
    "c2p_master": {
      "enabled": false
    }
  },
  "status": "ACTIVE",
  "created_at": "2026-01-15T14:30:00Z",
  "updated_at": "2026-01-16T09:00:00Z",
  "currency": "BRL"
}
```

### 400

Bad request - validation error

- `error_code` (string)
- `message` (string)
- `details` (object[])
  - `message` (string)
  - `path` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "guid_error",
  "message": "x-seller-id must be a valid guid",
  "details": [
    {
      "message": "string",
      "path": "string"
    }
  ],
  "status_code": 400
}
```

### 404

Not found

- `error_code` (string)
- `message` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "payment_link_not_found",
  "message": "Payment Link not found",
  "status_code": 422
}
```

### 422

Unprocessable entity

- `error_code` (string)
- `message` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "payment_link_not_found",
  "message": "Payment Link not found",
  "status_code": 422
}
```

### 500

Internal server error

- `error_code` (string)
- `message` (string)
- `status_code` (integer)

Example:

```json
{
  "error_code": "payment_link_not_found",
  "message": "Payment Link not found",
  "status_code": 422
}
```