# Reembolso

# URL base de solicitação

Ambiente de teste : https://gateway-test.transfersmile.com

Ambiente de prod : https://gateway.transfersmile.com

# EndPoints

/trade/refund

# Cabeçalho de solicitação

Parâmetro Obrigatório Descrição
Content-Type Recomendado Application/json
Authorization sim Basic Base64(app_id:security_key)

# Corpo da solicitação (formato JSON)

Parâmetro Tipo Obrigatório Comprimento máximo(ou valor padrão) Descrição
app_id string sim 32 ID do aplicativo do dashboard
timestamp string sim 19 yyyy-MM-dd HH:mm:ss
trade_no string sim 64 Número transfersmile (NÃO pode estar vazio com out_trade_no ao mesmo tempo)
out_trade_no string sim 64 ID dado pelo comerciante em seu sistema (NÃO pode estar vazio com trade_no ao mesmo tempo)
out_request_no string não 16 número único de solicitação de reembolso (NÃO pode estar vazio ao solicitar um reembolso parcial)
refund_currency string sim 3
refund_amount decimal sim 0.01 ~ 99999999999999.99
refund_reason string não 128
user_info.identify.number string sim 16 ID do usuário
user_info.identify.type string não 16 Tipo de ID do usuário
user_info.name string sim 64 Nome do usuário
user_info.email string sim 64 E-mail do usuário
user_info.phone string não 64 Telefone do usuário
bank_info.bank_id string não 64 ID bancária do usuário para receber reembolso
bank_info.bank_name string não 64 Nome do banco do usuário para receber o reembolso
bank_info.agency string não 64 Agência bancária do usuário para receber o reembolso
bank_info.type string não 64 Tipo de banco do usuário para receber o reembolso
bank_info.number string não 64 Número do banco do usuário para receber reembolso

# Exemplo de Solicitação

curl --location --request POST 'https://gateway.transfersmile.com/trade/refund' \
--header 'Authorization: Basic Base64(appid:security_key)' \
--header 'Content-Type: application/json' \
--data-raw '{
    "app_id": "app_id",
    "content": "content",
    "trade_no": "trade_no",
    "refund_amount": 10,
    "refund_currency": "BRL",
    "out_trade_no": "{{$randomUUID}}",
    "user_info": {
      "identify": {
        "number": "number",
        "type": "type"
      },
        "name": "name",
        "email": "email"
      }
}'

# Resposta Http (formato JSON)

Parâmetro Tipo Descrição
code string Return code
msg string Return msg
sub_code string Return sub code(only error)
sub_msg string Return sub msg(only error)
out_trade_no string
trade_no string
refund_currency string
refund_amount decimal
refund_status string

# Retorno (Sucesso)

{
  "code": "10000",
  "msg": "Success",
  "out_trade_no": "{out_trade_no}",
  "trade_no": "{trade_no}",
  "refund_currency": "{refund_currency}",
  "refund_amount": "{refund_amount}",
  "refund_status": "{refund_status}"
}

# Retorno (Falha)

{
  "code": "40002",
  "msg": "Business Failed",
  "sub_code": "invalid-signature",
  "sub_msg": "invalid signature"
}