Made for Developers

Users
Accounts
Beneficiaries
Transfers

javascript

First create a user on Routefusion, and submit compliance data


const rf = require('routefusion-sdk').Instance();

let body = {
  first_name: "Mike",
  last_name: "Jones",
  email: "whoismike@jones.com",
  country: "US",
  state_province: "TX",
  city: "Houston",
  street_address: "1546 Madison Ave.",
  postal_code: "77003",
  currency: "USD",
  type: "personal",
  currency: "USD",
  default_funding_method: "push"
};

rf.createUser(body)
  .then(resp => resp)
  .catch(err => err)

let subUserUUID = "60642929-9b29-4713-ab23-10da2db8a6a6";

let complianceBody = {
  "legal_name": "Wicky Wacky Inflatable Arm Co.",
  "description": "we sell wacky inflatable arm balloons!",
  "agreed_to_terms": true
  ...
}

rf.submitComplianceData(subUserUUID, complianceBody)
  .then(resp => resp)
  .catch(err => err)

The above command returns JSON structured like this:


{
    "uuid": "60642929-9b29-4713-ab23-10da2db8a6a6",
    "first_name": "Mike",
    "last_name": "Jones",
    "email": "whoismike@jones.com",
    "phone_number": null,
    "type": "personal",
    "verification_submitted": false,
    "company_name": null,
    "created_at": "2020-04-26T21:54:06.806Z",
    "updated_at": null,
    "country": "US",
    "state_province": "TX",
    "street_address": "1546 Madison Ave.",
    "city": "Houston",
    "postal_code": "77003",
    "status_history": [
        {
        "status": "created",
        "created_at": "2020-04-26T21:54:06.802Z"
        }
    ],
    "status": "created",
    "verified": false,
    "default_funding_method": 'push',
    "currency": "USD",
    "identification_type": null,
    "identification_value": null
}

javascript

Then link an account to the user.


const rf = require('routefusion-sdk').Instance();

let subUserUUID = "60642929-9b29-4713-ab23-10da2db8a6a6"

let body = {
  name_on_account: "Mike Jones Bank of America Account",
  account_number: "12439232",
  routing_number: "000101001",
  currency: "USD",
  bank_country: "US",
  bank_name: "Bank Of America",
  bank_address: "5252 Madison Ave."
};

rf.createUserAccount(subUserUUID, body)
  .then(resp => resp)
  .catch(err => err)

The above returns JSON structured like this:


json { "uuid": "d48cb8b3-8945-4748-9bed-kd3d9vc15m" }

javascript

Now create a beneficiary for whom to send money to.


const rf = require('routefusion-sdk').Instance();

let subUserUUID = "60642929-9b29-4713-ab23-10da2db8a6a6"

let body = {
  company_name: "beneficiaryCompanyName",
  first_name_on_account: "companyOwnerFirstName",
  last_name_on_account: "companyOwnerLastName",
  type: "business",
  currency: "USD",
  bank_name: "Citibank",
  branch_name: "",
  bank_address1: "5252 Madison Ave."
  bank_city: "New York City",
  bank_state_province: "New York",
  bank_postal_code: "00000",
  bank_country: "US", // 2 letter code
  swift_bic: "CITIUS33", // 8 or 11 character code
  account_type: "business",
  account_number: "2315345432",
  routing_number: "113193532",
  email: "company@email.com",
  phone_number: "",
  address1: "beneficiaryAddress",
  city: "beneficiaryCity",
  state_province: "beneficiaryStateOrProvince",
  postal_code: "00000",
  country: "US" // 2 letter code
};

rf.createUserBeneficiary(subUserUUID, body)
  .then(resp => resp)
  .catch(err => err)

The above command returns JSON structured like this:


