Cria uma sessão de checkout
/v1/checkouts/sessionsAutentique com o header SelectKey: a chave sk_test_ opera no sandbox, a sk_live_ em produção. Como autenticar.
Corpo da requisição
utmobjectAtribuição de marketing (
source,medium,campaign,content,term). Capturada uma vez; imutável na atualização.itemsobject[]O carrinho: um objeto por linha (
idda variante,quantity…). Validado contra o seu catálogo quando a sessão é enviada para pagamento.clientobjectDados do cliente, incluindo a UTM da primeira visita (JSON livre; imutável depois da primeira inicialização).
sourcestringDe onde a sessão veio (texto livre, até 20 caracteres).
addressobjectO endereço, como preenchido até agora (JSON livre).
ambientstringAceito por compatibilidade; o ambiente vem sempre da sua credencial.
Valores:livesandboxcookiesobjectCookies de rastreio do comprador, pelo nome do cookie (
_fbp,_fbc,_ga,gclid…), para a atribuição dos pixels.couponsum de[]Cupons aplicados: códigos, ou objetos com
code.customerobjectO comprador, como preenchido até agora (JSON livre).
languagestringIdioma do comprador (ex.:
pt-BR).metadataobjectOs seus metadados chave-valor.
timezonestringFuso horário do comprador (ex.:
America/Sao_Paulo).totalTaxintegerTotal de impostos, em centavos.
expiresAtstring (date-time)Quando a sessão expira; derivado das suas configurações quando omitido.
lineItemsobject[]Apelido de
items.onBehalfOfstringMarketplace: a cobrança que esta sessão liquida é feita NA sub-conta sua indicada (ela passa a ser a vendedora de registro); a sua taxa de plataforma é recolhida como split.
totalAmountintegerTotal do carrinho, em centavos.
redirectUrlsobjectPara onde o comprador é enviado depois do pagamento, por desfecho (
paid,refused,pending): URLshttps://; vazio ounull= não definido.integrationIdstringId público dessa integração.
totalDiscountintegerTotal de desconto, em centavos.
totalShippingintegerTotal do frete, em centavos.
paymentMethodsum de[]Meios de pagamento oferecidos nesta sessão.
integrationTypestringTipo da integração a que a sessão pertence (ex.:
woocommerce).shippingDeliveryobjectA opção de frete escolhida (JSON livre).
externalTransactionIdstringO id do seu pedido para esta sessão.
Respostas
201Criado
idstringobrigatórioIdentificador público (sess_/ckts_/ses_…)
urlstringobrigatóriopode ser nuloURL do checkout hospedado desta sessão;
nullquando não há.utmobjectobrigatóriopode ser nuloAtribuição de marketing;
nullquando não há.objectstringobrigatórioSempre
checkout.session.Valores:checkout.sessiononlinebooleanobrigatórioSe o comprador está no checkout agora (um sinal recente da página).
sourcestringobrigatóriopode ser nuloDe onde a sessão veio;
nullquando desconhecido.statusstringobrigatórioactive(o comprador está no checkout),completed(pago),cancelled,abandonedouexpired.Valores:activecompletedcancelledabandonedexpiredtotalsobjectobrigatórioOs totais do carrinho; todos
nullquando nunca foi precificado.+4 campos de
totalstaxintegerobrigatóriopode ser nuloTotal de impostos, em centavos.
amountintegerobrigatóriopode ser nuloTotal do carrinho, em centavos;
nullquando o carrinho nunca foi precificado.discountintegerobrigatóriopode ser nuloTotal de desconto, em centavos.
shippingintegerobrigatóriopode ser nuloTotal do frete, em centavos.
addressobjectobrigatóriopode ser nuloO endereço, como preenchido;
nullquando ainda não há nada.ambientstringobrigatórioAmbiente:
liveousandbox.cookiesobjectobrigatóriopode ser nuloCookies de rastreio do comprador, pelo nome do cookie;
nullquando não há.couponsobject[]obrigatórioCupons aplicados.
+3 campos de
couponscodestringobrigatóriopode ser nuloCódigo do cupom.
typestringobrigatóriopode ser nuloflatoupercentage.valuenumberobrigatóriopode ser nuloO valor do desconto.
currencystringobrigatórioSempre
BRL.Valores:BRLcustomerobjectobrigatóriopode ser nuloO comprador, como preenchido;
nullquando ainda não há nada.metadataobjectobrigatóriopode ser nuloOs seus metadados chave-valor;
nullquando não há.createdAtstringobrigatórioQuando o recurso foi criado (ISO 8601, UTC).
expiresAtstringobrigatóriopode ser nuloQuando a sessão expira.
lineItemsobject[]obrigatórioO carrinho.
+9 campos de
lineItemsidstringobrigatóriopode ser nuloA variante do catálogo;
nullnum item avulso.namestringobrigatóriopode ser nuloNome do item.
currencystringobrigatórioMoeda (ISO 4217).
isUpsellbooleanobrigatórioSe o item foi adicionado por uma oferta de upsell.
metadataobjectobrigatóriopode ser nuloOs seus metadados chave-valor do item;
nullquando não há.quantityintegerobrigatórioQuantidade.
unitPricenumberobrigatóriopode ser nuloPreço unitário, em centavos;
nullquando ainda não precificado.isOrderbumpbooleanobrigatórioSe o item foi adicionado por um order bump.
externalReferencestringobrigatóriopode ser nuloO seu próprio identificador do item;
nullquando não há.
updatedAtstringobrigatórioQuando o recurso foi atualizado pela última vez (ISO 8601, UTC).
customInputsanyobrigatóriopode ser nuloSempre
null.Valores:nullredirectUrlsobjectobrigatórioPara onde o comprador é enviado depois do pagamento, por desfecho.
+3 campos de
redirectUrlspaidstringobrigatóriopode ser nuloPara onde o comprador vai depois de um pedido pago.
pendingstringobrigatóriopode ser nuloPara onde o comprador vai enquanto o pagamento está pendente.
refusedstringobrigatóriopode ser nuloPara onde o comprador vai depois de uma recusa.
integrationIdstringobrigatóriopode ser nuloId público dessa integração;
nullquando não há.paymentMethodsum de[]obrigatórioMeios de pagamento oferecidos.
integrationTypestringobrigatóriopode ser nuloTipo da integração a que a sessão pertence;
nullquando não há.paymentSelectionobjectobrigatóriopode ser nuloO meio de pagamento que o comprador escolheu;
nullaté lá.+1 campo de
paymentSelectionmethodstringobrigatórioO meio escolhido.
firstInitializationbooleanobrigatórioSe é a primeira vez que a sessão foi inicializada.
externalTransactionIdstringobrigatóriopode ser nuloO id do seu pedido;
nullquando não há.
400Requisição inválida (validação)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
401Não autenticado (credencial ausente ou inválida)
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
403Sem permissão
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório
500Erro interno do servidor
errorobjectobrigatório+8 campos de
errorcodestringobrigatórioparamsobject[]statusstringobrigatóriodetailsstringmessagestringobrigatóriocategorystringobrigatórioValores:validationauthenticationauthorizationpaymentclientserverrate_limitpendingresourcestringobrigatóriostatusCodeintegerobrigatório