# transfersmile Wallet

How to use transfersmile Wallet to submit a payout.

# Environment

Environment API
sandbox https://sandbox.transfersmile.com/api/payout
product https://api.transfersmile.com/api/payout

# HTTP Method

POST

# HTTP Header

Header Type Required Description
Content-Type String Yes application/json; charset=UTF-8
AppId String Yes Your App ID in payout platform
Authorization String Yes SHA256($sorted_params + $app_key)

# HTTP Body(Only JSON Supported)

Parameter Type Required Description
name String No Beneficiary's name
Min.5 Max.100
phone String No Beneficiary's phone
- Max.15 -
email String No Beneficiary's email
account String Yes transfersmile Wallet account
account_type String Yes Fixed Value: UUID
method String Yes Fixed Value: WALLET
channel String Yes Fixed Value: transfersmile
amount Numeric String Yes Payout amount
- Min 0.01, Max 50,000 -
amount_type String No Specify the amount value is fixed for merchant or beneficiary:
source_amount, arrival_amount(default)
fee_bear String Yes One of [beneficiary
custom_code String Yes Merchant's order id
- Max.50 -
source_currency String Yes Merchant's account currency, supported: USD, GBP, EUR
arrival_currency String Yes Beneficiary's account currency, BRL or MXN
notify_url String Yes Where transfersmile will callback to
additional_remark String Yes Payout Additional Remark, Max length: 40
country String Yes Country code, BRA or MEX

# Request Example

// 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

Note: 94FAC**********************68548 is transfersmile's test App ID for
sandbox, and
d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302 is
authorization token associated with the test App ID.

# HTTP Response

// 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": {
        ... ...
    }
}

# Supported Countries

Country Country Code Currency
Brazil BRA BRL
Mexico MEX MXN