Money Transfer Retailer Interface Release Notes

v2.25.2 - 09 December 2022

  • Added missing oauth2 security definition.

v2.25.1 - 04 October 2022

  • Updated description for query parameter idType in lookupOrder operation.
    • idType is conditional, and must be supplied if idNumber is supplied.

v2.25.0 - 19 September 2022

  • Added idNumber and idType to lookupOrder 's query parameters.
  • Added option CUSTOMER_PROFILE_ID to enum IdType .
  • Added a new field amounts to the BasicAdvice model.
  • Added support for hashed PINs (via a new sub-type of Pin named HashedPin ).
  • Added RewardPayment PaymentMethod .
  • Added Account PaymentMethod .
  • Added operatorId field to the Originator model.
  • Added new Address model object that contains a detailed breakdown of an address.
  • Added new member variables called addressDetails and profileId to the Customer model object.
  • Deprecated the existing address member variable as it will be replaced by the new addressDetails member variable.
  • Validation constraints on addressLine1 and addressLine2 of the Address model object were incorrect. They were changed from a limit of 250 characters to a limit of 100 characters.
  • New PaymentMethod child called QrPayment which can be used when making a QR-based payment.
  • Added a channelId field to the Originator class.
  • Added a new WalletPocket model to store a name and ID of a wallet pocket if it has one.
  • Added a WalletPocket field to WalletPayment to describe the pocket from which the payment should be made from (if the payment can be made from more than 1 pocket).
  • Added new REWARD tender type.
  • Added 3-D Secure validation data to CardPayment for use in authorising card payments.
  • Added transaction labels to Transaction for identifying and grouping transactions.
  • Added ISO_9564_FORMAT_4 to the PinBlockFormat enum.
  • Expanded the regex pattern for the value field in TransactionLabels to include forward slashes.

v2.23.0 - 14 July 2021

  • Added offset and limit to getCustomerOrderHistory 's query parameters.
  • Made originator optional in the getCustomerOrderHistory response payload MoneyTransferCustomerOrderHistory
  • Added paging info to MoneyTransferCustomerOrderHistory

v2.22.0 - 18 February 2021

  • Added the following new operations:
    • Orders Resources:
      • UpdateOrderPin : used to update the pin of an order.
    • Admin Resources:
      • GetCustomerOrderHistory : used to retrieve a list of a customer's orders.
  • Added the following new models:
    • MoneyTransferCustomerOrderHistory - describes a request to get a list of a customer's orders.
    • MoneyTransferOrderPinUpdateRequest - describes a request to update an order's pin.

v2.21.0 - 25 August 2020

  • Added operatorId field to the Originator model.
  • Added RewardPayment method.
  • Added Account PaymentMethod .

v2.20.0 - 18 June 2020

  • Added a new field amounts to the BasicAdvice model.
  • Added support for hashed PINs (via a new sub-type of Pin named HashedPin ).

v2.19.0 - 03 March 2020

  • Updated the PersonalDetails model with a new optional countryOfBirth field:
    • The countryOfBirth field is used to record a person's country of birth as an ISO 3166-1 Alpha-2 country code.

v2.18.0 - 07 February 2020

  • Updated the MoneyTransferAuthRequest , MoneyTransferAuthResponse , MoneyTransferRedeemRequest and MoneyTransferRedeemResponse models with a new amounts field:
    • The amounts field allows for more amounts to be used to describe a Money Transfer transaction.
      • The amount field takes precedence over this amounts field, however the use of this amounts field is encouraged. The amount field may be deprecated in a future version of this API.

v2.17.0 - 06 November 2019

  • Added validation for query parameters to conform to existing model objects for following resources:
    • GetCustomerInfo
      • idCountryCode must conform to [A-Za-z]{2}
      • merchantId must conform to [ A-Za-z0-9]{1,15}
    • GetFeeQuote
      • amount must have minimum value of 0
      • merchantId must conform to [ A-Za-z0-9]{1,15}
    • GetExchangeRate
      • fromCurrency must conform to [0-9]{3}
      • toCurrency must conform to [0-9]{3}
    • LookupOrder
      • merchantId must conform to [ A-Za-z0-9]{1,15}

v2.16.0 - 25 October 2019

  • Added the following values for field sourceOfIncome :
    • GIFT
    • WINNINGS
    • SALE_OF_ASSETS
    • INVESTMENTS
    • FAMILY_FINANCIAL_SUPPORT
    • GOVERNMENT_FINANCIAL_SUPPORT
  • Added new field region to BankAccount model for scenarios where the routingCode is not sufficient to uniquely identify a bank account.
  • Added new field emailAddress to Customer model.

v2.15.0 - 17 September 2019

  • Updated the MoneyTransferLookupResponse model as follows:
    • Added a new settlementEntity field which will allow for information about who the Merchant settles with to be sent downstream.
    • Made the originator field optional to coincide with the fact that originator information is optional on the request side.
  • Appropriately deprecated the old getExchangeRate call.

v2.14.0 - 22 August 2019

  • Updated the getExchangeRate operation with a new settlementEntityId field which will allow for settlement entities to be specified in exchange rate calls.
  • Updated the lookupOrder operation with a new settlementEntityId field which will allow for settlement entities to be specified in order lookups calls.
  • Updated the MoneyTransferQuoteRequest and MoneyTransferFeeQuote models with a new settlementEntity field which will allow for settlement entities to be specified in getQuote POST operation calls.

v2.13.0 - 29 May 2019

  • Updated the MoneyTransferOrderStatusUpdateRequest model with a new statusDescription field. This field will be used to update an order with additional information about the status of an order.

v2.12.0 - 29 May 2019

  • Updated the MoneyTransferLookupResponse model with a new statusDescription field. This field will be used to hold additional information about the status of an order.

