Transferências e reconciliação de contratos
Transferências e reconciliação de contratos: Integração Agent Java SDK v0.3.0, exemplos, parâmetros e semântica de resposta.
Este guia é dirigido a Agent Java SDK v0.3.0, Java 8+ e ao contrato público assinalado. Os exemplos são executados num back-end de parceiro após a inicialização de client em Início rápido.
Pré-requisitos de exemplo
Os trechos Java partilham estas importações. Inicialize client utilizando o Quick Start e obtenha platformUserId a partir da ligação guardada. Os exemplos de IDs de utilizador/encomenda devem ser substituídos pelos seus próprios valores persistentes.
Transferência de montante fixo
Utilize transfer para transferências de montante fixo. Direction.IN significa transferir
da plataforma do parceiro para 6MM. Direction.OUT significa transferir de 6MM
de volta à plataforma do parceiro.
Utilize strings ou BigDecimal para os valores. Não utilize double ou float.
Transferir por agentUserId
Transferir por platformUserId
Forneça os dois IDs
Se ambos os IDs forem fornecidos, o serviço validará que apontam para o mesmo utilizador vinculado.
Campos de solicitação:
Campos de resposta:
Confirmação de encomenda e idempotência
Depois de transfer ser chamado, o serviço do Agente chama de forma síncrona a negociação
núcleo no caminho principal. Na maioria dos casos, a resposta API já contém o
resultado do núcleo de negociação síncrono.
Requisitos de idempotência:
- Utilize um
agentOrderNopara uma transação comercial. - Se HTTP expirar ou a rede falhar, consulte primeiro o mesmo
agentOrderNo. - Webhooks pode ser tentado novamente. Desduplica-os por chave de idempotência.
Transferir tudo
transferAllOut move o saldo sacável do lado 6MM do utilizador de volta para o
plataforma parceira.
Por platformUserId:
amount na resposta é o valor real transferido.
Ordem inversa
O reverso é utilizado para compensar uma ordem de transferência bem-sucedida quando o back-end suporta o fluxo reverso. Os casos típicos incluem exceções de pedidos locais de parceiros ou reversão de reconciliação manual.
Campos:
Notas:
- A reversão não é uma operação normal de cancelamento.
- As ordens inversas também devem ser idempotentes por número de ordem.
- Depois de um pedido original ser revertido, webhook poderá empurrar o pedido original
REVERSEDestado final.
Ordem de consulta
Valores orderType suportados:
TRANSFER_INTRANSFER_OUT
Campos de resposta comuns:
Listar pedidos
Recomendações de paginação:
pagecomeça em 1.- Mantenha
pageSizeigual ou inferior a 100. - Para trabalhos de reconciliação, paginar por intervalo de tempo e desduplicar até
orderNo.
Fonte e guias relacionados
- Fonte oficial v0.3.0
- Visão geral da consulta e paginação
- Carteira de financiamento
- Guia de atualização
Retornos de chamada de eventos de fundos
transfer.completed pode conter SUCCESS, FAILED ou uma atualização de encomenda original de REVERSED; reverse.completed é um evento terminal de ordem de reversão. transfer.dead significa que o estado final permanece não confirmado após novas tentativas e necessita de reconciliação manual, e não de uma falha confirmada. O nome do evento por si só não prova que os fundos foram creditados.
O reconhecimento bem-sucedido é diferente da movimentação bem-sucedida de fundos: após o registo de uma notificação targetStatus=FAILED válida, devolva também HTTP 2xx. Persistir à desduplicação de eventos de fundos por orderType:orderId:targetStatus no âmbito do comerciante e environment.
Campos de evento e exemplos JSON · Verificação de assinaturas, respostas e novas tentativas