Introduction

The Amend API module enables the application to retrieve and amend transaction information. The ability to amend a transaction is needed for two reasons: 1) If the receiver's name needs to be amended to match the name on the receiver's identification for the payout of the transaction; and 2) if further data is needed to release a HOLD, after funds have been transferred. It is important for the customer to keep the information on the transaction record updated for compliance and validation reasons, otherwise the transaction may not be able to be picked up by the receiver or deposited to an account.



API sequence

The 'Amend API' module comprises of four synchronous endpoints. There are two use cases for Amending funds and the API sequence is as follows:

'Amend Receiver Name' allows the application to modify the reciever's name, after the funds have been transferred. This is important if the customer has made a mistake when entering the values at time of transferring funds and later needs to modify the receiver name on the transactionId resource. The Amend Reciever Name comprises of a two API call sequence: 'Retrieve a Transaciton' and 'Modify Reicever Name'. In this model, the application will typically retrieve the transacitonId resource and surface the transaction information in the UI. The application can then modify the resource with the new receiver name.

  1. Retrieve a transaction by transactionId | GET /amend/v1/transactions/{transactionId}

The application can use transactionId as a path parameter to retrieve the transaction for amend. The endpoint responds with a transaction summary and current status.

OR

  1. Retrieve a transaction by reference number | GET /amend/v1/transactions/?referenceNumber={referenceNumber}

The application can use a reference number as a query parameter to retrieve the transaction for amend. The endpoint responds with a transaction summary and current status.

  1. Modify Receiver's Name | PATCH /amend/v1/transactions/{transactionId}/receiver/name

The application must pass the corrected values in the receive name fields. The endpoint will respond with a success and modify the transactionId resource with the new receiver name.

Typically the application will develop an "Amend" feature within a wider transaction history UI experience. Once the transaction is retrieved, we recommend a transaction summary to be displayed back in the UI of the application. This helps the customer to validate the transaction details to be amended, before executing the amend.


API Sequence Diagram

Amend model 1 modify receiver name - sequence diagram

'Amend Receiver Additional Data' allows the application to amend the `transactionId` resource with additional information about the receiver. This is important if the transction is on HOLD and further data on the reiceve customer is needed to clear the HOLD and release the transaciton. The Amend Reciever Additional data comprises of a two API call sequence: 'Retrieve a Transaciton' and 'Modfy Receiver Additional Data'. In this model, the application will typically retrieve the transacitonId resource and surface the transaction information in the UI. The application can then modify the recorce with the new reicever additional data.

  1. Retrieve a transaction by transactionId | GET /amend/v1/transactions/{transactionId}

The application can use transactionId as a path parameter to retrieve the transaction for amend. The endpoint responds with a transaction summary and current status.

OR

  1. Retrieve a transaction by reference number | GET /amend/v1/transactions/?referenceNumber={referenceNumber}

The application can use a reference number as a query parameter to retrieve the transaction for amend. The endpoint responds with a transaction summary and current status.

  1. Modify Receiver's Additional Data | PATCH /amend/transactions/{transactionId}/receiver/additional-data

The application must pass the new values in the receive perosonal detials fields. The endpoint will respond with a success and modify the transactionId resource with additional information about the receiver.

Typically the application will develop an "Amend" feature within a wider transaction history UI experience. Once the transaction is retrieved, we recommend a transaction summary to be displayed back in the UI of the application. This helps the customer to validate the transaction details to be amended, before executing the amend.


API Sequence Diagram

Amend model 2 modify additional receiver data - sequence diagram 1



Endpoints

NameMETHODURLDescription
Retrieve a TransactionGET/amend/v1//transaction/{transactionId}Look up a transaction for amend using transactionId as a path parameter
Retrieve a TransactionGET/amend/v1/transactions/?referenceNumber={referenceNumber}Look up a transaction for amend using referenceNumber as a query parameter
Amend Receiver's NamePATCH/amend/v1//transactions/{transactionId}/receiver/nameThe application can call the 'Modify Receiver Name' endpoint to modify the transactionId resource with new Receiver name details
Amend Receiver's Additional DataPATCH/amend/v1/transactions/{transactionId}/receIver/additional-dataThe application can call the 'Modify Receive Additional Information' endpoint to modify the transactionId resource with additional information about the receiver



Example user journey

1 - Retreive a transaction

Look up and retrieve the transaction to be amended by reference number or transaction ID.

2 - Transaction summary

MoneyGram returns a summary of the transaction to be amended. Transactions must be in an “Available” status to be amended.

3 - Amend the receivers name

The receiver's name on the transaction is displayed with the ability to amend the name. On update, rules are applied to ensure that the name change meets requirements.

4 - Amend confirmation

MoneyGram confirms that the receiver's name is amended and provides a receipt with the reference number and transfer details.