Criar Link de Pagamento
curl --request POST \
--url https://pay.autorizou.dev/api/v1/payment-links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"amount_type": "<string>",
"amount": 123,
"payment_methods": [
{}
],
"description": "<string>",
"max_installments": 123,
"interest_mode": "<string>",
"interest_free_installments": 123,
"card_capture": true,
"boleto_expiration_days": 123,
"pix_expiration_minutes": 123,
"expires_at": "<string>",
"max_payments": 123,
"collect_phone": true,
"require_address": true,
"soft_descriptor": "<string>",
"notification_url": "<string>",
"send_email_receipt": true,
"logo_url": "<string>",
"brand_color": "<string>",
"recurrence_interval": "<string>",
"recurrence_trial_days": 123
}
'import requests
url = "https://pay.autorizou.dev/api/v1/payment-links"
payload = {
"title": "<string>",
"amount_type": "<string>",
"amount": 123,
"payment_methods": [{}],
"description": "<string>",
"max_installments": 123,
"interest_mode": "<string>",
"interest_free_installments": 123,
"card_capture": True,
"boleto_expiration_days": 123,
"pix_expiration_minutes": 123,
"expires_at": "<string>",
"max_payments": 123,
"collect_phone": True,
"require_address": True,
"soft_descriptor": "<string>",
"notification_url": "<string>",
"send_email_receipt": True,
"logo_url": "<string>",
"brand_color": "<string>",
"recurrence_interval": "<string>",
"recurrence_trial_days": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
amount_type: '<string>',
amount: 123,
payment_methods: [{}],
description: '<string>',
max_installments: 123,
interest_mode: '<string>',
interest_free_installments: 123,
card_capture: true,
boleto_expiration_days: 123,
pix_expiration_minutes: 123,
expires_at: '<string>',
max_payments: 123,
collect_phone: true,
require_address: true,
soft_descriptor: '<string>',
notification_url: '<string>',
send_email_receipt: true,
logo_url: '<string>',
brand_color: '<string>',
recurrence_interval: '<string>',
recurrence_trial_days: 123
})
};
fetch('https://pay.autorizou.dev/api/v1/payment-links', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pay.autorizou.dev/api/v1/payment-links",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'amount_type' => '<string>',
'amount' => 123,
'payment_methods' => [
[
]
],
'description' => '<string>',
'max_installments' => 123,
'interest_mode' => '<string>',
'interest_free_installments' => 123,
'card_capture' => true,
'boleto_expiration_days' => 123,
'pix_expiration_minutes' => 123,
'expires_at' => '<string>',
'max_payments' => 123,
'collect_phone' => true,
'require_address' => true,
'soft_descriptor' => '<string>',
'notification_url' => '<string>',
'send_email_receipt' => true,
'logo_url' => '<string>',
'brand_color' => '<string>',
'recurrence_interval' => '<string>',
'recurrence_trial_days' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pay.autorizou.dev/api/v1/payment-links"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pay.autorizou.dev/api/v1/payment-links")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pay.autorizou.dev/api/v1/payment-links")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}"
response = http.request(request)
puts response.read_bodyLinks de Pagamento
Criar Link de Pagamento
Cria um link de pagamento compartilhável, escopado ao seu lojista
POST
/
api
/
v1
/
payment-links
Criar Link de Pagamento
curl --request POST \
--url https://pay.autorizou.dev/api/v1/payment-links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"amount_type": "<string>",
"amount": 123,
"payment_methods": [
{}
],
"description": "<string>",
"max_installments": 123,
"interest_mode": "<string>",
"interest_free_installments": 123,
"card_capture": true,
"boleto_expiration_days": 123,
"pix_expiration_minutes": 123,
"expires_at": "<string>",
"max_payments": 123,
"collect_phone": true,
"require_address": true,
"soft_descriptor": "<string>",
"notification_url": "<string>",
"send_email_receipt": true,
"logo_url": "<string>",
"brand_color": "<string>",
"recurrence_interval": "<string>",
"recurrence_trial_days": 123
}
'import requests
url = "https://pay.autorizou.dev/api/v1/payment-links"
payload = {
"title": "<string>",
"amount_type": "<string>",
"amount": 123,
"payment_methods": [{}],
"description": "<string>",
"max_installments": 123,
"interest_mode": "<string>",
"interest_free_installments": 123,
"card_capture": True,
"boleto_expiration_days": 123,
"pix_expiration_minutes": 123,
"expires_at": "<string>",
"max_payments": 123,
"collect_phone": True,
"require_address": True,
"soft_descriptor": "<string>",
"notification_url": "<string>",
"send_email_receipt": True,
"logo_url": "<string>",
"brand_color": "<string>",
"recurrence_interval": "<string>",
"recurrence_trial_days": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
amount_type: '<string>',
amount: 123,
payment_methods: [{}],
description: '<string>',
max_installments: 123,
interest_mode: '<string>',
interest_free_installments: 123,
card_capture: true,
boleto_expiration_days: 123,
pix_expiration_minutes: 123,
expires_at: '<string>',
max_payments: 123,
collect_phone: true,
require_address: true,
soft_descriptor: '<string>',
notification_url: '<string>',
send_email_receipt: true,
logo_url: '<string>',
brand_color: '<string>',
recurrence_interval: '<string>',
recurrence_trial_days: 123
})
};
fetch('https://pay.autorizou.dev/api/v1/payment-links', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://pay.autorizou.dev/api/v1/payment-links",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'amount_type' => '<string>',
'amount' => 123,
'payment_methods' => [
[
]
],
'description' => '<string>',
'max_installments' => 123,
'interest_mode' => '<string>',
'interest_free_installments' => 123,
'card_capture' => true,
'boleto_expiration_days' => 123,
'pix_expiration_minutes' => 123,
'expires_at' => '<string>',
'max_payments' => 123,
'collect_phone' => true,
'require_address' => true,
'soft_descriptor' => '<string>',
'notification_url' => '<string>',
'send_email_receipt' => true,
'logo_url' => '<string>',
'brand_color' => '<string>',
'recurrence_interval' => '<string>',
'recurrence_trial_days' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pay.autorizou.dev/api/v1/payment-links"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://pay.autorizou.dev/api/v1/payment-links")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pay.autorizou.dev/api/v1/payment-links")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"amount_type\": \"<string>\",\n \"amount\": 123,\n \"payment_methods\": [\n {}\n ],\n \"description\": \"<string>\",\n \"max_installments\": 123,\n \"interest_mode\": \"<string>\",\n \"interest_free_installments\": 123,\n \"card_capture\": true,\n \"boleto_expiration_days\": 123,\n \"pix_expiration_minutes\": 123,\n \"expires_at\": \"<string>\",\n \"max_payments\": 123,\n \"collect_phone\": true,\n \"require_address\": true,\n \"soft_descriptor\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"send_email_receipt\": true,\n \"logo_url\": \"<string>\",\n \"brand_color\": \"<string>\",\n \"recurrence_interval\": \"<string>\",\n \"recurrence_trial_days\": 123\n}"
response = http.request(request)
puts response.read_bodyCria um link de pagamento — uma URL própria onde o comprador paga (Pix, boleto ou cartão). O link
nasce escopado ao lojista da sua chave de API; você não envia
merchant_id. A resposta traz a url
para compartilhar. Veja o guia em Links de Pagamento.
Parâmetros
string
required
Título do link (aparece no checkout). Máx. 255 caracteres.
string
required
fixed (valor fixo — envie amount) ou customer_defined (o comprador digita o valor).integer
Valor em centavos. Obrigatório quando
amount_type = fixed. Mínimo 500 (R$ 5,00).array
required
Métodos aceitos (mínimo 1):
pix, credit_card, debit_card, bank_slip.string
Descrição opcional exibida no checkout.
integer
Máximo de parcelas no cartão (1 a 12).
string
none (sem juros) ou installments (juros por parcela, conforme a tabela do lojista).integer
Até quantas parcelas ficam sem juros (1 a 12).
boolean
Captura automática do cartão. Padrão:
true.integer
Validade do boleto em dias (1 a 60).
integer
Validade do QR Pix em minutos (5 a 1440).
string
Data/hora de expiração do link (ISO 8601, no futuro). Depois disso o link não paga mais.
integer
Número máximo de pagamentos aceitos pelo link. Atingido o limite, o link deixa de ser pagável.
boolean
Coletar o telefone do comprador no checkout.
boolean
Exigir endereço do comprador. É forçado para
true quando bank_slip está entre os métodos.string
Texto que aparece na fatura do cartão do comprador. Máx. 22 caracteres.
string
URL de webhook específica deste link (além dos webhooks globais). Deve ser HTTPS e pública.
boolean
Enviar recibo por e-mail ao comprador quando o pagamento for aprovado.
string
URL do logo exibido no checkout. Máx. 255 caracteres.
string
Cor de destaque do checkout (hex). Máx. 9 caracteres.
string
Transforma o link numa assinatura. Presente = todo pagamento pelo link cria uma assinatura recorrente (cartão, valor fixo).Valores:
monthly, quarterly, half-yearly, yearly.Exige amount_type: "fixed" (link recorrente tem valor fixo).integer
Dias de teste grátis antes da primeira cobrança da assinatura. Mínimo:
1 | Máximo: 365.O link recorrente é o jeito mais simples de vender assinatura: sem produto, sem cadastro prévio de cliente. Para uma régua de preços (valores diferentes por ciclo), use uma oferta recorrente em vez do link.
curl -X POST "https://pay.autorizou.dev/api/v1/payment-links" \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"title": "Consultoria — Plano Premium",
"amount_type": "fixed",
"amount": 19900,
"payment_methods": ["pix", "credit_card"],
"max_installments": 12,
"interest_mode": "none",
"send_email_receipt": true
}'
curl -X POST "https://pay.autorizou.dev/api/v1/payment-links" \
-H "Authorization: Bearer SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"title": "Assinatura Mensal",
"amount_type": "fixed",
"amount": 4990,
"payment_methods": ["credit_card"],
"recurrence_interval": "monthly",
"recurrence_trial_days": 7,
"send_email_receipt": true
}'
Resposta
{
"uuid": "9b2c1f7a-3e4d-4a8b-9c1d-2f3e4a5b6c7d",
"hash": "AUTLNK01KW2P8M4Q7K3M9QP",
"url": "https://link.autorizou.dev/p/AUTLNK01KW2P8M4Q7K3M9QP",
"title": "Consultoria — Plano Premium",
"amount_type": "fixed",
"amount": 19900,
"payment_methods": ["pix", "credit_card"],
"max_installments": 12,
"interest_mode": "none",
"status": "active",
"send_email_receipt": true,
"created_at": "2026-07-03 13:10:00"
}
Compartilhe o campo
url com o comprador. O checkout é público (resolvido pelo hash do link) —
não exige a chave de API.