Before creating a payout order

  1. GET /supported-currencies\ - Fetch list of all supported currencies enabled for your MID.
curl --request GET \
     --url 'https://sandbox-api.transfi.com/v2/supported-currencies?direction=withdraw&page=1&limit=5' \
     --header 'MID: ABCDEF_NA_NA' \
     --header 'accept: application/json' \
     --header 'authorization: Basic dHJhbnNmaV9xY'
{
  "status": "success",
  "total": 25,
  "pages": 5,
  "data": [
    {
      "currency": "ARS",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/ars.svg",
      "decimalPrecision": 2
    },
    {
      "currency": "AUD",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/aud.svg",
      "decimalPrecision": 2
    },
    {
      "currency": "BDT",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/bdt.svg",
      "decimalPrecision": 2
    },
    {
      "currency": "BRL",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/brl.svg",
      "decimalPrecision": 2
    },
    {
      "currency": "CAD",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/cad.svg",
      "decimalPrecision": 2
    }
  ]
}

  1. GET /payment-methods- Fetch list of all supported payment methods enabled for your MID.
curl --request GET \
     --url 'https://sandbox-api.transfi.com/v2/payment-methods?currency=PHP&limit=5&page=1&direction=withdraw&headlessMode=false&userType=individual' \
     --header 'MID: ABCDEF_NA_NA' \
     --header 'accept: application/json' \
     --header 'authorization: Basic dHJhbnNmaV9xY'
{
  "status": "success",
  "total": 3,
  "pages": 1,
  "paymentMethods": [
    {
      "paymentCode": "ph_abp",
      "name": "Allbank Inc",
      "minAmount": 1,
      "maxAmount": 2000000,
      "logoUrl": "https://common-payment-methods-logo.s3.ap-southeast-1.amazonaws.com/bank_transfer.svg",
      "paymentType": "bank_transfer",
      "additionalDetails": {
        "accountNumber": {
          "type": "string",
          "min": 10,
          "max": 14,
          "pattern": "^\\d{10,14}$"
        }
      }
    },
    {
      "paymentCode": "ph_asb",
      "name": "Asenso Bank",
      "minAmount": 1,
      "maxAmount": 2000000,
      "logoUrl": "https://common-payment-methods-logo.s3.ap-southeast-1.amazonaws.com/bank_transfer.svg",
      "paymentType": "bank_transfer",
      "additionalDetails": {
        "accountNumber": {
          "type": "string",
          "min": 10,
          "max": 14,
          "pattern": "^\\d{10,14}$"
        }
      }
    },
    {
      "paymentCode": "ph_aub",
      "name": "Asia United Bank Aub",
      "minAmount": 1,
      "maxAmount": 2000000,
      "logoUrl": "https://common-payment-methods-logo.s3.ap-southeast-1.amazonaws.com/bank_transfer.svg",
      "paymentType": "bank_transfer",
      "additionalDetails": {
        "accountNumber": {
          "type": "string",
          "min": 10,
          "max": 14,
          "pattern": "^\\d{10,14}$"
        }
      }
    }
  ]
}

  1. GET /exchange-rates/withdraw - Fetch the exchange rate for the payin fiat currency equivalent to stable currency (USDT/USDC) using this
curl --request GET \
     --url 'https://sandbox-api.transfi.com/v2/exchange-rates/withdraw?amount=100&currency=EUR&paymentCode=sepa_bank&direction=forward&balanceCurrency=USDC' \
     --header 'MID: ABCDEF_NA_NA' \
     --header 'accept: application/json' \
     --header 'authorization: Basic dHJhbnNmaV9xY'
{
  "status": "success",
  "data": {
    "fiatTicker": "EUR",
    "fiatAmount": 100,
    "depositAmount": 116.770884,
    "exchangeRate": 0.85638,
    "quoteId": "4d89e656-8536-43a1-8df9-494d68503425",
    "fees": {
      "processingFee": 0,
      "partnerFee": 0,
      "totalFee": 0
    }
  }
}

  1. POST /users/individual or POST /users/business Create new recipient either Business or Individual.
curl --request POST \
     --url https://sandbox-api.transfi.com/v2/users/business \
     --header 'MID: ABCDEF_NA_NA' \
     --header 'accept: application/json' \
     --header 'authorization: Basic dHJhbnNmaV9xYTpzb21lX3Bhc3N3b3Jk' \
     --header 'content-type: application/json' \
     --data '
{
  "address": {
    "city": "Los Angeles",
    "postalCode": "90001",
    "state": "CA",
    "street": "456 Elm St"
  },
  "email": "[email protected]",
  "businessName": "Tech Solutions LLC",
  "country": "US",
  "regNo": "987654321",
  "date": "20-01-2001",
  "phone": "551234567"
}
'
curl --request POST \
     --url https://sandbox-api.transfi.com/v2/users/individual \
     --header 'accept: application/json' \
     --header 'authorization: Basic YXNkZjo=' \
     --header 'MID: ABCDEF_NA_NA' \
     --header 'content-type: application/json' \
     --data '
{
  "email": "[email protected]",
  "firstName": "John",
  "lastName": "Doe",
  "date": "20-01-1992",
  "country": "US",
  "gender": "male",
  "phone": "123412340"
}
'

  1. Add prefunding to your account

    There are three ways to source prefunding for creating your payout

    • Dedicated pre-funding wallet/account authorised to create payouts only. This will be provided during time of onboarding.
    • Source pre funding from the balance of any unsettled payin orders. This needs to be pre-agreed and will be configured in your settings.
    • Prefunding API - Crypto Prefunding