{
  "id": 414,
  "uuid": "b384af3b-3e61-476a-aee6-1c44cb42a605",
  "user_id": 2,
  "company_name": "beneficiaryCompany",
  "first_name_on_account": "companyOwnerFirstName",
  "last_name_on_account": "companyOwnerLastName",
  "type": "business",
  "bank_name": "Citibank",
  "branch_name": null,
  "bank_city": "New York City",
  "bank_code": null,
  "branch_code": null,
  "account_type": "business",
  "account_number": "2315345432",
  "routing_number": "113193532",
  "clabe": null,
  "tax_number": null,
  "email": "company@email.com",
  "phone_number": null,
  "country": "US",
  "city": "beneficiaryCity",
  "bank_state_province": "New York",
  "verified": false,
  "created_at": "2019-05-08T18:16:30.614Z",
  "updated_at": null,
  "currency": "USD",
  "cpfcnpj": null,
  "swift_bic": "CITIUS33",
  "bank_address1": "5252 Madison Ave.",
  "bank_address2": null,
  "bank_country": "US",
  "bank_postal_code": "00000",
  "address1": "beneficiaryAddress",
  "address2": null,
  "state_province": "beneficiaryStateOrProvince",
  "postal_code": "00000",
  "bsb_number": null
}

javascript

Finally create your transfer! Its that easy 😀


const rf = require('routefusion-sdk').Instance();

let body = {
  beneficiary_id: 414,
  source_amount: 1000,
  auto_complete: true
}

rf.createSubUserTransfer(body)
  .then(resp => resp)
  .catch(err => err)

The above returns JSON structured like this:


{
  "user_id": 1,
  "account_id": null,
  "beneficiary_id": 5,
  "source_amount": "1000",
  "exchange_rate": "20.2086715",
  "reference": "my reference",
  "purpose_of_payment": null,
  "fee": "7.500",
  "payment_method": "swift",
  "currency_pairs": "USDMXN",
  "created_at": "2018-12-11T18:27:02.038Z",
  "updated_at": null,
  "uuid": "37cba64b-1a22-4732-be22-04826da09405",
  "state": "created",
  "authorizing_ip": "63.65.120.22",
  "transfer_states": [
    {
      "state": "created",
      "created_at": "2018-12-11T18:27:01.876Z"
    }
  ],
  "source_currency": "USD",
  "destination_amount": "9952.77",
  "destination_currency": "MXN",
  "deposit": false
}

Why Routefusion

Routefusion gets you access to a network of over 7+ banking and FX partners.

Routefusion's easy onboarding allows you to immediately connect with multiple banking, FX, and local payout partners around the globe, ensuring that all of your requirements are met. No more sales processes, no more NDA's signed, and no more miserable developer docs to sort through! We are a one-stop-shop for all of your international payment needs.

We’ve got you covered

Developers

Routefusion was built by and for software engineers. We pride ourselves on having the best documentation.

Founders

You dont have time to spend 6+ months finding a banking or payouts partner that will not scale with you.

Product Owners

Dont worry about how you are going to build, just worry about what you are going to build. We will take care of the rest.

A powerful feature set

Global Mass Payouts

Whether you are a payroll company, marketplace, platform, or bank, you can use Routefusion to send your payouts and distributions from any country to any country all over the world.

Local Payment Rails

Use Routefusion for your ACH, SPEI, SEPA, or any other local payout method around the globe.

Accept Pay-ins

Accept pay-ins in 45+ countries around the globe.

SWIFT Wires

Do you need traceability, receipts, and accountability for your large customer or business payments? Use Routefusion for all of your international SWIFT payment needs.

Fanatical Customer Support

Customer support at Routefusion is like oxygen. We LOVE providing our customers with fanatical customer support. Whether its late night or early mornings or any time in between we are always one slack, email, or text message away.

Beneficiary Validation

Tired of hearing from customers that their beneficiary still hasn't received a payment. With Routefusion you get access to our beneficiary validator which will improve your delivery rates by 99.98%

Ready to get started?

Contact us or get started now.