# Carteira transfersmile

Como usar a Carteira transfersmile para enviar um Payout

# Ambientes

Ambiente API
sandbox https://sandbox.transfersmile.com/api/payout
produção https://api.transfersmile.com/api/payout

# Método HTTP

POST

# HTTP Cabeçalho

Cabeçalho Tipo Obrigatório Descrição
Content-Type String sim application/json; charset=UTF-8
AppId String sim Seu App ID na plataforma de payout
Authorization String sim SHA256($sorted_params + $app_key)

# HTTP Body(Somente JSON Suportado)

Parâmetro Tipo Obrigatório Descrição
name String não Nome do beneficiário Min.5 Max.100
phone String não Beneficiary's phone - Max.15 -
email String não Beneficiary's email
account String Sim transfersmile Wallet account
account_type String Sim Valor fixo: UUID
method String Sim Valor fixo: WALLET
channel String Sim Valor fixo: transfersmile
amount Numeric String Sim Montante payout - Min 0.01, Max 50,000 -
amount_type String não Especificar o montante do valor é fixo para o comerciante ou beneficiário: source_amount, arrival_amount(default)
fee_bear String Sim Uma das [beneficiary
custom_code String Sim ID do pedido do comerciante - Max.50 -
source_currency String Sim Moeda da conta do comerciante, suportada: USD, GBP, EUR
arrival_currency String Sim Moeda da conta do beneficiário, BRL or MXN
notify_url String Sim Onde a transfersmile vai fazer o callback para
additional_remark String Sim Observação adicional de Payout, Max length: 40
country String Sim Código do país, BRA or MEX

# Exemplo de solicitação

// test demo by curl
curl --location --request POST 'https://sandbox.transfersmile.com/api/payout' \
--header 'AppId: 94FAC**********************68548' \
--header 'Authorization: d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302' \
--header 'Content-Type: application/json' \
--data-raw '{
      "name": "Alan **** **** Santana",
      "email": "[email protected]",
    * "account": "f341************************0844",
    * "account_type": "UUID",
    * "amount": "10.00",
    * "source_currency": "USD",
    * "arrival_currency": "BRL",
    * "custom_code": "custom_code_pwallet_10010", // merchant order id
    * "fee_bear": "merchant",
    * "method": "WALLET",
    * "channel": "transfersmile",
    * "notify_url": "https://sandbox.transfersmile.com/api/notify/demo",
    * "additional_remark": "Pagsmaile wallet test",
    * "country": "BRA"
}'

TIP

Importante: 94FAC**********************68548 é o App ID do aplicativo de teste da transfersmile para o ambiente sandbox, e d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302 é o token de autorização associado ao App ID de teste.

# Resposta HTTP

// success
{
    "code": 200,
    "msg": "success",
    "time": 1628580845,
    "data": {
        "id": "TS202108100734054iRiUZFPXfQWB", // transfersmile payout id
        "custom_code": "custom_code9982674851738108", // merchant order id
        "arrival_amount": "100",
        "arrival_currency": "BRL",
        "source_amount": "0.07",
        "source_currency": "USD",
        "status": "IN_PROCESSING"
    }
}
// bad request
{
    "code": 4001000,
    "msg": "invalid parameter",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
// persmission denied
{
    "code": 4004003,
    "msg": "permission denied",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
// balance insufficient
// balance insufficient
{
    "code": 5001102,
    "msg": "balance insufficient",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
// system error
{
    "code": 5001000,
    "msg": "system error",
    "time": 1637224716,
    "data": {
        ... ...
    }
}

# Países suportados

País Código do país Moeda
Brazil BRA BRL
Mexico MEX MXN