Ajustar, reembolsar e congelar
Lança crédito ou débito manual, reembolsa um pedido para a carteira e congela ou descongela.
Toda movimentação fica registrada no extrato e no log de ações do painel, com o administrador que a fez.
Ajustar o saldo
Credita ou debita o saldo com uma justificativa obrigatória. Use type para dar o sentido e envie amount sempre positivo.
/api/v1/admin/wallets/{user_id}/adjustAdminAjuste manual
Parâmetros de caminho
user_iduuidobrigatórioId do cliente dono da carteira.
Corpo da requisição
typestringcreditdebitcredit ou debit. Se omitido, vale o sinal de amount (positivo = crédito, negativo = débito).amountintegerobrigatórioValor em centavos, diferente de zero.
descriptionstringobrigatórioMotivo do ajuste. Obrigatório; fica no extrato.
Exemplo de requisição
Resposta
200Ajuste feito
Campos da resposta
messagestringTexto fixo
wallet adjusted.transactionobjectA transação criada (campos do extrato).
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | Corpo inválido, type desconhecido, amount zero, description vazia, débito acima do saldo ou carteira congelada. | {"error":"description is required for admin adjustments"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não tem manage_wallet nem manage_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_wallet","manage_payments"]} |
| 403 | O módulo digital-wallet está desligado na loja. | {"error":"module_disabled","module":"digital-wallet"} |
| 500 | user_id malformado ou falha interna. | {"error":"failed to adjust wallet","detail":"..."} |
Reembolsar para a carteira
Credita na carteira o valor de um pedido, como reembolso em crédito da loja. A transação fica com reference_type: refund e reference_id igual ao pedido.
/api/v1/admin/wallets/{user_id}/refundAdminReembolsa para a carteira
Parâmetros de caminho
user_iduuidobrigatórioId do cliente dono da carteira.
Corpo da requisição
order_idstringobrigatórioPedido de origem. Fica só como referência.
amountintegerobrigatórioValor em centavos, maior que zero.
Exemplo de requisição
Resposta
200Crédito lançado
Campos da resposta
messagestringrefund credited to wallet.transactionobjectA transação criada.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | order_id ausente, amount não positivo ou carteira congelada. | {"error":"order_id is required"} |
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não tem manage_wallet nem manage_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_wallet","manage_payments"]} |
| 403 | O módulo digital-wallet está desligado na loja. | {"error":"module_disabled","module":"digital-wallet"} |
Congelar
/api/v1/admin/wallets/{user_id}/freezeAdminCongela a carteira
Parâmetros de caminho
user_iduuidobrigatórioId do cliente dono da carteira.
Exemplo de requisição
Resposta
200Congelada
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não tem manage_wallet nem manage_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_wallet","manage_payments"]} |
| 403 | O módulo digital-wallet está desligado na loja. | {"error":"module_disabled","module":"digital-wallet"} |
| 500 | Cliente sem carteira (wallet not found for user ...) ou user_id malformado. | {"error":"failed to freeze wallet","detail":"wallet not found for user ..."} |
Descongelar
/api/v1/admin/wallets/{user_id}/unfreezeAdminDescongela a carteira
Parâmetros de caminho
user_iduuidobrigatórioId do cliente dono da carteira.
Exemplo de requisição
Resposta
200Descongelada
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Sem token ou token inválido. | {"error":"missing authorization header"} |
| 403 | O usuário não tem manage_wallet nem manage_payments. | {"error":"insufficient privileges","privilege_required_any":["manage_wallet","manage_payments"]} |
| 403 | O módulo digital-wallet está desligado na loja. | {"error":"module_disabled","module":"digital-wallet"} |
| 500 | Cliente sem carteira ou user_id malformado. | {"error":"failed to unfreeze wallet","detail":"wallet not found for user ..."} |