MoneyGram AgentConnect - HMB
MoneyGram AgentConnect - HMB
AgentConnect
Introduction to AgentConnect
Version 13.05
2013
This AgentConnect® specification and the information contained herein is the confidential
property of MoneyGram International, Inc. (MoneyGram), and is loaned to the recipient solely for
use in integrating the MoneyGram System with the recipient's point-of-sale (POS) system as
authorized by a Non-Disclosure Agreement entered between MoneyGram and the recipient. This
document is also protected as an unpublished work under copyright law, and no part hereof may
be compiled, distributed or disclosed to any third party without the prior written consent of
MoneyGram except to persons having a legitimate need to know to integrate to the
AgentConnect® System with the recipient's POS system as authorized in a POS license.
Other companies may have patents that apply to Money transfer or to the use of AgentConnect ®
within certain features. MoneyGram is not responsible for violations of any third party intellectual
property rights by use of AgentConnect®.
The recipient's rights to integrate the AgentConnect® System with its POS system and/or using
MoneyGram's confidential information will cease immediately upon termination of the Network
Agreement or the Biller Agreement between MoneyGram and the recipient. This document must be
returned upon the request of MoneyGram or upon termination of the Network Agreement or the
Biller Agreement between MoneyGram and the recipient.
Table of Contents
Introduction .............................................................................................. 1
Technologies ............................................................................................. 2
XML Schema and WSDL ................................................................................................. 2
Schema.......................................................................................................................... 2
WSDL............................................................................................................................. 2
AgentConnect XML Schema ........................................................................................... 3
AgentConnect Messages ................................................................................................ 3
Format ........................................................................................................................... 4
SOAP ............................................................................................................................. 4
Message Headers........................................................................................................... 5
Error Messages .............................................................................................................. 8
International Character Support.................................................................................. 10
APIs ........................................................................................................ 25
1. profile ...................................................................................................................... 26
profileRequest .............................................................................................................. 26
Habib Metro Bank
©2013 MoneyGram iii
Proprietary and confidential
Introduction 2013
iv ©2013 MoneyGram
Proprietary and confidential
Introduction 13.05
7. doddFrankStateRegulatorInfo ................................................................................. 60
doddFrankStateRegulatorInfoRequest ............................................................................. 60
Field Summary .......................................................................................................... 60
Field Detail ................................................................................................................ 61
doddFrankStateRegulatorInfoResponse ........................................................................... 62
Field Summary .......................................................................................................... 62
Field Detail ................................................................................................................ 63
8. variableReceiptInfo ................................................................................................. 64
variableReceiptInfoRequest ............................................................................................ 64
Field Summary .......................................................................................................... 64
Field Detail ................................................................................................................ 65
variableReceiptInfoResponse .......................................................................................... 66
Field Summary .......................................................................................................... 66
Field Detail ................................................................................................................ 67
9. industry ................................................................................................................... 68
industryRequest ........................................................................................................... 68
Field Summary ................................................................ Error! Bookmark not defined.
Field Detail ................................................................................................................ 69
industryResponse ......................................................................................................... 70
Field Summary .......................................................................................................... 70
Field Detail ................................................................................................................ 71
The following diagram explains the formats used in process flows throughout this document.
The following is an example of a table used to describe API request field details.
Definitions
• Tag: The field's XML tag; fields for which data is required are shown in bold red text
• Datatype: Describes the type and restrictions of the field's data
• Information and Rules: Provides additional information, business rules, and a description of the field if necessary
• Input: Indicates how the field's value is obtained
□ Application: The agent application must not visibility the field on its user interface for user input, and the value must be retrieved
from another part of the agent application (e.g., a previous API response) or the agent's system
□ GUI: The agent application must visibility the field on its user interface and allow user input
□ Conditional: The agent application may or may not visibility the field on the user interface for user input depending on the
conditions stated in the Information and Rules column
□ GFFP or GFFR: Whether or not the field is shown on the user interface for user inputs depends on the information returned by the
getFieldsForProductResponse (GFFP) or getFieldsForRewardsResponse (GFFR)
□ N/A: Input does not apply; for instance, if the field only contains other fields
□ Not Allowed: The agent application must not allow data to be entered in the field Habib Metro Bank
©2013 MoneyGram vii
Proprietary and confidential
Introduction 13.05
□ Optional: The agent may choose whether to visibility the field on the user interface for user input
• Data: Indicates whether the field must contain data; only used on API requests
□ Required: The field must contain data
□ Not allowed: The field must not contain data
□ Optional: The agent may choose whether to show the field on the user interface
□ Conditional: The field may or may not contain data depending on the conditions stated in the Information and Rules column
□ GFFP or GFFR: Whether or not the field contains data depends on the information returned by the getFieldsForProductResponse
(GFFP) or getFieldsForRewardsResponse (GFFR)
□ Response: Whether or not the field contains data depends on the information returned by a message specified in the additional
information for the API
The following is an example of a table used to describe API response field details.
responseExampleField3 boolean An example field whose data and display requirements required
depend on the getFieldsForProduct API.
Additional Information
1. If true, then...
2. If false, then...
Definitions
• Tag: The field's XML tag; fields for which data is required are shown in bold red text
• Datatype: Describes the type and restrictions of the field's data
Habib Metro Bank
viii ©2013 MoneyGram
Proprietary and confidential
Introduction 13.05
• Information and Rules: Provides additional information, business rules, and a description of the field if necessary
• Display: Indicates whether the value of the field is shown on the agent application's user interface
□ Conditional: The value may or may not be shown on the user interface depending on the conditions stated in the Information and
Rules column
□ GFFP or GFFR: Whether or not the value is shown on the user interface depends on the information returned by the
getFieldsForProductResponse (GFFP) or getFieldsForRewardsResponse (GFFR)
□ N/A: Display does not apply; for instance, if the field doesn't contain displayable data
□ Not allowed: The value must not be shown on the user interface; for fields in API responses, the data in the field should not be
edited unless otherwise stated
□ Optional: The agent may choose whether to show the value on the user interface
□ Required: The value must be shown on the user interface
Introduction
This document provides an introduction to MoneyGram's AgentConnect® product, including
descriptions of the technologies used, the product development cycle, and installing the
AgentConnect simulator.
AgentConnect® provides APIs (application programming interfaces) to integrate MoneyGram money
transfer products into your own POS (point-of-sale). There are four parts to the AgentConnect
product:
1. A complete SDK (software development kit), including the detailed technical specification of the
APIs and a simulator that allows developers, business analysts, and functional experts to see
and to test messages
2. MoneyGram consulting and advisory services to facilitate the design, development, and testing
processes
3. MoneyGram project management assistance
4. MoneyGram quality assurance certification event
In order to successfully develop a quality application, agents must have the following:
1. Familiarity with XML (Extensible Markup Language)
2. In-house or third-party systems development
3. Testing capabilities
4. A commitment to partner with MoneyGram to ensure mutual success
There are several benefits to using AgentConnect to perform wire transfer service with
MoneyGram, including the following:
1. Hardware and software independence: Applications can be developed using any language
and hardware platform as long as it can send and receive the appropriate MoneyGram Web
server XML messages. This provides the ability to add MoneyGram wire transfer applications to
existing POS or ATM systems.
2. Integral transaction security: Transaction security that is built into AgentConnect. All
messages between agents and the MoneyGram Web server use HTTPS, so every message is
encrypted. As an additional security measure, MoneyGram configures agents to use unique
profiles, and either a password or token. By authenticating every transaction, regardless of the
method of security chosen, MoneyGram ensures that two applications (the real agent's and an
imposter's) cannot run using the same profile.
3. Design flexibility: Agents can create a user interface that is user friendly and appeals to
consumers and employees. MoneyGram transactions can be integrated into existing
applications, or agents can create specialized MoneyGram transaction applications. Agents
control the "look and feel" of their wire transfer products.
4. Assistance from MoneyGram: MoneyGram has documented the AgentConnect commands
(including standard messages, business rules, error messages and development tips).
MoneyGram has also established a development environment available to outside developers
for testing applications. In additional, AgentConnect includes a simulator that developers can
use to see the correct format of outgoing and incoming messages, and send messages they
create on their own.
Aside from offering tools for development, a dedicated MoneyGram team is ready to help. The
team offers design advice, project management, and a certification event to ensure that agents can
successfully process MoneyGram transactions.
Technologies
XML Schema and WSDL
Schema
AgentConnect uses XML messaging between the agent application and MoneyGram. Messages are
described in an XML schema document which describes a set of elements, rules, and other
information required to create valid AgentConnect messages. The XML schema document is written
XML Schema, a W3C recommendation.
The following is an example of an element described by XML Schema.
<xs:element name="exampleParentElement" type="ac:ExampleParentElement"/>
<xs:complexType name="ac:ExampleParentElement">
<xs:complexContent>
<xs:extension base="ac:exampleElementBase">
<xs:sequence>
<xs:element name="exampleChildElement1" type="xs:string"/>
<xs:element name="exampleChildElement2" type="xs:string"/>
<xs:element name="exampleChildElement3" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
The first line of code defines an XML element with the name exampleParentElement.
The second and third lines define the type of content contained element. In this case the element
contains complex content; that is, it contains other elements.
The fourth line indicates the element extends another element; it contains the elements of
exampleElementBase and adds further elements of its own.
The fifth line indicates that the element's child elements must occur in an XML document in the
order they are shown in the schema.
The sixth, seventh, and eighth lines define the element's child elements. In this example, the
elements' values are strings.
More information on XML Schema can be found online at the W3C's Web site, www.w3c.org.
WSDL
In addition to XML Schema, AgentConnect uses WSDL (Web Services Description Language), an
XML language used to describe Web services. WSDL describes Web services as a set of endpoints
operating on messages containing either document-oriented or procedure-oriented information.
MoneyGram supports SOAP version 1.2, WSDL version 1.1, and is compatible with WS-I Basic
Profile 1.0. The message format conforms to literal schema instances, and the Web service uses
document/literal as a binding style.
A complete description of WSDL can be found online at the W3C's Web site, www.w3c.org.
The schema defines the AgentConnect message as an element containing other elements. The child
elements are of two types: header elements and body elements. The header elements are included
in the message definition by extending the exampleMessageBase element. The body elements are
defined explicitly.
If the header elements were defined explicitly, the entire message definition would appear as
below:
<xs:element name="exampleMessage" type="ac:ExampleMessage"/>
<xs:complexType name="ac:ExampleMessage">
<xs:complexContent>
<xs:sequence>
<xs:element name="exampleMessageHeaderField1" type="xs:string"/>
<xs:element name="exampleMessageHeaderField2" type="xs:string"/>
<xs:element name="exampleMessageHeaderField3" type="xs:string"/>
<xs:element name="exampleMessageHeaderField4" type="xs:string"/>
<xs:element name="exampleMessageBodyField1" type="xs:string"/>
<xs:element name="exampleMessageBodyField2" type="xs:string"/>
<xs:element name="exampleMessageBodyField3" type="xs:string"/>
</xs:sequence>
</xs:complexContent>
</xs:complexType>
More information on the types of extensions used in AgentConnect messages is found in Message
Headers.
AgentConnect Messages
An Agent application must have the capability to capture all request and
response xml messages with MoneyGram.
Communication between the agent application and MoneyGram consists of a request message sent
from the agent application to MoneyGram, followed by a response message from MoneyGram to
the agent application. All messages to and from AgentConnect use HTTPS, which is HTTP
(Hypertext Transfer Protocol) combined with SSL (Secure Socket Layer). The agent application
opens a network connection to MoneyGram and sends HTTP headers according to the HTTP
protocol and a SOAP data stream for the AgentConnect API on Port 443.
Format
An AgentConnect message consists of a set of standard headers combined with an element defined
by the AgentConnect XML schema.
1. HTTP header
2. XML declaration
3. SOAP envelope
4. Message name
5. AgentConnect message header fields
6. AgentConnect message body fields
A complete AgentConnect message appears as in the example below.
POST http://example.com/servicesLocation HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
Protocol 4.0.30319.225)
VsDebuggerCausalityData:
uIDPo1WZA/LuXitCvkmnX3Hc9b0AAAAA4uIDs8IVgUe3j6BgwkHnzPT5YTeFuklPrhZDCTTFXlIAC
QAA
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:example#exampleMessageName"
Host: example.com
Content-Length: 000
Expect: 100-continue
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<exampleMessageName xmlns="http://example.com/schemaLocation">
<exampleMessageHeaderField1>Header Field 1
Value</exampleMessageHeaderField1>
<exampleMessageHeaderField2>Header Field 2
Value</exampleMessageHeaderField2>
<exampleMessageHeaderField3>Header Field 3
Value</exampleMessageHeaderField3>
<exampleMessageBodyField1>Header Field 1 Value</exampleMessageBodyField1>
<exampleMessageBodyField2>Header Field 2 Value</exampleMessageBodyField2>
<exampleMessageBodyField3>Header Field 3 Value</exampleMessageBodyField3>
</exampleMessageName>
</soap:Body>
<soap:Envelope>
SOAP
MoneyGram implements SOAP version 1.2 using Apache SOAP version 1.1.
It may be easier for the developer to use SOAP to generate messages to send to the Host.
However, SOAP is not required to use the AgentConnect API, and it is not documented here.
Message Headers
AgentConnect request and response messages use the following common header fields:
agentID string The agent's unique identification number. Each location will Not allowed
have a unique number assigned by MoneyGram.
Length: 8
agentSequence string The unique POS number that identifies an individual POS at Not allowed
the agent location. Other locations may have POS devices
Maximum length: 2
with the same number. The number is provided by
MoneyGram and should not be hard-coded by the agent.
timeStamp dateTime The date and time the request was sent.
Format: CCYY-MM-
DDThh:mm:ss.sss-hh:mm
clientSoftwareVersion string The version of the agent application being used. This value is
set by the agent and can be used for debugging purposes.
Maximum length: 6
MoneyGram stores this information in its systems, but does
not check or return the value. It is used when an agent
places a technical call to verify problems between different
versions.
flags int These bit set values added together can produce
combinations of information that should be downloaded. For
example, a 3 returned indicates that the agent application
should retrieve a new code table and profile information.
Since this is a bit set, applications need not consider flags
that are not relevant to it. For example, if the application
receives an 11 (1 + 2 + 8 = 11), it only has to consider the 1
and 2, and the 8 can be ignored. If the application receives a
6 (2 + 4 = 6), it only has to consider the 2, and the 4 can be
ignored because it is deprecated.
Additional Information
1. 1 is new code table information is available
2. 2 is new profile information is available
3. 4 is not used
4. 8 is not used
5. 16 new translation information is available
Error Messages
SOAP faults are returned whenever the Host cannot properly process a request. They normally include the source of the problem (server or
agent), the short name of the problem, an error code, a detailed description of the problem, and other information.
faultCode string Indicates where the problem originated. This can be client,
server, or SOAP version mismatch.
detail complex Returned when the fault was generated by the AgentConnect
server.
errorCode string The error code specific to the problem that occurred.
subErrorCode string The particular sub error code, if any, for the fault code
specified above.
offendingField string The request field that caused the error. This field appears
only where valid.
detailString string More detailed information on what may have caused the
error.
maximum length: 500
Habib Metro Bank
8 ©2013-05 MoneyGram
Proprietary and confidential
Introduction 13.05 Technologies
From To
À, Á, Â, Ã, Ä, Å A
È, É, Ê, Ë E
Ì, Í, Î, Ï, İ I
Ò, Ó, Ô, Õ, Ö, Ø O
Ù, Ú, Û, Ü U
Ý, Ÿ Y
Ñ N
Ç C
Ğ G
Ş S
à, á, â, ã, ä, å a
è, é, ê, ë e
ì, í, î, ï, ı i
ò, ó, ô, õ, ö, ø o
ù, ú, û, ü u
ý, ÿ y
ñ n
ç c
ğ g
ş s
Preliminary Investigation
1. Agent and MoneyGram assess market
2. MoneyGram provides presentations and background information
3. MoneyGram assists agent in determining products
4. MoneyGram assists in determining fit of AgentConnect in agent's business
5. High level telecommunication and infrastructure communications take place
Detailed Investigation
1. Agent signs AgentConnect NDA and Agreement
2. MoneyGram provides agent with AgentConnect SDK materials
3. MoneyGram begins project management support
4. MoneyGram assists with preliminary design consultation
5. MoneyGram explains integration with MoneyGram systems
6. Agent creates specification, high level design, and project plan
7. AgentConnect team understands all contractual obligations
8. MoneyGram network group begins installation of production circuit
9. MoneyGram sends Agent Requirements form
10. Proposed APIs agreed upon
Development
1. Agent designs application
2. Agent creates and performs unit and integration testing of application
3. Agent creates pilot and rollout plans
4. Agent tests application in MoneyGram external region using test IDs provided by MoneyGram
5. MoneyGram provides pre-certification and certification test plans
6. MoneyGram sets up production circuits
7. Agent provides information about agent locations
8. MoneyGram creates or verifies agent profiles
9. MoneyGram gathers information for support plan
10. MoneyGram provides technical support and has regular calls with agent to discuss the APIs,
business rules, questions, and other issues agent may encounter
Quality Assurance
1. Agent performs pre-certification with MoneyGram assistance
a. MoneyGram provides test cases. Agent executes test cases and provide xml results and screen
shots. MoneyGram validate results.
2. MoneyGram approves receipts
3. Agent performs certification event with MoneyGram assistance. Same process as pre-
certification in 1a.
4. Agent creates training and system documentation with MoneyGram assistance
5. Agent trains employees
Some sample test cases sent to Agent during pre-certification are given below. There would be
similar test cases for other APIs and process flows the Agent would be developing.
MoneyGram Successful Send/Receive Test Cases
Amount
Test (in Agent
Reference
Case From To Instructions sending Commen
Number
Name agent's ts
currency)
SN08 USA USA Perform a send transaction providing data in ALL 567.89
fields using the following information on the initial
send:
- Receiver's First name: Pharringalbertastien
- Receiver's Last name:
Coomaraswamanushtanu
- Receiver's Second Last name:
ELcbertastienpherringcoladaren
Please provide us the screen shot of complete
flow and also provide screen shot of the receipt.
RC07 SPAIN UK Perform a receive transaction providing data in 1500.00 78945621
only REQUIRED fields.
MoneyGram Unsuccessful Send/ Receive Test Cases
REMINDER: As with other negative test cases,
please execute each of the following as far as you
are able, using your un-altered client application.
Following the attempt, provide all XML generated
for the transaction (as with other cases); also,
include the reason for your stopping point in the
"comments" column to the right.
SN40 USA MEXICO Perform a send providing data in only REQUIRED 342.90
fields in your application.
1. Use one of the following for the sender's
country:
United States
Mexico
Canada
2. DO NOT enter a value for the sender's State.
A. Please return all XML generated.
B. If not possible to execute the transaction or an
error occurs, please return a comment describing
your application's response.
C. Return a screen shot showing how your
application prevents this transaction from being
completed, including any error messages that are
displayed on your application's UI.
RC21 USA CHINA Perform a Reference Number Lookup using the N/A 11122236
reference number given.
A. Please return all XML generated.
B. If not possible to execute the transaction or an
error occurs, please return a comment describing
your application's response.
C. Return a screen shot showing how your
application prevents this transaction from being
completed, including any error messages that are
displayed on your application's UI.
Expected: The reference number is invalid and
should return an error in the referenceNumber
response.
Habib Metro Bank
14 ©2013-05 MoneyGram
Proprietary and confidential
Introduction 13.05 Pilot and Support Plans
Support Plan
The purpose of the support plan is to provide a service guide to the agent and MoneyGram when
the agent moves to full production following its pilot. The support plan is created by the agent and
MoneyGram.
The AgentConnect simulator is a Java application designed for and tested on Windows NT and 2000 as a
development tool to assist you as you program your MoneyGram money transfer application. Please reference to
SDK Overview module for complete details on installing and using the simulator.
Getting Started:
1. Install the simulator by running setup.exe.
The AgentConnect Simulator also allows agents to connect to MoneyGram using a proxy server. To
connect to a proxy, open the simulator and click <Security> on the menu bar, then select <Proxy
Settings> to input and save your settings. Be sure to check the Use Proxy checkbox.
2. Make sure it is possible to connect to the endpoint URL.
This is used to send requests to the AgentConnect server from the simulator and the Agent’s
application. https://extws.moneygram.com/extws/services/AgentConnect1305
This can be run in a browser to verify connections with the AgentConnect server.
3. Point the simulator at the WSDL file.
The WSDL is used by the simulator to assist in formatting XML
https://extws.moneygram.com/extws/AgentConnectWSDL?Version=1305
4. Run sample transactions using your test agent IDs.
Listed below are few samples of MoneyGram Agent identification numbers and their associated POS
numbers and passwords for you to use during testing. Use one of these for “send” transactions and the
other for “receive” transactions. It does not matter which ID is used for the “send” or the “receive” as
long as “send” and “receive” are not used from the same ID on one transaction. MoneyGram has a
business rule that prevents the same Agent from sending and receiving the same transaction.
Test ID 1
Agent ID: xxxxxxxx
POS Number: xx
Password: TEST
Test ID 2
Agent ID: xxxxxxxx
POS Number: xx
Password: TEST
If your test IDs become deauthorized during application development, you can reauthorized them as
follows:
The re-authorization URL works by running it from a browser command line. Re-authorize a de-
authorized development POS ID at
https://extws2.moneygram.com/extwsweb/servlet/ReauthServlet
Please note that this method of re-authorization is only allowed in the test environment. Once an Agent
begins running production transactions, the Agent must call MoneyGram’s Help Desk to re-authorize a
POS device. Contact information for re-authorization will be distributed to the Agent prior to production
rollout.
If Proxy configuration is needed to allow the AgentConnect Simulator to access the internet, the following Proxy
Settings Information must be configured:
Security>Proxy Settings
PCI Compliance
MoneyGram recognizes and values the importance of enacting information security best practices
throughout our organization. In order to provide our agents with a secure network for
communicating and doing business with us, we recommend that business partners and agents who
connect directly to our network follow the Payment Card Industry (PCI) security standards. These
security standards have been adopted as security best practices among the financial and payment
services industries.
More information may be found at the VISA CISP website:
http://usa.visa.com/business/accepting_visa/ops_risk_management/cisp_merchants.html?it=c|/bu
siness/accepting_visa/ops_risk_management/cisp%2Ehtml|Merchants
Maintenance Process
1. Choose one of the following.
a. The agent application sends a codeTableRequest, and MoneyGram returns a
codeTableResponse containing country, currency, delivery option, and other information
that must be used by the application.
b. Information that must be used by the application is obtained by using a combination of the
following:
□ The agent application sends a countryInfoRequest, and MoneyGram returns a
countryInfoResponse containing country information.
□ The agent application sends a stateProvinceInfoRequest, and MoneyGram returns a
stateProvinceResponse containing state and province information for Canada, Mexico,
and the United States.
□ The agent application sends a currencyInfoRequest, and MoneyGram returns a
currencyInfoResponse containing currency information.
2. [Optional] The agent application sends a translationsRequest containing a language code,
and MoneyGram returns a translationsResponse containing some code table information
translated into the requested language.
3. The agent application stores the returned information.
APIs
Required APIs
1. profile
2. codeTable
Conditional APIs
3. countryInfo
4. currencyInfo
5. stateProvinceInfo
6. translations
7. doddFrankStateRegulatorInfo
8. variableReceiptInfo
9. industry
1. profile
The agent application uses the profile API obtain information used to comply with business rules
when performing transactions.
Additional Information
1. Agents must store information returned in the profileResponse
2. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event profile changes occur
during business hours
3. The agent profile only needs to be updated by one location using the model agent ID; the
information may be shared among locations
profileRequest
Field Summary
• (None)
Field Detail
profileResponse
Field Summary
• profileItem
□ index
□ key
□ value
• productProfileItem
□ index
□ key
□ value
□ productID
Additional details about the some of the important profile and product profile items:
1. key: AGENT_TIME_ZONE: Agent’s Time zone information as setup in MGI system (example value: GMT+1:00)
2. key: AGENT_TIME_ZONE_NAME (example value: Europe/Paris)
3. key: AGENT_DST (values: Y or N). Y indicates Daylight saving applied)
4. key: AGENT_HOURS (example value: 09:30:00,18:30:00 represents opening and closing hours respectively.
Index: 0 to 7 represents Sun to Sat)
5. key: ACTIVATE_REWARDS_CARD_OPTION (example value: N): indicates whether the Rewards enrollment is
possible by this Agent ID.
6. key: PROMOTIONAL_CODE_LIMIT (value: 0, 1 or 2): indicates the maximum number of promotional codes allowed
to be used during a Send transaction.
7. key: AGENT_NAME (Agent’s DBA name)
8. key: AGENT_ADDRESS_1, AGENT_ADDRESS_2, AGENT_ADDRESS_3, AGENT_CITY, AGENT_STATE, AGENT_ZIP :
returns the detailed address information as in MGI system.
9. key: AGENT_CURRENCY - Send currency information, if the Agent is multicurrency Send, this will be returned
multiple times. The index indicates the currency code, and the value indicates the 3-letter currency code.
10. key: ALLOW_LANG_OPT (valid values: eng, spa, fra, deu, zho) : indicates receipt languages for primary and
secondary receipts.
11. key: ALLOW_NO_SECONDARY_LANG, (valid value: N or Y): if N indicates no need have the receipt in a secondary
language
12. key: HDV_LIMIT , the high dollar verification limit. Currently not applicable to AgentConnect.
13. key: RECEIVE_CURRENCY: values could be 3-letter currency codes. if the Agent is multicurrency Receive active,
this could be returned multiple times
14. key: USE_OLD_NAME_SIZES (value: Y or N)
15. key: DOCUMENT_NAME (example value: MONEYGRAM SEND, productID: 5): indicates ID and name for a particular
product
16. key: FRAUD_LIMIT_LEGAL_ID – indicates the
17. legal Id verification threshold for the particular product and currency.
18. key: FRAUD_LIMIT_THIRD_PARTY_ID – indicates the third party ID verification threshold for the particular product
and currency.
19. key: FRAUD_LIMIT_PHOTO_ID – indicates the photo Id verification threshold for Send and particular currency.
20. key: FRAUD_LIMIT_TEST_QUESTION – indicates the test question and answer threshold for Send and particular
currency.
21. key: ALLOW_DEL_OPT: indicates whether transaction in a particular delivery option may be attempted. If value:N
for the particular delivery option ID that would mean it is not allowed.
22. key: FRAUD_LIMIT_CASH_WARNING – not applicable to AgentConnect
23. key: MAX_AMOUNT_PER_ITEM – indicates the maximum amount per transaction for particular product and
currency.
24. key: FRAUD_LIMIT_ADDRESS - indicates the receiver address verification limit for Receive and particular currency
25. key: DEFAULT_CASH_PAYOUT_AMOUNT – not applicable to AgentConnect
26. key: FRAUD_LIMIT_RECEIVER - indicates the photo Id verification threshold for Receives and particular currency
27. key: PRODUCT_STATUS (example value: A) – indicates whether a particular product is available. For example, if
value is A for product ID: 6 it would mean that this Agent ID is authorized to perform Receive transactions.
Field Detail
2. codeTable
The agent application uses the codeTable API to obtain countries, states, currencies, delivery
options, and other important information required to perform transactions.
Additional Information
1. Agents must store the information returned in the codeTableResponse locally
2. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event system changes occur
during business hours
3. The code table information only needs to be updated by one location using the model agent ID;
the information may be shared among locations
4. This process should be performed on a regular basis. MoneyGram recommends a daily batch
process during non-business hours.
5. In the codeTableResponse, the agent can keep track of MoneyGram’s ‘version’ in the agent’s
local table and the agent will need to perform the API call daily, but may choose to update the
information only if the version changes,
6. Code Table must be carefully analyzed as information returned is critical for successful
transaction processing
codeTableRequest
Field Summary
• agentAllowedOnly
Field Detail
codeTableResponse
Field Summary
• version □ deliveryOption
• stateProvinceInfo □ deliveryOptionName
□ countryCode • rewardsInfo
□ stateProvinceCode □ programType
□ stateProvinceName □ name
• countryInfo □ description
□ countryCode • rewardsCardTypeInfo
□ countryName □ cardType
□ countryLegacyCode □ description
□ sendActive • rewardsRegistrationInfo
□ receiveActive □ country
□ directedSendCountry □ programType
□ mgDirectedSendCountry □ cardType
□ baseReceiveCurrency □ allowPrePrintedCards
• currencyInfo □ allowStandardCards
□ currencyCode
□ currencyName
□ currencyPrecision
• countryCurrencyInfo
□ countryCode
□ baseCurrency
□ localCurrency
□ receiveCurrency
□ indicativeRateAvailable
□ deliveryOption
□ receiveAgentID
□ receiveAgentAbbreviation
□ mgManaged
□ agentManaged
□ validationExprs
□ checkDigitAlg
• deliveryOptionInfo
□ dssOption
□ deliveryOptionID Habib Metro Bank
©2013-05 MoneyGram 33
Proprietary and confidential
APIs > codeTable > response Introduction 13.05
Field Detail
currencyPrecision int The number of digits used by the currency for fractional N/A
amounts.
receiveAgentAbbreviation string The abbreviated form of the agent's name to use if there isn't N/A
enough space to use receiveAgentName.
Maximum length: 10
mgManaged string Whether or not the agent can or must perform MoneyGram- N/A
managed receiver registration for directed send transactions
Maximum length: 20
that require a receiver registration number (RRN).
Valid values: NOT ALLOWED,
Additional Information
REQUIRED, optional
1. This information is also in the feeInfo field of the
feeLookupResponse transactions that require registration
2. NOT ALLOWED: MoneyGram does not manage the receiver
registration, therefore registration is not allowed for the
specified delivery option.
3. REQUIRED: MoneyGram requires a receiver registration as
Send transactions require an RRN
programType string The program type code of the MoneyGram Rewards program N/A
available to the agent's consumers.
Maximum length: 3
Additional Information
1. Maps to the programType returned in
rewardsRegistrationInfo
name string The name of the MoneyGram Rewards program available to N/A
the agent's consumers.
Maximum length: 64
Habib Metro Bank
©2013-05 MoneyGram 39
Proprietary and confidential
APIs > codeTable > response Introduction 13.05
cardType string The MoneyGram Rewards card type available to the agent's N/A
consumers.
Maximum length: 4
Additional Information
1. Maps to the cardType returned in
rewardsRegistrationInfo
description string The description of the MoneyGram Rewards card available to N/A
the agent's consumers.
Maximum length: 40
3. countryInfo
The agent application uses the countryInfo API to obtain country information required to perform
transactions.
Additional Information
1. The agent application must use the countryInfo API together with the currencyInfo and
stateProvinceInfo APIs to get all required code table information
2. Agents must store the information returned in the countryInfoResponse
3. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event system changes occur
during business hours
4. The code table information only needs to be updated by one location using the model agent ID;
the information may be shared among locations
countryInfoRequest
Field Summary
• countryFilter
Field Detail
countryInfoResponse
Field Summary
• countryInfo
□ countryCode
□ countryName
□ countryLegacyCode
□ sendActive
□ receiveActive
□ directedSendCountry
□ mgDirectedSendCountry
□ baseReceiveCurrency
Field Detail
4. currencyInfo
The agent application uses the currencyInfo API to obtain currency information required to
perform transactions.
Additional Information
1. The agent application must use the currencyInfo API together with the countryInfo and
stateProvinceInfo APIs to get all required code table information
2. Agents must store the information returned in the currencyInfoResponse
3. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event system changes occur
during business hours
4. The code table information only needs to be updated by one location using the model agent ID;
the information may be shared among locations
currencyInfoRequest
currencyInfoResponse
Field Summary
• currencyInfo
□ currencyCode
□ currencyName
□ currencyPrecision
Field Detail
currencyPrecision int The number of digits used by the currency for fractional N/A
amounts.
5. stateProvinceInfo
The agent application uses the stateProvinceInfo API to obtain state and province information
required to perform transactions.
Additional Information
1. The agent application must use the stateProvinceInfo API together with the countryInfo
and currencyInfo APIs to get all required code table information
2. Agents must store the information returned in the stateProvinceInfoResponse
3. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event system changes occur
during business hours
4. The code table information only needs to be updated by one location using the model agent ID;
the information may be shared among locations
stateProvinceInfoRequest
Field Summary
• stateProvinceFilter
Field Detail
stateProvinceInfoResponse
Field Summary
• version
• stateProvinceInfo
□ countryCode
□ stateProvinceCode
□ stateProvinceName
Field Detail
6. translations
The agent application uses the translations API to obtain country, currency, delivery option, and
other code table information in a variety of languages.
Additional Information
1. Agents must store the information returned in the translationsResponse
2. The agent must create an automated process to obtain updates during non-business hours; the
agent must also create a manual process to obtain updates in the event system changes occur
during business hours
3. The code table information only needs to be updated by one location using the model agent ID;
the information may be shared among locations
translationsRequest
Field Summary
• languageCodes
Field Detail
translationsResponse
Field Summary
• translationsVersion
• countryTranslations
□ countryCode
□ languageCode
□ longLanguageCode
□ displayName
• deliveryOptionTranslations
□ deliveryOption
□ languageCode
□ longLanguageCode
□ displayName
• currencyTranslations
□ currencyCode
□ languageCode
□ longLanguageCode
□ displayName
• fqdoTextTranslations
□ receiveCountry
□ deliveryOption
□ receiveAgentID
□ currencyCode
□ languageCode
□ longLanguageCode
□ registrationAuthorizationText
□ speedOfDeliveryText
• industryTranslations
□ industryID
□ displayName
□ languageCode
□ longLanguageCode
Field Detail
countryCode string The country code of the country to which the translation N/A
applies.
Length: 3
Must be a valid country code
languageCode string The language into which the country name has been N/A
translated.
Valid values: de, en, es, fr
Additional Information
1. de is German
2. en is English
3. es is Spanish
4. fr is French
deliveryOption string The delivery option to which the translation applies. N/A
Must be a valid delivery option
languageCode string The language into which the name of the delivery option has N/A
been translated.
Valid values: de, en, es, fr
Additional Information
1. de is German
2. en is English
3. es is Spanish
4. fr is French
currencyCode string The currency code of the currency to which the translation N/A
applies.
Length: 3
Must be a valid currency code
languageCode string The language into which the name of the currency has been N/A
translated.
Valid values: de, en, es, fr
Additional Information
1. de is German
2. en is English
3. es is Spanish
4. fr is French
Habib Metro Bank
©2013-05 MoneyGram 57
Proprietary and confidential
APIs > translations > response Introduction 13.05
languageCode string The language into which the FQDO text has been translated. N/A
Valid values: de, en, es, fr Additional Information
1. de is German
2. en is English
3. es is Spanish
4. fr is French
languageCode string The language into which the industry name has been N/A
translated.
Valid values: de, en, es, fr
Additional Information
1. de is German
2. en is English
3. es is Spanish
4. fr is French
7. doddFrankStateRegulatorInfo
The agent application uses the doddFrankStateRegulatorInfo API to obtain state regulator
contact information to print on confirmation slips and receipts.
doddFrankStateRegulatorInfoRequest
Field Summary
• dfJurisdiction
Field Detail
dfJurisdiction string The US state or territory for which to return regulator application
information.
Length: 2
Additional Information
Must be a valid state code
1. If no value is provided, the response returns
information for all states and territories
doddFrankStateRegulatorInfoResponse
Field Summary
• stateRegulatorInfo □ stateRegulatorPhone
□ version □ stateRegulatorName
□ dfJurisdiction • longLanguageCode
□ stateRegulatorURL • textTranslation
Field Detail
8. variableReceiptInfo
The agent application uses the variableReceiptInfo API to obtain variable receipt information to
print on redirect or as Terms and Conditions during a Money transfer transaction.
MoneyGram uses Unicode to encode character strings that need to be displayed on screens and/or
receipts. Unicode is a standard which defines a universal character set. In XML, representations of
Unicode are: Ӓ or 􏿽
For example,
ó is Unicode (U+00F3) which is decimal 243. This can be represented in XML as either ó or
ó
AgentConnect clients will need to use the appropriate parsing algorithms to convert from the XML
Unicode representation to the encoding needed for their own display devices and printers.
See http://www.w3.org/TR/unicode-xml/ for more information on the XML Unicode standard and
http://www.unicode.org/charts/ for information on Unicode characters themselves.
variableReceiptInfoRequest
Field Summary
• longLanguageCode
Field Detail
variableReceiptInfoResponse
Field Summary
□ version
□ receiptText
• receiptTextType
• textTranslation
Field Detail
version int The version number of the variable receipt information. Optional
9. industry
The agent application uses the industry API to obtain industry ID and names information for bill
payment.
industryRequest
Field Summary
• (None)
Field Detail
industryResponse
Field Summary
• industryInfoList
□ industryID
□ industryName
Field Detail
industryID String Generally the three letter code of Industries are returned. N/A
6 characters
industryName string Name of the industry, such as GAS, ELECTRIC, MORTGAGE N/A
etc.
Table of Figures
Figure 1: Explanation of Process Flow Diagrams ...................................................................... vi
Figure 2: Example Error Dialog .............................................................................................. 9
Table 1: Character Mapping ................................................................................................. 10
Figure 3: AgentConnect High Availability Diagram .................................................................. 11
Figure 4: Product Development Cycle ................................................................................... 12
Figure 5: Proxy Configuration Screen .................................................................................... 19