There is no law that prohibits a company from depositing your salary in your home country but if the employer is based in the U.S., they will want to pay you here as the transfer of money is not an easy process and bank fees are high. Many employers also don’t want to deal with tax deductions for both countries and other possible tax implications. See the tax section for more information.
You want to have your salary deposited here or have a pay check cut here in the U.S. and if necessary, transfer money to your home country yourself.
Using a bank for an international money transfer is expensive. Transfer fees are different from bank to bank and generally range around $30 to $40. You will be required to visit a branch and fill out a form to be able to start the process. The transfer will take 8 – 10 days.
A bank transfer with an independent service is much cheaper. https://www.xoom.com is a very popular, easy and inexpensive way of transferring money internationally. You are able to transfer between $25 and $2,999 per day at a flat rate fee which differs and calculates based on money from bank account or credit card and receiving country, such as $4.99 from a bank account to a European country. The money generally takes three days to arrive in the international account. Another option is Western Union, http://www.westernunion.com which also has brick and mortar stores or offers service over the phone. Western Union allows sending money to Brazil, Mexico and Europe and fees vary.