Criar link de pagamento
Crie um link de pagamento na My Gateway: atributos do payload, formas de pagamento, itens e cupons, e exemplo de resposta.
Nesta página
/payments/v1/checkoutCria um link que pode ser compartilhado com o pagador.
Cabeçalhos
AuthorizationstringobrigatórioValor de
authenticationTokenretornado na autenticação, sem o prefixoBearer.x-api-keystringobrigatórioChave do API Gateway do ambiente.
Content-TypestringobrigatórioSempre
application/json.
Corpo da requisição
valueintegerobrigatórioValor total do link em centavos. Maior que zero.
main_titlestringobrigatórioTítulo principal exibido no checkout. Não pode ser vazio nem igual a
titleoudescription, ignorando maiúsculas e minúsculas.titlestringobrigatórioTítulo do link ou pedido. Não pode ser vazio nem igual a
main_titleoudescription.descriptionstringobrigatórioDescrição do pagamento. Não pode ser vazia nem igual a
main_titleoutitle.validitystring (ISO 8601)obrigatórioData de expiração. Precisa ser futura. Recomenda-se UTC com sufixo
Z.minimum_number_of_installmentsintegerobrigatórioMenor quantidade de parcelas permitida, de
1a21.maximum_number_of_installmentsintegerobrigatórioMaior quantidade de parcelas permitida, de
1a21. Não pode ser menor que o mínimo.number_of_allowed_salesintegerobrigatórioQuantidade máxima de pagamentos permitidos pelo link. Maior que zero.
is_show_form_addressbooleanobrigatórioQuando
true, pede o endereço no formulário do checkout.is_customer_interestbooleanobrigatórioIndica se os juros do parcelamento ficam com o pagador.
accepted_payments_typearray de integerobrigatórioFormas de pagamento aceitas. Precisa ter ao menos um código válido.
Valores aceitos:
12checkout_itemsobjectopcionalComposição detalhada do valor. Quando enviado, precisa obedecer à regra de fechamento.
Atributos de checkout_items
discountintegerobrigatórioDesconto total em centavos. Maior ou igual a zero.
couponsarrayopcionalCupons que compõem o desconto. A soma dos cupons não pode passar de
discount.Atributos de coupons
namestringobrigatórioNome ou código do cupom.
valueintegerobrigatórioValor do cupom em centavos.
itemsarrayobrigatórioItens que compõem o checkout.
Atributos de items
namestringobrigatórioNome ou descrição do item.
total_valueintegerobrigatórioValor total da linha em centavos. A API soma este campo diretamente, então ele já deve considerar a quantidade.
quantitynumberobrigatórioQuantidade comercial do item. Pode ter casas decimais quando a unidade de venda permitir.
imagestring (URL)obrigatórioURL pública da imagem do item. Recomenda-se HTTPS.
originstring (URL)opcionalURL de origem da criação, por exemplo a página do pedido no sistema integrador. Se preenchida, precisa ser uma URL válida.
segmentstringopcionalSegmento ou contexto comercial informado pelo integrador, por exemplo
ecommerceoumarketing.
Corpo da requisição
{
"value": 15000,
"main_title": "Pagamento do pedido 12345",
"title": "Pedido 12345",
"description": "Pagamento referente aos produtos do pedido 12345",
"validity": "2027-04-03T23:59:59Z",
"minimum_number_of_installments": 1,
"maximum_number_of_installments": 3,
"number_of_allowed_sales": 1,
"is_show_form_address": true,
"is_customer_interest": false,
"accepted_payments_type": [
1,
2
],
"checkout_items": {
"discount": 1000,
"coupons": [
{
"name": "PROMO10",
"value": 1000
}
],
"items": [
{
"name": "Produto A",
"total_value": 10000,
"quantity": 1,
"image": "https://integrador.exemplo.com/assets/produto-a.png"
},
{
"name": "Produto B",
"total_value": 6000,
"quantity": 2,
"image": "https://integrador.exemplo.com/assets/produto-b.png"
}
]
},
"origin": "https://integrador.exemplo.com/pedidos/12345",
"segment": "ecommerce"
}No exemplo: R$ 100,00 + R$ 60,00 - R$ 10,00 = R$ 150,00, por isso a composição de checkout_items corresponde a value: 15000.
Requisição
# link.json: o corpo da requisição mostrado acima
curl --request POST \
--url 'https://api.mygateway.com.br/payments/v1/checkout' \
--header 'Authorization: TOKEN_DE_AUTENTICACAO' \
--header 'x-api-key: SUA_API_KEY' \
--header 'Content-Type: application/json' \
--data @link.json// payload: o corpo da requisição mostrado acima
const response = await fetch("https://api.mygateway.com.br/payments/v1/checkout", {
method: "POST",
headers: {
Authorization: token,
"x-api-key": process.env.MYGATEWAY_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify(payload),
});
const result = await response.json();<?php
// $payload: o corpo da requisição mostrado acima
$ch = curl_init('https://api.mygateway.com.br/payments/v1/checkout');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: ' . $token,
'x-api-key: ' . getenv('MYGATEWAY_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);import os
import requests
# payload: o corpo da requisição mostrado acima
response = requests.post(
"https://api.mygateway.com.br/payments/v1/checkout",
headers={
"Authorization": token,
"x-api-key": os.environ["MYGATEWAY_API_KEY"],
},
json=payload,
)
result = response.json()Respostas
Link criado.
JSON
{
"data": {
"id": "f4d8488c-aed0-4828-8b46-723ab7249f08",
"link": "https://checkout.mygateway.com.br/AbC123xYz789"
}
}Payload inválido, regra de negócio não atendida, UUID vazio ou inválido, ou registro não localizado. Veja Erros.
ValidationError
{
"notificationErrors": {
"error": {
"errors": [
{
"propertyName": "Value",
"propertyErrors": [
"O valor informado não pode ser igual ou menor que zero"
]
}
]
}
},
"errorTypeDescription": "ValidationError",
"errorType": 1
}Token ausente, inválido, expirado ou sem autorização.
JSON
{
"errorId": "identificador-para-suporte",
"message": "Não autorizado",
"encryptdetail": "detalhe-tecnico",
"timestamp": "2026-10-29T17:40:00Z",
"ip": "203.0.113.10"
}Atributos da resposta
data.idUUIDobrigatórioIdentificador do link. Use-o como
payment-link-idnas consultas.data.linkstring (URL)obrigatórioURL que deve ser aberta ou compartilhada com o pagador.
Formas de pagamento aceitas#
| Código enviado | Nome retornado | Descrição |
|---|---|---|
1 | PIX | Pagamento instantâneo via PIX. |
2 | Credit | Cartão de crédito. |
O valor 0 (None) não é aceito. A API também entende os nomes do enum sem diferenciar maiúsculas de minúsculas, mas o contrato recomendado para a criação são os códigos numéricos.
Itens, cupons e desconto#
O objeto checkout_items é opcional e detalha como o valor do link é composto. Quando ele é enviado, a soma dos itens menos o desconto precisa ser exatamente igual a value:
Regra de fechamento
soma(items[*].total_value) - checkout_items.discount = value- A soma dos valores dos cupons não pode ultrapassar
discount. total_valueé o valor total da linha, já considerando a quantidade.- Todos os valores de
checkout_itemssão em centavos.
Última atualização em