v2.11.0 - 21 May 2019

  • Added the following new operations:
    • Orders Resources:
      • CancelOrder: used to cancel an order.
      • CancelOrderReversal: used to reverse a cancel order request.
  • Added the following new models:
    • MoneyTransferOrderCancelRequest - describes a request to cancel an order.
    • MoneyTransferOrderCancelResponse - describes a response for a cancel order request.
    • MoneyTransferCancelOrderReversal - describes a request and response for a cancel order reversal.

v2.10.0 - 17 May 2019

  • Added new Account.AccountType value CASH_PICKUP for cash pickup scenarios.

v2.9.0 - 16 May 2019

  • Updated the MoneyTransferLookupResponse model to contain the order references that are returned in the MoneyTransferAuthResponse , namely:
    • orderRedeemRef - Reference used by the recipient to redeem the order.
    • orderRedeemRefAlt - An alternate reference used by the recipient to redeem the order.
    • orderId - Reference used by the service provider to uniquely identify the money transfer order on their system.

v2.8.0 - 1 April 2019

  • Updated the MoneyTransferOrderStatusUpdateRequest model to contain at least as much information as may be returned in a MoneyTransferAuthResponse .

v2.7.0 - 07 March 2019

  • Altered the following models:
    • MoneyTransferAuthResponse
    • Added the customerProfileId field from the request to the response model.
    • MoneyTransferRedeemResponse
    • Added the customerProfileId field from the request to the response model.

v2.6.0 - 27 February 2019

  • Added the following new operations:
  • Admin Resources:
    • Get Exchange Rate - used to obtain a currency exchange rate.
  • Orders Resources:
    • UpdateOrderStatus - used to inform the server a change in an order's status.
  • Altered the following operations:
    • Admin Resources:
    • Get Fee Quote - allowed to be called via an HTTP POST method
    • Orders Resources:
      • LookupOrder - accepts a remittanceRef to refer to an order which will not be explicitly redeemed (e.g. direct account deposits).
  • Added the following new models:
    • MoneyTransferOrderStatusUpdateRequest - describes a change to the status of an order.
    • MoneyTransferQuoteRequest - describes a request for a quote for a money transfer.
    • Occupation - enumerates the different occupations of a person taking part in a money transfer.
    • OrderStatus - enumerates the various states of a money transfer order.
  • Altered the following models:
    • MoneyTransferAuthRequest
    • Added a quoteId field to refer to a previously obtained quote.
    • Added a purposeOfRemittance field to record the reason for the money transfer.
    • Added a recipientRelationship field to record the relationship between the sender and recipient of a money transfer.
    • MoneyTransferAuthResponse
    • Added a orderRedeemRefAlt field to record an alternative reference of a money transfer.
    • MoneyTransferFeeQuote
    • Added a quoteId field to identify a specific quote.
    • Added an expiryDateTime to indicate when a quote expires.
    • PersonalDetails
      • Add an accountDetails to record source and destination account details.
      • Add an idIssuedDate to record when a person's ID was issued.
      • Add an idExpiryDate to record when a person's ID expires.
      • Add a culturalName to record a person's name in their native alphabet.
      • Add a sourceOfIncome to record where a sender's funds used for money transfers are obtained from.
      • Add an occupation to record the occupation of people who take part in a money transfer.
  • Added new models:
    • ExchangeRate to describe the exchange rate between two currencies.
    • Account to describe more varied accounts in a consistent manner. This has the following sub-types defined:
    • BankAccount
    • IbanAccount
    • IfscAccount
    • SwiftAccount
    • MobileWalletAccount
  • The limitations on the id field of the Institution model have been removed to make the field suitable for a wider range of applications. The values in this field need no longer be defined by Electrum and similar values as recognised at third parties may now be carried in this field. However, care should be taken during implementation to ensure that different parties agree on the values which will be present in these fields.

v2.5.0 - 18 January 2019

  • Added ON_HOLD and UNCONFIRMED statuses to the MoneyTransferLookupResponse . These may be used when a transaction has entered a frozen/on hold state, or if only the first leg of a dual leg transaction has completed respectively.

v2.4.0 - 6 November 2018

  • Added TRANSACTION_LIMIT_EXCEEDED error type. This may be used to indicate if a single transaction's limit was exceeded.

v2.3.0 - 29 October 2018

  • Added cashierComment to MoneyTransferRedeemRequest . This field may be used to describe suspicious behaviour observed by the cashier.

v2.2.0 - 14 September 2018

  • Added customerProfileId in MoneyTransferRedeemRequest

v2.1.0 - 27 August 2018

  • Deprecated TRANSACTION_NOT_ALLOWED_FOR_MERCHANT error type. Provided INVALID_MERCHANT for use instead.

v2.0.0 - 3 May 2018

  • Added IdType enum:
    • NATIONAL_ID
    • PASSPORT
    • DRIVERS_LICENCE
    • ASYLUM_DOCUMENT
    • UNKNOWN
  • Added new fields to the following messages:
    • Added recipientDetails to MoneyTransferRedeemRequest , optional field
    • Added idType and idCountryCode to the query parameters of getCustomerInfoCall
    • Added idType to the PersonalDetails object
  • The following fields have been updated:
    • Simple pinBlock String field in MoneyTransferAuthRequest and MoneyTransferRedeemRequest has been replaced with a complex EncryptedPin object. The simple pinBlock field now resides in the EncryptedPin object.
    • Added EXPIRED to Status enum of a MoneyTransferLookupResponse
    • Added idCountryCode to PersonalDetails

v1.0.1 - 2 May 2018

  • Added MSISDN to quotes.

v1.0.0 - 21 Feb 2018

Initial release.

Copyright © Electrum Payments (Pty) Ltd. 2019-2022. All right reserved.