Walmart said that its new service, especially for larger money transfers, will be cheaper than the alternatives. Transfers of up to $50 will cost $4.50 and transfers of up to $900 — the maximum amount customers can send in a day — will cost $9.50.

According to a fee estimator on Western Union’s website, sending $900 within the United States could cost as much as $76 when done in person. MoneyGram’s website estimated that the same transaction would cost $73.

Walmart already offered customers a way to transfer money in its stores, through a partnership with MoneyGram. Unlike Walmart-2-Walmart, MoneyGram does not have a $900 limit and it allows for transfers to other countries.

Mr. Eckert said using MoneyGram would remain an option for Walmart customers. In its annual report, MoneyGram said that Walmart accounted for 27 percent of its total fee and investment revenue last year.

Financial services make up a relatively small portion of Walmart’s overall revenue, and some analysts said the wire transfer program could ultimately be more consequential for other wire-transfer companies like MoneyGram and Western Union than the retailer.

Michelle Buckalew, a spokeswoman at MoneyGram, said in a statement that the company would not change its own prices in response to Walmart’s announcement.

In a statement, Western Union said that domestic money transfers accounted for only about 8 percent of the company’s revenue in 2013. Both Western Union and MoneyGram pointed out that they had hundreds of thousands of affiliated locations globally. Walmart has more than 4,000 stores in the United States.