Batch Transfer
Introduction
The Transfer API module enables in-store and online applications to transfer funds peer-to-peer, across 200+ countries and in multiple currencies. Funds can be transferred for payout in cash at a MoneyGram store, or deposited directly to a bank account or digital wallet. Crypto wallets can also use the Transfer API module to ramp on/off at a MoneyGram location.
API Sequence
Transfer without quote model consists of a two-part API call sequence - "create and commit" - for faster transaction processing. This model is applicable to partners who are a "transation processor" and don’t require MoneyGram to provide a consumer quote. In this model, the partner simply creates a transaction by providing consumer and transactional information, before finally committing the transaction.
- Create a transaction |
POST /transfer/v1/transactions
POST /transfer/v1/transactions
To create a transaction, the application must include the sender, receiver and all required transactional information. If the transaction is to be deposited to a bank, wallet, or card, the target account information must also be provided. The endpoint will validate all the details and successfully respond with a confirmed transaction that is ready for commit.
NOTE: The create endpoint generates a transactionId resource. The application must use the this transactionId to commit the resource to MoneyGram.
- Commit a transaction |
PUT /transfer/v1/transactions/{transactionId}/commit
PUT /transfer/v1/transactions/{transactionId}/commit
The application must use the commit API to execute the transfer. The endpoint will successfully respond with the transaction reference number, which can be used by the customer to pick up the funds in cash or track the progress of their transfer. The funds will also be marked for settlement.
API Sequence Diagram

Endpoints
Take a more detailed view of the transfer API endpoints:
Name | HTTP method | Endpoints | Description |
---|---|---|---|
Create a transaction | POST | /transfer/v1/transactions | Creates payout transaction with specific payout option and verifies whether the information collected about the sender is sufficient for identification and regulatory purposes. It returns a unique transactionId that needs to be submitted with subsequent update and commit call. |
Commit a transaction | PUT | /transfer/v1/transactions/{transactionId}/commit | The commit API executes the trasnsactionId and completes the transfer of funds. |
Example User Journey

1 - Get a quote
A transaction can be quoted by send or receive amount. MoneyGram provides
payment and payout options, competitive transfer fees and a foreign exchange rate.
MoneyGram also allows for promo codes to discount fees.
2 - Enter transaction details
3 - Fund the transaction
4 - Transaction summary
5 - Transaction complete

1 - Get a quote
The cashier quotes the transaction by a send or receive amount. MoneyGram
provides payment and payout options, competitive transfer fees and a foreign exchange rate.
MoneyGram also allows for promo codes to discount fees.
2 - Enter transaction details
3 - Transaction summary
4 - Transaction complete

1 - Select cryptocurrency to purchase
From the customer's wallet app, they select the cryptocurrency to purchase.
Exchange rates are provided for each cryptocurrency.
2 - Payment method and purchase amount
3 - Enter transaction details
4 - Transaction summary
5 - Ready for payment
6 - Pay in-store

1 - Select cryptocurrency to sell
From the customer's wallet app, they select the cryptocurrency to sell.
Exchange rates are provided for each cryptocurrency.
2 - Select withdraw method
3 - Enter transaction details
4 - Transaction summary
5 - Ready for pick up
6 - Pick up cash at a location
Updated 7 days ago