Payout
Introduction
The Payout API module enables in-store applications to payout a transaction in cash to the intended receive customer. Virtual wallets can also use the payout endpoints to "receive and redirect" a transaction and move funds into the receive customer's wallet.
API sequence
The Payout API module comprises of six synchronous endpoints. There are two general models for paying out funds and the API sequence is as follows:
This is the standard model for paying out a transaction and consists of a three-part API call sequence: retrieve, update and commit a transaction. In this model, the transaction can look up a transaction for payout, before updating it with consumer and transactional information. The transaction is finally committed and funds are paid out to the customer.
- Retrieve a transaction |
GET /payout/v1/transacitons/{transacitonId}
GET /payout/v1/transacitons/{transacitonId}
To retrieve a transaction for payout, the application must use referecnceNumber as a query parameter to retrieve the transaction. The endpoint returns a 200 OK HTTP Status the transactionId resource, status and transactional information. This is to be validated by the in-store associate and receive customer for KYC purposes.
NOTE: The referenceNumber
is a eight-digit numeric string and is
generated at the
time of transfer. It's the customer's unique identifier of the transaction. The receive
customer typically enters the reference number in the application to lookup and retrieve a
transaction for payout.
- Update a transaction |
PUT /payout/v1/transactions/{transactionId}
PUT /payout/v1/transactions/{transactionId}
The application must use the transactionId resource as a path parameter and update it with information about the recieve customer. The endpoint will validate all details and successfully respond with a 200 OK HTTP status and transaction summary.
NOTE: MoneyGram will perform real-time validation and compliance screening upon the submitted request. Depending on the results of the validation, the endpoint will respond with a pass or fail scenario. The application must build to handle various error codes scenarios and allow the user to correct all errors. Learn more
- Commit a transaction |
PUT /payout/v1/transactions/{transactionId}/commit
PUT /payout/v1/transactions/{transactionId}/commit
The application must use the commit API to execute the payout and the endpoint will successfully
respond with a 200
OK HTTP status
For in-store applications, the funds can be paid out in cash. For digital transactions, the
funds can be redirected to a bank account/wallet. The transaction status will move to "RECEIVED"
and funds will be marked for settlement.
API sequence diagram

This is an advanced model for paying out a transaction that uses the ‘Retrieve Additional Information’ endpoint to securely provide data to the partner for regulatory purposes. This model is to be used only in countries where regulation stipulates additional transactional information is needed at time of payout. The API is only available upon business request and must be called in the following sequence:
- Retrieve a transaction |
GET /payout/v1/transacitons/{transacitonID}
GET /payout/v1/transacitons/{transacitonID}
To retrieve a transaction for payout, the application must use referecnceNumber as a query parameter to retrieve the transaction. The endpoint returns a 200 OK HTTP status the transactionId resource, status and transactional information. This is to be validated by the in-store associate and receive customer for KYC purposes.
NOTE: The referenceNumber
is a eight-digit numeric string and is
generated at the
time of transfer. It's the customer's unique identifier of the transaction. The receive
customer typically enters the reference number in the application to look up and retrieve a
transaction for payout.
- Retrieve Additional information |
GET /payout/v1/transactions/{transcitonId}/additionalInformation
GET /payout/v1/transactions/{transcitonId}/additionalInformation
In some countries, regulation may stipulate additional transactional information is needed at time of payout. The GET: Retrieve Additional Information endpoint is available upon business request and securely provides additional information to the partner for regulatory purposes.
- Update a transaction |
PUT /payout/v1/transactions/{transactionId}
PUT /payout/v1/transactions/{transactionId}
The application must use the transactionId resource as a path parameter and update it with information about the recieve customer. The endpoint will validate all details and successfully respond with a 200 OK HTTP status and transaction summary.
NOTE: MoneyGram will perform real-time validation and compliance screening upon the submitted request. Depending on the results of the validation, the endpoint will respond with a pass or fail scenario. The application must build to handle various error codes scenarios and allow the user to correct all errors. Learn more
- Commit a transaction |
PUT /payout/v1/transactions/{transactionId}/commit
PUT /payout/v1/transactions/{transactionId}/commit
The application must use the commit API to execute the payout and the endpoint will successfully respond with a 200 OK HTTP status For in-store applications, the funds can now be paid out in cash. For digital transactions, the funds can be redirected to bank account/wallet. The transaction status will move to "RECEIVED" and funds will be marked for settlement.
API sequence diagram

Advanced Features
The Payout API module is packed full of Advanced Features and we included detailed guides on how to get the most out of your integration:
- In some countries, regulation may stipulate additional transactional information is needed at time of payout. The GET: Retrieve Additional Information endpoint is available upon business request and securely provides additional information to the partner for regulatory purposes.
- The Payout Module also PUT: Reverse a Transaction endpoint, should the application need to move a transaction back in to available status and no longer continue with the payout.
Endpoints
Name | METHOD | URL | Description |
---|---|---|---|
Retrieve a Transaction | GET | payout/v1/transactions | Lookup a transaction by reference number for payout |
Update a Transaction | PUT | payout/v1/transaction/{transactionId} | Updates a payout transaction and verifies whether the information collected about the sender is sufficient for identification and regulatory purposes. |
Retrieve a Additional Information | GET | payout/v1/transactions/{transactionId}/additionalInformation | Lookup a transaction by transactionId for additional compliance information |
Commit a Transaction | PUT | payout/v1/transactions/{transactionId}/commit | Complete the transaction when the validation indicates the transaction is ready for commit. |
Example User Journey

1 - Lookup a Transaction
The cashier looks up a transaction by the reference number provided by the customer for payout.
2 - Transaction Summary
3 - Verify Receiver Details
4 - Transfer complete


Updated about 1 month ago