Formas de pagamento do seller
Cria e mantém as formas de pagamento que o seller oferece para os próprios produtos.
Algumas lojas deixam cada seller decidir como quer receber: um aceita PIX, outro só boleto faturado para empresas. Estas rotas gerenciam essas formas. Elas são aplicadas no checkout pelos itens do seller; as formas globais da loja continuam sendo do administrador.
Listar formas de pagamento
Uma forma de pagamento é uma opção do checkout (PIX, boleto, cartão, boleto faturado...). O seller pode ter as suas, oferecidas só para os itens dele; as da loja inteira são do administrador e não aparecem aqui. Lista as do seller por ordem de position.
/api/v1/vendor/payment-methodsSellerFormas de pagamento próprias do seller
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/payment-methods" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"methods": [
{
"id": "0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21",
"display_id": 47,
"name": "PIX da Loja",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "A",
"uses_credit_limit": false,
"payment_period_days": 0,
"uses_supplier_credit_limit": false,
"payment_code": "pix",
"config": {},
"position": 1,
"created_at": "2026-10-01T12:00:00Z",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"min_order_amount": 1000,
"surcharge_fixed": 0,
"surcharge_percent": 0
}
],
"total": 1
}Campos da resposta
methodsobject[]Formas de pagamento.
iduuiddisplay_idintegernamestringcodestringpix, boleto, credit_card...), igual a payment_code. Não é o slug técnico.processor_typestringonlineofflineinvoicedgatewaystringpagarme, pix, offline...).providerstringstatusstringADA ativa, D inativa.uses_credit_limitbooleanuses_supplier_credit_limitbooleanpayment_period_daysintegerinternal_code_1stringinternal_code_2stringpayment_codestringconfigobjectinvoiced carrega installment_plans.positionintegercreated_atstringvendor_iduuidmin_order_amountintegermax_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]SP, RJ...). Omitido = todas.surcharge_fixedintegersurcharge_percentinteger250 = 2,5%).totalintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios de configurações (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Criar forma de pagamento
Cria uma forma de pagamento do seller. O vendor_id do corpo é ignorado e o slug é gerado pela plataforma (não é aceito). Em carrinhos com itens de um único seller o checkout oferece as formas dele mais as da loja; com vários sellers, só as da loja.
/api/v1/vendor/payment-methodsSellerCriar uma forma de pagamento
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Content-Typestringobrigatórioapplication/json.Corpo da requisição
namestringobrigatórioproviderstringobrigatóriopix, boleto, credit_card, offline. Não pode ser alterado depois.processor_typestringpadrão: onlineonlineofflineinvoicedinvoiced é o Boleto Faturado e exige config.installment_plans válido.gatewaystringoffline e invoiced, se omitido, vira o próprio processor_type.statusstringpadrão: activeactiveinactiveconfigobjectinvoiced: installment_plans (lista de planos com name, installments, terms_days, enabled, surcharge_percent, code_1, code_2).positionintegermin_order_amountintegermax_order_amount.max_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]surcharge_fixedintegersurcharge_percentintegerinternal_code_1stringinternal_code_2stringpayment_period_daysintegeruses_credit_limitbooleanuses_supplier_credit_limitbooleanExemplo de requisição
curl -X POST "$BASE_URL/api/v1/vendor/payment-methods" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "PIX da Loja",
"provider": "pix",
"processor_type": "online",
"gateway": "pix",
"position": 1,
"min_order_amount": 1000
}'Resposta
{
"id": "0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21",
"display_id": 47,
"name": "PIX da Loja",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "A",
"uses_credit_limit": false,
"payment_period_days": 0,
"uses_supplier_credit_limit": false,
"payment_code": "pix",
"config": {},
"position": 1,
"created_at": "2026-10-01T12:00:00Z",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"min_order_amount": 1000,
"surcharge_fixed": 0,
"surcharge_percent": 0
}Campos da resposta
iduuiddisplay_idintegernamestringcodestringpix, boleto, credit_card...), igual a payment_code. Não é o slug técnico.processor_typestringonlineofflineinvoicedgatewaystringpagarme, pix, offline...).providerstringstatusstringADA ativa, D inativa.uses_credit_limitbooleanuses_supplier_credit_limitbooleanpayment_period_daysintegerinternal_code_1stringinternal_code_2stringpayment_codestringconfigobjectinvoiced carrega installment_plans.positionintegercreated_atstringvendor_iduuidmin_order_amountintegermax_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]SP, RJ...). Omitido = todas.surcharge_fixedintegersurcharge_percentinteger250 = 2,5%).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | name ou provider ausentes. | {"error":"name is required"} |
| 400 | min_order_amount maior que max_order_amount. | {"error":"payment method: min_order_amount must be ≤ max_order_amount"} |
| 400 | Plano de parcelas inválido em um método invoiced. | {"error":"invalid_installment_plan","code":"admin.payments.invoiced.invalidPlan"} |
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios de configurações (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Ver forma de pagamento
Devolve uma forma de pagamento do seller.
/api/v1/vendor/payment-methods/{id}SellerDetalhe de uma forma de pagamento
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl "$BASE_URL/api/v1/vendor/payment-methods/0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21",
"display_id": 47,
"name": "PIX da Loja",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "A",
"uses_credit_limit": false,
"payment_period_days": 0,
"uses_supplier_credit_limit": false,
"payment_code": "pix",
"config": {},
"position": 1,
"created_at": "2026-10-01T12:00:00Z",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"min_order_amount": 1000,
"surcharge_fixed": 0,
"surcharge_percent": 0
}Campos da resposta
iduuiddisplay_idintegernamestringcodestringpix, boleto, credit_card...), igual a payment_code. Não é o slug técnico.processor_typestringonlineofflineinvoicedgatewaystringpagarme, pix, offline...).providerstringstatusstringADA ativa, D inativa.uses_credit_limitbooleanuses_supplier_credit_limitbooleanpayment_period_daysintegerinternal_code_1stringinternal_code_2stringpayment_codestringconfigobjectinvoiced carrega installment_plans.positionintegercreated_atstringvendor_iduuidmin_order_amountintegermax_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]SP, RJ...). Omitido = todas.surcharge_fixedintegersurcharge_percentinteger250 = 2,5%).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 404 | A forma de pagamento não existe ou não é do seller. | {"error":"payment method not found"} |
| 500 | id não é um UUID válido (hoje 500). | {"error":"failed to get payment method","detail":"o valor \"xyz\" não é um uuid válido..."} |
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios de configurações (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Atualizar forma de pagamento
Altera só os campos enviados. Listas (allowed_*, blocked_*) enviadas vazias limpam a restrição. O provider não muda depois de criado.
/api/v1/vendor/payment-methods/{id}SellerAlterar uma forma de pagamento
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Content-Typestringobrigatórioapplication/json.Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
namestringprocessor_typestringonlineofflineinvoicedinvoiced é o Boleto Faturado e exige config.installment_plans válido.gatewaystringoffline e invoiced, se omitido, vira o próprio processor_type.statusstringactiveinactiveconfigobjectinvoiced: installment_plans (lista de planos com name, installments, terms_days, enabled, surcharge_percent, code_1, code_2).positionintegermin_order_amountintegermax_order_amount.max_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]surcharge_fixedintegersurcharge_percentintegerinternal_code_1stringinternal_code_2stringpayment_period_daysintegeruses_credit_limitbooleanuses_supplier_credit_limitbooleanExemplo de requisição
curl -X PUT "$BASE_URL/api/v1/vendor/payment-methods/0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "inactive"
}'Resposta
{
"id": "0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21",
"display_id": 47,
"name": "PIX da Loja",
"code": "pix",
"processor_type": "online",
"gateway": "pix",
"provider": "pix",
"status": "D",
"uses_credit_limit": false,
"payment_period_days": 0,
"uses_supplier_credit_limit": false,
"payment_code": "pix",
"config": {},
"position": 1,
"created_at": "2026-10-01T12:00:00Z",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"min_order_amount": 1000,
"surcharge_fixed": 0,
"surcharge_percent": 0
}Campos da resposta
iduuiddisplay_idintegernamestringcodestringpix, boleto, credit_card...), igual a payment_code. Não é o slug técnico.processor_typestringonlineofflineinvoicedgatewaystringpagarme, pix, offline...).providerstringstatusstringADA ativa, D inativa.uses_credit_limitbooleanuses_supplier_credit_limitbooleanpayment_period_daysintegerinternal_code_1stringinternal_code_2stringpayment_codestringconfigobjectinvoiced carrega installment_plans.positionintegercreated_atstringvendor_iduuidmin_order_amountintegermax_order_amountintegerallowed_user_groupsstring[]blocked_user_groupsstring[]allowed_shipping_methodsstring[]allowed_statesstring[]SP, RJ...). Omitido = todas.surcharge_fixedintegersurcharge_percentinteger250 = 2,5%).Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | min_order_amount maior que max_order_amount. | {"error":"payment method: min_order_amount must be ≤ max_order_amount"} |
| 400 | Plano de parcelas inválido em um método invoiced. | {"error":"invalid_installment_plan","code":"admin.payments.invoiced.invalidPlan"} |
| 404 | A forma de pagamento não existe ou não é do seller. | {"error":"payment method not found"} |
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios de configurações (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Excluir forma de pagamento
Remove a forma de pagamento do seller. Para só tirar do checkout, use PUT com status: "inactive".
/api/v1/vendor/payment-methods/{id}SellerExcluir uma forma de pagamento
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X DELETE "$BASE_URL/api/v1/vendor/payment-methods/0b7f7a58-0f3e-4b5c-9a7c-3c2a8e6f1d21" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"message": "payment method deleted"
}Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 404 | A forma de pagamento não existe ou não é do seller. | {"error":"payment method not found"} |
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios de configurações (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_settings","vendor_view_settings"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |