Show / Hide Table of Contents

Class InternationalService

IFS Web Services API Methods

Inheritance
System.Object
InternationalService
Namespace: WebServices
Assembly: WebServices.dll
Syntax
public class InternationalService : IEDI, IFiles, IInternationalOrders, IDomesticOrders, IReportingOrders, ITime, IClients, IEnrollment, IPartners, IServer, IUsers, ICertificateAuthority, ICustomers, IExchangeRates, IClearingReports

Methods

CancelPaidInternationalOrder(String)

Call to this Web service allows cancelling international money orders payments. Orders with cancellable payments should be in the state
• EP: Order paid.

A money order is uniquely identified with the international money order. Otherwise the Web service would return the InternationalOrder_NotFound error.

Order with cancellable payment is money order having a valid bilateral agreement, being in one of the states leading to payment cancellation state(refer to state transition diagram for full details). Otherwise the Web service would return the InternationalOrder_PaymentNotCancellable error.

If it fails to deserialized the information in File element or if it misses the money order international identifier, it returns the MsgHandling_InvalidXML_DeserializationError error.

NB.CTN will not be used to identify the order.

In the context of IFS.POST, payment cancellable orders between two IFS.Post partners needs to have the payable flag enabled.

Declaration
public string CancelPaidInternationalOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order cancellation information should be passed in the item file. If an office is specified, it must be authorized to cancel a paid order.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• CancelPaidInternationalOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Payment cancellation information as part of money order details , Cf. section 4.1 International Money order details

Ex:
<MoneyOrder XMLVersion="01">
<MOId>J20AAZAFRAORN2050000100269</MOId>
</MoneyOrder>"
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• CancelPaidInternationalOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Payment cancellation (EC) information as part of money order details if success.
If it fails, the original serialized money order.Cf. section 4.1 International Money order details"
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_PaymentNotCancellable
• InternationalOrder_InvalidCancelPaymentInformation
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result. See Code

ChangePassword(String)

Call to this Web service allows changing user password.

Declaration
public string ChangePassword(string envelope)
Parameters
Type Name Description
System.String envelope

The user change password should be passed in the item file.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• ChangePassword
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Ex:
<PasswordSubmit>
<Login>User1</Login>
<BusinessPartnerCd>J1CFRA</BusinessPartnerCd>
<Password>Password</Password>
<NewPassword>NewPassword</NewPassword>
</PasswordSubmit>"
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• ChangePassword
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]
Envelope/Task/Item/File[1..n]If success, serialized user with all information found on the IFS System including the hashed password. (described in section User details)
Envelope/Task/Item/Result[1..n]
Envelope/Task/Item/Result/Code[1..n]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• DeserializingPasswordSubmitObjectWithFile
• PasswordErrorCodesWithMinimunRequirement
Envelope/Task/Item/Result/Description[1..n]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetBilateralAgreements(String)

Call to this Web service return all the matching valid bilateral agreements.
Valid bilateral agreements are agreements with the following criteria:
• If element BusinessPartnerCode is specified, the issuing or paying organization match the specified element
• If element ProductCode is specified, only agreements with this product code are returned
• If element ProductTypeCode is specified, only agreements with this product type code are returned
• The agreement is not suspended
• The actual date is in the agreement validity period (between valid from and valid to dates)
• Returned agreement can be a test or production agreement

Declaration
public string GetBilateralAgreements(string envelope)
Parameters
Type Name Description
System.String envelope

The business partner code is optional. If not specified, messages from all partners will be received.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetBilateralAgreements
Envelope/Task/Item[0..1]
Envelope/Task/Item/ProductCode[0..1]Product code of the file to delete
• OR
• GT
• IN
• OT
Envelope/Task/Item/ProductTypeCode[0..1]Product type code of the file to delete
• N • U
Envelope/Task/Item/BusinessPartnerCode[0..1]Issuing or destination business partner
Ex: J1CBDA
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetBilateralAgreements
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..N]
Envelope/Task/Item/File[0..1 per Item]Serialized bilateral agreement
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_SerializationError
• U
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetCustomers(String)

This service is installed on the IFS Web server. Call to this Web service gets the customers that match the search done with the passed customer.

Declaration
public string GetCustomers(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetCustomers
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized CRecordedCustomer with the fields that will be used to do the search.
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetCustomers
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[0..1]
Envelope/Task/Item/File[0..n]If success, serialized CRecordedCustomers with all information found on the IFS System.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• Customers_InvalidSchema
• Customers_InvalidResponseSchema
• RecordCount_OverLimit
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result. See Code

GetDomesticAmountsToIssue(String)

Call to this Web service calculates the fee amount and set currencies, based on the corresponding service agreement, required for issuing a domestic money order.

Declaration
public string GetDomesticAmountsToIssue(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetDomesticAmountsToIssue
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order with at least one the following data
• Service agreement coder
• Product code
• Purchased amount
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetDomesticAmountsToIssue
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order with the fee amount and currencies if success.
If it fails, the original serialized money order.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• DomesticOrder_IssuingCalculationFailed
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetDomesticOrders(String)

Call to this Web service provides details about domestic money orders matching the provided information

Declaration
public string GetDomesticOrders(string envelope)
Parameters
Type Name Description
System.String envelope

included in envelope X509 certificate content See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetDomesticOrders
Envelope/Task/Item[1..n]Serialized domestic money order with at least one the following data
• Money order identifier
• CTN
• Recipient last name
• Sender last name
Envelope/Task/Item/MoneyOrderIdentifier[1 per Item]Ex: 9AZAOR13040000000001 (IFS money order)
Ex: 11330998229 (External money order)
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetDomesticOrders
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]
Envelope/Task/Item/MoneyOrderIdentifier[0..1 per Item]Ex: 9AZAOR13040000000001 (IFS money order)
Ex: 11330998229 (External money order)
Envelope/Task/Item/File[0..1 per Item]1 serialized domestic money order
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• DomesticOrder_NotFound
• MsgHandling_InvalidXML_SerializationError
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetInternationalAmountsToIssue(String)

Call to this Web service calculates amounts and set currencies, based on the corresponding bilateral agreement, required for issuing an international money order.
It calculates the transferred amount from deposited amount or it calculates deposited amount from transferred amount.
It indicates the exchange rate use in the deposited exchange rate element.
It calculates the fees according to the list of required services with fees for the agreement of the money order.
Then it calculates the remuneration amount according to the bilateral agreement settings.

Declaration
public string GetInternationalAmountsToIssue(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalAmountsToIssue
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with at least the following data
• Origin business partner
• Destination business partner
• Product code
• Product type code
• Deposited amount and currency OR Transferred amount and currency
Cf. section 4.1 International Money order details
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalAmountsToIssue
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with the amounts and currencies set if success.
If it fails, the original serialized money order.
Cf.section 4.1 International Money order details
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_IssuingCalculationFailed
• InternationalOrder_InvalidIssuingInformation
Envelope/Task/Item/Result/Description[1 per Item]

GetInternationalOrders(String)

Call to this Web service finds international money orders matching the provided information. It returns all the available details about the money orders (e.g. purchase information, sender, payee, list of events, payment information, payment’s beneficiary, etc ).
Starting from IFS 4.17 the GetInternationalOrders call to the web service is integrated with the UPU-IP.
It has been extended to find international money orders that are issued by external partners.

Declaration
public string GetInternationalOrders(string envelope)
Parameters
Type Name Description
System.String envelope

Payable money orders can be searched by their identifier or their CTN
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalOrders
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with at least the following data
• Money order identifier
• CTN
• Purchase local date and time
• Transferred value and currency
• Recipient last name
• Recipient mobile (with last name)
• Recipient country (with last name)
• Recipient city (with last name and country)
Cf. section 4.1 International Money order details
Returns
Type Description
System.String

It can return one item per money order found. If there is no money order, there will be one item with the result indicating that the order was not found.

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalOrders
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]Depending on the number of orders found.
Envelope/Task/Item/File[1 per Item]Serialized money order with the amounts and currencies set if success.
Cf.section 4.1 International Money order details
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Result]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_InvalidGetInformation
• U
Envelope/Task/Item/Result/Description[1 per Result]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetInternationalOrderToPay(String)

Call to this Web service finds payable international money orders matching the provided order identifier.
Provided identifier can be an international money order identifier issued by an IFS partner(e.g.J20AFRAJPAORU4070000015233), a CTN(e.g FRA0000015233) or an international money order identifier issued by an external partner(er 11330998229).

A payable money order should have a valid bilateral agreement, be in one of the states leading to payment state; usually one of the following states(refer to state transition diagram for full details):
• CC: New order
• DR: Cancellation request rejected
• EC: Payment information cancelled
• EW: Payment delayed
• NP: Payee notified for payment
• TD: Order pre-processing achieved

NB. In the context of IFS.POST, payable orders between two IFS.Post partners needs to have the payable flag enabled.

Declaration
public string GetInternationalOrderToPay(string envelope)
Parameters
Type Name Description
System.String envelope

Payable money orders can be searched by their identifier or their CTN.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalOrderToPay
Envelope/Task/Item/MoneyOrderIdentifierMoney order identifier or CTN issued by IFS partner
Ex: J20AAZAFRAORN2050000000009
Ex: AZA0000100269
Money order identifier issued by external partner
Ex: 11330998229
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetInternationalOrderToPay
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]Depending on the number of orders found.
Envelope/Task/Item/File[0..1 per Item]Serialized money order objects if success
Cf. section 4.1 International Money order details
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Result]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_NotPayable
Envelope/Task/Item/Result/Description[1 per Result]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetMobileBilateralAgreements(String)

The Web service is almost identical to GetBilateralAgreements(String).
The difference is that the returned serialized agreements only contain elements needed for the mobile application.

Declaration
public string GetMobileBilateralAgreements(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileBilateralAgreements
Envelope/Task/Item[0..1]
Envelope/Task/Item/ProductCode[0..1]Product code of the file to delete
• OR
• GT
• IN
• OT
Envelope/Task/Item/ProductTypeCode[0..1]Product type code of the file to delete
• N
• U
Envelope/Task/Item/BusinessPartnerCode[0..1]Issuing or destination business partner
• Ex: J1CBDA
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileBilateralAgreements
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]
Envelope/Task/Item/File[0..1 per Item]Serialized mobile bilateral agreement
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_SerializationError
• U
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetMobileCustomers(String)

This service is installed on the IFS Web server.
Call to this Web service gets for the mobile app the customers that match the search done with the passed customer.

Declaration
public string GetMobileCustomers(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileCustomers
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized CRecordedCustomer with the fields that will be used to do the search.
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileCustomers
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[0..1]
Envelope/Task/Item/File[0..n]If success, serialized CRecordedCustomers with the minimum information needed for the mobile app.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• Customers_InvalidSchema
• Customers_InvalidResponseSchema
• RecordCount_OverLimit
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result. See Code

GetMobileDomesticOrders(String)

Call to this Web service provides details about domestic money orders, issued using a mobile service agreement, matching the provided information.

Declaration
public string GetMobileDomesticOrders(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileDomesticOrders
Envelope/Task/Item[1..n]Serialized domestic money order with at least one the following data
• Money order identifier
• CTN
• Recipient last name
• Sender last name
Envelope/Task/Item/MoneyOrderIdentifierEx: 9AZAOR13040000000001
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileDomesticOrders
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]
Envelope/Task/Item/MoneyOrderIdentifier[0..1 per Item]
Envelope/Task/Item/File[0..1 per Item]1 serialized domestic money order
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• DomesticOrder_NotFound
• MsgHandling_InvalidXML_SerializationError
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetMobileInternationalOrders(String)

Call to this Web service finds international money orders, issued using a mobile bilateral agreement, matching the provided information.
It returns all the available details about the money orders (e.g. purchase information, sender, payee, list of events, payment information, payment’s beneficiary, etc ).
Starting from IFS 4.17 the GetInternationalOrders call to the web service is integrated with the UPU-IP. It has been extended to find international money orders that are issued by external partners.

Declaration
public string GetMobileInternationalOrders(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileInternationalOrders
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with at least the following data
• Money order identifier
• CTN
• Purchase local date and time
• Transferred value and currency
• Recipient last name
• Recipient mobile (with last name)
• Recipient country (with last name)
• Recipient city (with last name and country)
Cf. section 4.1 International Money order details
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileInternationalOrders
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]Depending on the number of orders found.
Envelope/Task/Item/File[0..1 per Item]Serialized money order objects if success
Cf.section 4.1 International Money order details
Envelope/Task/Item/Result[1 per Item]
Envelope/Task/Item/Result/Code[1 per Result]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_InvalidGetInformation
• U
Envelope/Task/Item/Result/Description[1 per Result]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetMobileServiceAgreements(String)

Call to this Web service return all the matching valid mobile service agreements.

Declaration
public string GetMobileServiceAgreements(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileServiceAgreements
Envelope/Task/Item[0..1]
Envelope/Task/Item/ProductCode[1 per Item] • OR
• GT
• IN
• OT
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetMobileServiceAgreements
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1..n]
Envelope/Task/Item/File[0..1 per Item]Serialized service agreement
Envelope/Task/Item/Result[0..1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_SerializationError
• U
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

GetServiceAgreements(String)

Call to this Web service return all the matching valid service agreements.

Declaration
public string GetServiceAgreements(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• GetServiceAgreements
Envelope/Task/Item[0..1]
Envelope/Task/Item/ProductCode[1 per Item]• OR
• GT
• IN
• OT
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• GetServiceAgreements
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1..n]Serialized service agreement
Envelope/Task/Item/Result[0..1 per Item]
Envelope/Task/Item/Result/Code[1 per Item]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_SerializationError
• U
Envelope/Task/Item/Result/Description[1 per Item]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

IssueDomesticOrder(String)

Call to this Web service issues a new domestic money order. The money order is checked against the corresponding service agreement before being stored in the database.

Declaration
public string IssueDomesticOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order issuing information should be passed in the item file. If an office is specified, it must be authorized to issue a new order See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• IssueDomesticOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order
Envelope/Task/Item/ForceIssuingIndicator• true
• false
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• IssueDomesticOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order with a CC event if success.
If it fails, the original serialized money order.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• DomesticOrder_InvalidIssuingInformation
• DomesticOrder_NoMatchingServiceAgreement
• DomesticOrder_InvalidOffice
• Issuing_SimilarMoneyOrder
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

IssueInternationalOrder(String)

Call to this Web service issues a new international money order.
The money order is checked against the corresponding bilateral agreement before being stored in the database.
Note that a call to this Web service does not send an EDI Monord message.
This operation is done later by a scheduled task.

Declaration
public string IssueInternationalOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order issuing information should be passed in the item file. If an office is specified, it must be authorized to issue a new order.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• IssueInternationalOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with purchase information. In addition to the mandatory purchase information, agreement information, deposited amount, transferred amount, remuneration amount, sender details and payee details must be provided.
Cf. section 4.1 International Money order details
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• IssueInternationalOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with a new CC event if success. Otherwise the original serialized money order.
Cf.section 4.1 International Money order details
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_IssuingCalculationFailed
• InternationalOrder_InvalidIssuingInformation
• U
Envelope/Task/Item/Result/Description[1]
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

Login(String)

This service is installed on the IFS Web server. Call to this Web service checks the login and password of the user.
The password is hashed.

Declaration
public string Login(string envelope)
Parameters
Type Name Description
System.String envelope

Payable money orders can be searched by their identifier or their CTN.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• Login
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized user with login, business partner, and clear password. (described in section User details)
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• Login
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[0..1]If success, serialized user with all information found on the IFS System including the hashed password. (described in section User details)
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• Login_NotFound
• User_Invalid
• Password_Incorrect
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

PayDomesticOrder(String)

Call to this Web service allows paying domestic money orders. The order should be payable.
The following payment information is mandatory.
• Money order identifier
• Paid amount
• First identification number (ex: passport number)

Declaration
public string PayDomesticOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order payment information should be passed in the item file. If an office is specified, it must be authorized to perform the payment.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• PayDomesticOrder
Envelope/Task/Item[1]
Envelope/Task/Item/MoneyOrderIdentifierSerialized domestic money order
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• PayDomesticOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order with EP event if success.
If it fails, the original serialized money order.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement • MsgHandling_InvalidXML_DeserializationError • MsgHandling_InvalidXML_SerializationError • DomesticOrder_NotFound • DomesticOrder_NotPayable • DomesticOrder_InvalidPaymentInformation • DomesticOrder_PayError_ErrorCheckingSecretCode • DomesticOrder_PayError_LockedBySecretCodeTries • DomesticOrder_PayError_WrongSecretCode • DomesticOrder_InvalidOffice • DomesticOrder_PayingThresholdError_EI • DomesticOrder_PayingThresholdError • DomesticOrder_InconsistentWithServiceAgreement • U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

PayInternationalOrder(String)

Call to this Web service allows paying international money orders. The order should be payable. The following payment information is mandatory.
• International money order identifier
• Paid amount
• First identification number(ex: passport number) for cash payment
• Bank account details for payment on account

A payable money order is uniquely identified with the international money order. Otherwise the Web service would return the InternationalOrder_NotFound error. A payable money order is money order having a valid bilateral agreement and being in one of the states leading to payment state(refer to state transition diagram for full details). Otherwise the Web service would return the InternationalOrder_NotPayable error. Web service can proceed to the payment of international order only if all the mandatory payment information is past(paid amount, payment beneficiary details which include the first identification number or the bank account details according to product and the M38 standard requirements). If required payment details are missing, it returns the InternationalOrder_InvalidPaymentInformation error.

If it fails to deserialized the information in File element or if it misses the money order international identifier, it returns the MsgHandling_InvalidXML_DeserializationError error.

NB. There is a requirement to communicate the secret code has this payment action is going to validate it. CTN will not be used to identify the order.
In the context of IFS.POST, payable orders between two IFS.Post partners needs to have the payable flag enabled.

Declaration
public string PayInternationalOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order payment information should be passed in the item file. If an office is specified, it must be authorized to perform the payment.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• PayInternationalOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Payment information as part of money order details
Cf. section 4.1 International Money order details
Ex:
<MoneyOrder XMLVersion"01"> <MOId>J20AAZAFRAORN2050000100269</MOId> <Events> <Event> <PaymentInformation> <PaidAmount>171946.49</PaidAmount> <PaidCurrencyCd>EUR</PaidCurrencyCd> <Beneficiary> <TitleCd>MM</TitleCd> <LastName>Dupond</LastName> <MiddleName>Jean</MiddleName> <FirstName>Michel</FirstName> <FstIdentificationTypeCd>PS</FstIdentificationTypeCd> <FstIdentificationNo>5697879854</FstIdentificationNo> </Beneficiary> <SecretCode>1</SecretCode> </PaymentInformation> </Event> </Events> </MoneyOrder>
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• PayInternationalOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Payment (EP) information as part of money order details if success.
If it fails, the original serialized money order.
Cf. section 4.1 International Money order details
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_NotPayable
• InternationalOrder_InvalidPaymentInformation
• InternationalOrder_PayError_ErrorCheckingSecretCode
• InternationalOrder_PayError_LockedBySecretCodeTries
• InternationalOrder_PayError_WrongSecretCode
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result. See Code

ReimburseDomesticOrder(String)

Call to this Web service allows reimbursing international money orders. Reimbursable orders should be in the state.
• EA: Reimbursement information cancelled
• ED: Cancellation request accepted (for OT and GT only)
• EE: Order expired (for OT only)
• EI: Payment impossible (for OT and GT only)
• NR: Sender notified for reimbursement (for IN and OR only)

Declaration
public string ReimburseDomesticOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order reimbursement information should be passed in the item file. If an office is specified, it must be authorized to perform the reimbursement.
See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• ReimburseDomesticOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• ReimburseDomesticOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized domestic money order with ER event if success.
If it fails, the original serialized money order.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• DomesticOrder_NotFound
• DomesticOrder_NotReimbursable
• DomesticOrder_InvalidReimbursementInformation
• DomesticOrder_InvalidOffice
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult.

ReimburseInternationalOrder(String)

Call to this Web service allows reimbursing international money orders.
Reimbursable orders should be in a state leading to reimbursement, one of the following:
• EA: Reimbursement information cancelled
• ED: Cancellation request accepted(for OT and GT only)
• EE: Order expired(for OT only)
• EI: Payment impossible(for OT and GT only)
• NR: Sender notified for reimbursement(for IN and OR only)

The following reimbursement information is mandatory:
• International money order identifier
• Paid amount
• Beneficiary’s name
• First identification number(ex: passport number) for cash reimbursement
• Bank account details for reimbursement on account

A reimbursable money order is uniquely identified with the international money order. Otherwise the Web service would return the InternationalOrder_NotFound error.

A reimbursable money order is money order having a valid bilateral agreement and being in one of the states leading to reimbursement state (refer to state transition diagram for full details). Otherwise the Web service would return the InternationalOrder_NotReimbursable error.

Web service can proceed to the reimbursement of international order only if all the mandatory reimbursement information is past (reimbursed amount, reimbursement beneficiary details which include the first identification number or the bank account details according to product and the M38 standard requirements). If required reimbursement details are missing, it returns the InternationalOrder_InvalidReimbursementInformation error.

If it fails to deserialized the information in File element or if it misses the money order international identifier, it returns the
MsgHandling_InvalidXML_DeserializationError
error.

NB. Secret code is not involved in reimbursement process.
CTN will not be used to identify the order.

Declaration
public string ReimburseInternationalOrder(string envelope)
Parameters
Type Name Description
System.String envelope

The money order reimbursement information should be passed in the item file. If an office is specified, it must be authorized to perform the reimbursement. See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• ReimburseInternationalOrder
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized money order with reimbursement information as part of money order details in PaymentInformation element
Cf. section 4.1 International Money order details
Ex:
<MoneyOrder XMLVersion"01"> <MOId>J20AAZAFRAORN2050000100269</MOId> <Events> <Event> <PaymentInformation> <PaidAmount>171946.49</PaidAmount> <PaidCurrencyCd>EUR</PaidCurrencyCd> <Beneficiary> <TitleCd>MM</TitleCd> <LastName>Dupond</LastName> <MiddleName>Jean</MiddleName> <FirstName>Michel</FirstName> <FstIdentificationTypeCd>PS</FstIdentificationTypeCd> <FstIdentificationNo>5697879854</FstIdentificationNo> </Beneficiary> </PaymentInformation> </Event> </Events> </MoneyOrder>
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• ReimburseInternationalOrder
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]Depending on the number of orders found.
Envelope/Task/Item/File[1]Reimbursement (ER) information as part of money order details if success.
If it fails, the original serialized money order.
Cf.section 4.1 International Money order details
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• InternationalOrder_NotFound
• InternationalOrder_NotReimbursable
• InternationalOrder_InvalidReimbursementInformation
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result.
See EnvelopeTaskItemResult

SetCustomer(String)

This service is installed on the IFS Web server. Call to this Web service stores a new customers.

Declaration
public string SetCustomer(string envelope)
Parameters
Type Name Description
System.String envelope

See Envelope

Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Call
Envelope/Task[1]
Envelope/Task@Code[1]• SetCustomer
Envelope/Task/Item[1]
Envelope/Task/Item/File[1]Serialized CRecordedCustomer with the fields that will be used to create/update the customer.
Returns
Type Description
System.String
Element or attributePossible values
Envelope@XMLVersion[1]• 2
Envelope@Direction[1]• Result
Envelope/Task[1]
Envelope/Task@Code[1]• SetCustomer
Envelope/Task/Success[1]• true
• false
Envelope/Task/DateTime[1]Ex: 2025-05-30T09:30:10Z
Envelope/Task/Item[1]
Envelope/Task/Item/File[0..n]If success, serialized CRecordedCustomer with all information found on the IFS System including the CustomerId.
Envelope/Task/Item/Result[1]
Envelope/Task/Item/Result/Code[1]• Success
• Envelope_MissingIncorrectElement
• MsgHandling_InvalidXML_DeserializationError
• MsgHandling_InvalidXML_SerializationError
• Customers_InvalidSchema
• Customers_InvalidResponseSchema
• Customers_StoreError
• U
Envelope/Task/Item/Result/Description[1]Description matching each Result/Code is presented in section Item result. See Code
Back to top Generated by DocFX