User Tools

Site Tools


uwcfsmoneytransfer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
uwcfsmoneytransfer [2018/06/12 15:49]
Alexandr Grishin [RegisterClient]
uwcfsmoneytransfer [2018/11/21 12:40]
Line 1: Line 1:
-====== UWCFSMoneyTransfers ====== 
  
-== API for receipt/​payment of MoneyPolo money transfers == 
- 
-\\ \\ 
- 
-===== Service address ===== 
- 
-Test web service address (for testing purposes) 
-[[https://​testapi.moneypolo.com:​26443/​UWCFSMoneyTransfer.asmx]] 
- 
-Real web service address 
-[[https://​api.moneypolo.com:​26442/​UWCFSMoneyTransfer.asmx]] 
- 
-<fc #​ff0000>​Please note, that test and prod keys are different from each other. Working key will be issued by MoneyPolo company at the end of the testing period.</​fc>​ 
- 
-\\ \\ 
- 
- 
- 
-===== Security ===== 
- 
-Every transmitted request must be signed by the secret key. Issuance of the key by the company MayzusFS to the 
-Client is performed at the beginning of testing. The key is changed at the transfer to the production version of the service. 
- 
-\\ \\ 
- 
-===== Request format ===== 
- 
-All the requests to the service are sent by standard tools by means of the SOAP webservice. 
- 
-<fc #​FF0000>​**ATTENTION! Any response of the system may be considered successful only if the object of the response does not contain errors!**</​fc>​ 
- 
-\\ \\ 
- 
-===== Methods ===== 
- 
-==== RegisterClient ==== 
-The method is applied for initial registration of the client in the MoneyPolo money transfer system. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| PersonRUID | Int32 | RUID of the client (Remote User ID - unique identificator on the merchant side) | 
-| FirstName | string | Client name | 
-| LastName | string | Client surname | 
-| BirthDate | date | Client date of birth in the format YYYY-MM-DD | 
-| CitizenshipCountry | string | Client citizenship country code | 
-| DocumentNumber | string | Client passport number | 
-| DocumentIssueDate | date | Passport issue date in the format YYYY-MM-DD | 
-| DocumentExpireDate | date | Passport expire date in the format YYYY-MM-DD | 
-| DocumentAuthority | string | Issuing authority | 
-| Phone | string | Client telephone number in the format 00n1...n12 | 
-| BirthCountry | string | | 
-| BirthCity | string | | 
-| StayCountry | string | | 
-| * OtherName | string | | 
-| ZipCode | string | | 
-| Region | string | | 
-| City | string | | 
-| Address | string | | 
-| ResidentialCountryCode | string | Country code of client residence (2-chars country code) | 
- 
-Request signature hash structure: 
-<​code>​ 
-PersonRUID + FirstName + LastName + BirthDate ​ 
-+ CitizenshipCountry + DocumentNumber +  
-+ DocumentIssueDate + DocumentExpireDate + DocumentAuthority +  
-+ Phone + BirthCountry + BirthCity + StayCountry + OtherName ​ 
-+ ZipCode + Region + City + Address + ResidentialCountryCode ​ + *key 
-</​code>​ 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
-| Approved| int| Toggle 0/1, if the client documents were checked or not. Only after check of the documents the client may send / receive the transfers. | 
- 
-\\ 
-==== SaveClient ==== 
-The method is applied for changing the client data in the MoneyPolo money transfer system. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID | int | Identifier of the client in the transfer system MoneyPolo (it is obtained in the result of calling the method [[#​RegisterClient|RegisterClient]]) | 
-| FirstName | string | Client name | 
-| LastName | string | Client surname | 
-| BirthDate | date | Client date of birth in the format YYYY-MM-DD | 
-| CitizenshipCountry | string | Client citizenship country code | 
-| DocumentNumber | string | Client passport number | 
-| DocumentIssueDate | date | Passport issue date in the format YYYY-MM-DD | 
-| DocumentExpireDate | date | Passport expire date in the format YYYY-MM-DD | 
-| DocumentAuthority | string | Issuing authority | 
-| Phone | string | Client telephone number in the format 00n1...n12 | 
-| BirthCountry | string | | 
-| BirthCity | string | | 
-| StayCountry | string | | 
-| * OtherName | string | | 
-| ZipCode | string | | 
-| Region | string | | 
-| City | string | | 
-| Address | string | | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + FirstName + LastName + BirthDate 
-+ CitizenshipCountry + DocumentNumber +  
-+ DocumentIssueDate + DocumentExpireDate + DocumentAuthority +  
-+ Phone + BirthCountry + BirthCity + StayCountry 
-+ OtherName + ZipCode + Region + City + Address + *key 
-</​code>​ 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
-| Approved| int| Toggle 0/1, if the client documents were checked or not. Only after check of the documents the client may send / receive the transfers. | 
- 
-\\ 
-==== CheckClient ==== 
-The method is applied for check of client data in the MoneyPolo money transfer system. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + *key 
-</​code>​ 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
-| FirstName | string | Client name | 
-| LastName | string | Client surname | 
-| BirthDate | date | Client date of birth in the format YYYY-MM-DD | 
-| DocumentNumber | string | Client passport number | 
-| CitizenshipCountry | string | Client citizenship country code | 
-| DocumentIssueDate | date | Passport issue date in the format YYYY-MM-DD | 
-| DocumentExpireDate | date | Passport expire date in the format YYYY-MM-DD | 
-| Approved | int | Toggle 0/1, if the client documents were checked or not. Only after check of the documents the client may send / receive the transfers. | 
- 
-\\ 
-==== GetReceiverList ==== 
-The method is applied for obtaining the list of previous recipients of the transfers for particular client. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + *key 
-</​code>​ 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int| Unique identifier of the client in the transfer system MoneyPolo | 
-| ReceiverID| int| Identifier of receiver | 
-| FirstName | string | Client name | 
-| LastName | string | Client surname | 
-| BirthDate | date | Client date of birth in the format YYYY-MM-DD | 
-| DocumentNumber | string | Client passport number | 
-| DocumentIssueDate | date | Passport issue date in the format YYYY-MM-DD | 
-| DocumentExpireDate | date | Passport expire date in the format YYYY-MM-DD | 
-| DocumentAuthority | string | Issuing authority | 
-| OtherName | string | | 
-| StayCountry | string | | 
-| BirthCountry | string | | 
-| BirthCity | string | | 
-| Zip | string | | 
-| Region | string | | 
-| City | string | | 
-| Address | string | | 
-| Phone | string |  | 
-| Email | string |  | 
- 
-\\ 
-==== SaveReceiver ==== 
-The method is applied for changing the recipient data in the MoneyPolo money transfer system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| Receiver | object | Object of the recipient (see method GetReceiverList) | 
- 
-* You pass 0 (zero) as value of ReceiverID field in case you creating new receiver. 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + ReceiverID + FirstName + LastName + OtherName ​ 
-+ BirthDate + DocumentNumber ​ 
-+ DocumentIssueDate + DocumentExpireDate + DocumentAuthority ​ 
-+ BirthCountry + BirthCity + StayCountry ​ 
-+ Zip + Region + City + Address + Email + Phone + *key 
-</​code>​ 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| ReceiverID| int| Unique identifier of receiver | 
- 
-\\ 
-==== GetCurrencyList ==== 
-The method is applied for obtaining the currency list with which the system works. \\ 
-The methods works without parameters. ​ 
- 
-Request signature hash structure: 
-<​code>​ 
-*key 
-</​code>​ 
- 
-\\ 
-In return the service sends the object with the attribute **Count**, the value of which indicates the 
-quantity of currencies in the system. If the value of the attribute Count is more than zero the a 
-element **Currencies** contains the elements of the currencies. 
- 
-List of attributes of the element currency: 
-^ Name ^ Type ^ Description ^ 
-| ID | int | Currency identifier | 
-| Code | string | Currency code | 
-| Description | string | Full denomination of the currency | 
-| MinimalBill | int | Minimal banknote | 
- 
-\\ 
-==== GetLimits ==== 
- 
-The method is applied for obtaining the limits for the particular client 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID | int|Client identifier in the transfer system MoneyPolo| 
-| CurrencyCode | string | Currency code | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + CurrencyCode + *key 
-</​code>​ 
- 
-In return the service send back the object with three attributes. The values of the attributes are 
-always calculated in the currency for which the request had been sent. 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| BranchLimit | decimal | Limit at the current moment for this branch (Every user of API is a virtual branch for the system) | 
-| ClientLimit | decimal | Limit for the current client (UserID) | 
-| DocumentReuiredFrom | decimal | Threshold amount, when the client sends the amount >= the limit is to ascertain that the actual data of the client are saved in the system and actual scans of the client documents are loaded. | 
- 
-\\ 
-==== GetCountryList ==== 
- 
-The method is applied for obtaining the list of countries with which the system works. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| CurrencyCode | string | | 
- 
-Request signature hash structure: 
-<​code>​ 
-CurrencyCode + *key 
-</​code>​ 
- 
-In return the service will send back the object with attribute **Сount**, the value of which indicates the 
-quantity of countries that work with this currency. If the attribute value is more then zero the element 
-**Countries** will contain the elements of records of countries. 
- 
-List of attributes of the element country: 
-^ Name ^ Type ^ Description ^ 
-| ID | int | Country identifier | 
-| Code | string | Country code | 
-| Description | string | Full name of the country | 
-| RegionsCount | int | Quantity of regions in the country | 
- 
-\\ 
-==== GetRegionList ==== 
- 
-The method is applied for obtaining the list of regions for particular country. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| CountryID | int | ID of the country | 
- 
-Request signature hash structure: 
-<​code>​ 
-CountryID + *key 
-</​code>​ 
- 
-In return the service will send back the object with the attribute **Сount**, the value of which is the 
-quantity of regions for the country that operate with the currency. If the value of the attribute count is 
-more than zero the element **Regions** will contain the elements of records of regions. 
- 
-List of attributes of the element region: 
-^ Name ^ Type ^ Description ^ 
-| ID | int | Region identifier | 
-| Description | string | Full name of the region | 
- 
-\\ 
-==== GetCityList ==== 
- 
-The method is applied for obtaining the list of cities for particular country (region). 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| CountryID | int | ID of the country | 
-| RegionID| int | ID of the region. optional, default - 0 | 
-| CurrencyCode| string| Currency code | 
-| * Filter| string | Search filter. optional | 
- 
-Request signature hash structure: 
-<​code>​ 
-CountryID + RegionID + CurrencyCode + Filter + *key 
-</​code>​ 
- 
-In return the service will send back the object with the attribute **Сount**, the value of which is the 
-quantity of cities for the country/​region that operate with this currency. If the value of attribute count 
-is more than zero the element **Cities** will contain the elements of records of cities. 
- 
-The response may contain the optional parameter **CountryInfo** 
-The parameter may contain in the form of the formatted text the information text of the payment 
-system concerning the transfers to another contry. 
- 
-List of attributes of the element city: 
-^ Name ^ Type ^ Description ^ 
-| ID | int | City identifier | 
-| Description | string | Full name of the city | 
- 
-\\ 
-==== GetBankList ==== 
- 
-The method is applied for obtaining the list of banks for particular city. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| CityID | int | ID of the city | 
-| CurrencyCode| string| Currency code | 
-| Amount| decimal | Amount of transfer | 
-| * Filter| string | Search filter. optional | 
- 
-Request signature hash structure: 
-<​code>​ 
-CityID + CurrencyCode + Amount + Filter + *key 
-</​code>​ 
- 
-In return the service will send back the object with the attribute **Сount**, the value of which is the 
-quantity of banks of the city that work with this currency. If the value of the attribute count is more 
-than zero the element **Banks** will contain the elements of record of banks. 
- 
-List of attributes of the element bank: 
-^ Name ^ Type ^ Description ^ 
-| ID | int | Bank identifier (on test environment,​ always use value 673310 as BankID for any requests) | 
-| Name | string | Full name of the bank | 
-| Address| string | | 
-| WorkingHours| string | | 
-| WorkingDays| string | | 
-| Currencies| string | Currencies bank works with | 
-| Phone| string | | 
-| RemoteID| Uint | Bank identifier in the recipient’s payment system. | 
-| PSCODE| string | Payment system code of actual bank | 
-| ApproximateComission| decimal| Approximate commission for the actual bank for indicated in the request amount and currency | 
-| PayoutType| string | Payout type. Separated by ; (Example: BANK;CASH) * **important:​ if point only have BANK payout type defined, you must fill in all PayoutBank* fields in Check/​AddOutgoing methods!** | 
-| BankDataPrefilled| string |  | 
-| PayoutBankName| string | Used for BANK payout type | 
-| PayoutBankBranch| string | Used for BANK payout type | 
-| PayoutBankBranchCode| string | Used for BANK payout type | 
- 
-\\ 
-==== GetComission ==== 
- 
-The method is applied for commission calculation 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| Amount| decimal | Amount of transfer | 
-| CurrencyCode| string| Currency code | 
-| BankID | int | ID of the bank | 
-| ComissionIncluded| int | 0/1 toggle if the commission is included or not | 
-| UserID| int | ID of sender (* optional) | 
-| Discount| string| Discount code (*optional) | 
-| AutoProcess| string| (1/0) Automatic process marker. (*optional) For more information about autoprocess details and limits, please, contact technical support. | 
- 
-Request signature hash structure: 
-<​code>​ 
-BankID + ComissionIncluded + CurrencyCode + Amount + UserID 
-+ Discount + AutoProcess + *key 
-</​code>​ 
- 
-Calculated commission is returned in the attribute **TransactionFee**. In case of the commission is 
-included in the transfer amount the system will recalculate the sent amount in such a way that new amount of 
-transfer including the commission would not exceed the stated by the client amount of money and would be 
-divisible by the minimal banknote of the currency (the system does not operate with coins). 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransactionFee| decimal | Commission for transfer | 
-| TransactionAmount| decimal | In case if the parameter **ComissionIncluded** was transferred with the value «1», in the value if the attribute there will be indicated the amount that will be sent to the recipient. | 
-| BankName| string |  | 
-| BankAddress| string |  | 
-| BankCode| string |  | 
-| BankHeadOfficeInfo| string | Information about head office of the bank | 
-| BankInfo| string | Information about bank | 
-\\ 
-==== CheckOutgoing ==== 
- 
-The method is applied for checking the outgoing transfer 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| Amount| decimal | Amount of transfer | 
-| CurrencyCode| string| Currency code | 
-| BankID | int | ID of the bank | 
-| ComissionIncluded| int | 0/1 toggle if the commission is included or not | 
-| UserID| int | ID of sender | 
-| ReceiverID| int | ID of receiver | 
-| Discount| string| Discount code (*optional) | 
-| AutoProcess| string| (1/0) Automatic process marker. (*optional) For more information about autoprocess details and limits, please, contact technical support. | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + ReceiverID + BankID + ComissionIncluded + CurrencyCode + Amount 
-+ Discount + AutoProcess + *key 
-</​code>​ 
- 
-The response of the server shall be checked for availability of errors, in case of absence of errors the 
-check is successful and the service will send back the attribute **TransactionFee** that contain the 
-commission for transfer in the transfer system MoneyPolo 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransactionFee| decimal | Commission for transfer | 
-| TransactionFeeOriginal| decimal | internal | 
-| DiscountError| string | Error when using the discount | 
-\\ 
-==== AddOutgoing ==== 
- 
-The method is applied for location new outgoing transfer in the system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| Amount| decimal | Amount of transfer | 
-| CurrencyCode| string| Currency code | 
-| BankID | int | ID of the bank | 
-| ComissionIncluded| int | 0/1 toggle if the commission is included or not | 
-| UserID| int | ID of sender | 
-| ReceiverID| int | ID of receiver | 
-| Discount| string| Discount code (*optional) | 
-| AutoProcess| string| (1/0) Automatic process marker. (*optional) For more information about autoprocess details and limits, please, contact technical support. | 
-| OriginOfFunds| string| additional info related to the source of funds | 
-| * UniqueID| int32| optional. ([0-9]*) Unique ID (Int32) of request from Merchant. If system receive request with same UniqueID, that was used before – it will ignore current variables in request and return the same answer as before . | 
-| PurposeOfFunds| string| additional info related to the purpose of transfer | 
-| SenderIsPoliticallyExposedText| string| * leave empty if next field is equal to 0  | 
-| SenderIsPoliticallyExposed| string| 0/1 flag | 
-| PayoutTypeCode| string| Payout type. Available payout type for bank see in [[uwcfsmoneytransfer#​getbanklist|GetBankList]] method. Leave empty if payout type is CASH | 
-| PayoutBankName| string| Used for BANK payout type | 
-| PayoutBankAccountNumber| string| Used for BANK payout type | 
-| PayoutBankBranch| string| Used for BANK payout type | 
-| PayoutBankBranchCode| string| Used for BANK payout type | 
-| OriginOfFundsCode| string| Origin of funds code (see [[uwcfsmoneytransfer#​gettechnicallists|GetTechnicalLists]]). in case of "​OTHER"​ option is selected, client must specify details into field OriginOfFunds. | 
-| PurposeOfFundsCode| string| Purpose of funds code (see [[uwcfsmoneytransfer#​gettechnicallists|GetTechnicalLists]]). in case of "​OTHER"​ option is selected, client must specify details into field PurposeOfFunds. | 
-| PayoutBankCurrencyOfAcc| string| Used for BANK payout type | 
-| PayoutBankCity| string| Used for BANK payout type | 
-| MerchantDocumentID| string| optional. Request ID from the Merchant. If system receives the request with the same MerchantDocumentID,​ which was previously used, it will be returned with already existing transaction data. Use it to re-process transaction in case if previous request was failed. System will ignore it in case if UniqueID is filled. | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + ReceiverID + BankID + ComissionIncluded + CurrencyCode + Amount 
-+ Discount + AutoProcess + OriginOfFunds + UniqueID + PurposeOfFunds ​ 
-+ SenderIsPoliticallyExposedText + SenderIsPoliticallyExposed ​ 
-+ PayoutTypeCode + PayoutBankName + PayoutBankAccountNumber ​ 
-+ PayoutBankBranch + PayoutBankBranchCode + OriginOfFundsCode ​ 
-+ PurposeOfFundsCode + PayoutBankCurrencyOfAcc + PayoutBankCity ​ 
-+ MerchantDocumentID + *key 
-</​code>​ 
- 
-The service response shall be checked for availability of the errors, in case of absence of errors the 
-check is successful and the service will send back the attribute **TransferID** 
- 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | ID of the transfer in the transfer system MoneyPolo | 
-| TransferNumber| string | Transfer reference number for receiver, if not empty | 
-| CustomerStatementRequired| string | If equals to "​1",​ you need to call SaveCustomerStatement for actual transfer. Transaction will be checked by AML| 
-| SecurityCode| string | Can be used as an additional number/​code/​pin that the receiver of funds has to provide in order to receive money in the specific branch. | 
-\\ 
-==== CheckIncoming ==== 
- 
-The method is applied for checking the existence of incoming transfer in the system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| ReferenceNumber| string| Transfer identifier in the system (supplied by the system of sender) | 
-| CurrencyCode| string| Currency code | 
-| Amount| decimal | Amount of transfer | 
-| UserID| int | ID of receiver| 
-| FirstName| string| Name of receiver | 
-| LastName| string| Surname of receiver | 
-| DocumentNumber| string| Passport number of receiver | 
- 
-Request signature hash structure: 
-<​code>​ 
-ReferenceNumber + CurrencyCode + Amount + UserID 
- + FirstName + LastName + DocumentNumber + *key 
-</​code>​ 
- 
-It is necessary to check the response of the service for availability of errors, in case of absence of 
-errors the check is successful and the service will send back the attribute **TransferID** which contains 
-the ID of the transfer in the transfer system MoneyPolo 
- 
-Other response parameters: 
-^ Name ^ Type ^ Description ^ 
-| ReceiverFirstName| string | | 
-| ReceiverLastName| string |  | 
-| SenderFirstName| string | | 
-| SenderLastName| string | | 
- 
-\\ 
-==== PayIncoming ==== 
- 
-The method is applied for obtaining and payment of incoming transfer in the system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int | ID of receiver| 
-| TransferID| int | ID of the transfer in the system (obtained from the response of the method CheckIncoming)| 
-| ReferenceNumber| string | Transfer identifier in the system (supplied by the system of sender) | 
-| CurrencyCode| string| Currency code | 
-| Amount| decimal | Amount of transfer | 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + TransferID + ReferenceNumber + CurrencyCode + Amount + *key 
-</​code>​ 
- 
-In the response of the service it is necessary to check the availability of the errors and **Status** 
-attribute. In case of absence of errors and Status value equal to “**PAID**”,​ the payment was 
-done successfully. 
- 
-\\ 
-==== GetOutgoingInfo ==== 
- 
-The method is applied for obtaining the information about outgoing transfer in the system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | Identifier of the transfer in the system| 
- 
-Request signature hash structure: 
-<​code>​ 
-TransferID + *key 
-</​code>​ 
- 
-In the response of the service it is necessary to check the availability of the errors. In case of 
-absence of errors, there will be present the attribute **Status** in the value of which there will be the 
-information about actual status of the transfer. 
-The system has ability to send automatic notifications about transfer status change, in that case, this 
-is the method you must call after receiving notification. Otherwise the system-sender shall request at 
-regular intervals itself or upon request of users the transfer status by means of this method. 
-(The table of possible transfer statuses is set below in the document) 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| Status| string| Transfer status | 
-| TransferNumber| string | Number of the transfer for identification in the payment system | 
- 
-\\ 
-==== GetDiscountList ==== 
- 
-The method is applied for obtaining the list of possible discounts for the client. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int | ID of the client| 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + *key 
-</​code>​ 
- 
-In order to apply a discount its code (attribute Code) shall be transferred to the methods of 
-calculation of commission (GetComission + it is necessary to transfer ClientID), checking 
-(CheckOutgoing) and location (AddOutgoing) of the transfer. 
- 
-\\ 
-==== GetBankFields ==== 
- 
-The method is applied for obtaining the list of obligatory fields for sending the transfer to the 
-particular bank. 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| BankID| int | ID of the bank| 
- 
-Request signature hash structure: 
-<​code>​ 
-BankID + *key 
-</​code>​ 
- 
-In return the service sends back the object with the attribute count, the value of which is the quantity of found obligatory fields. If the value of the attribute count is more than zero the element **BankFields** contains the elements of fields. 
- 
-List of attributes of BankField: 
-^ Name ^ Type ^ Description ^ 
-| Name| string | Field name (key field)| 
-| * Caption| string |  | 
-| * CaptionRussian| string |  | 
-| * Mask| string | Regular expression by means of which the clearing center checks the set value, **often only by means of regular expression it is possible to understand what should be in the field** | 
-| * Comment| string |  | 
-| * CommentRussian| string |  | 
-| * Example| string | Example of filling | 
- 
-All attributes except name may be not field. 
- 
-In the methods CheckOutgoing and AddOutgoing there is optional field AdditionalFields to which actually shall be added the transfer fields in the format name=value##​name1=value1#​nameX=valueX where name – field Name from the object BankField. 
- 
-Next fields are to be filled but we have them in the corresponding methods SaveClient/​SaveReceiver in other words if these fields are present in the list of obligatory fields and they were not yet filled in the corresponding method previously they must be obligatory saved by the sender (SaveClient) and consequently by the recipient (SaveReceiver) 
- 
-sSurName — Client.OtherName \\ 
-sBirthday — Client.BirthDate \\ 
-sCountry - Client.Country \\ 
-sZipCode - Client.Zip \\ 
-sRegion - Client.Region \\ 
-sCity - Client.City \\ 
-sAddress - Client.Address \\ 
-sPhone - Client.Phone \\ 
-sIDnumber - Client.DocumentNumber \\ 
-sIDdate - Client.DocumentIssueDate \\ 
-sIDwhom - Client.DocumentAuthority \\ 
-sIDexpireDate — Client.DocumentExpireDate \\ 
-bSurName — Receiver.OtherName \\ 
-bBirthday — Receiver.BirthDate \\ 
-bCountry - Receiver.Country \\ 
-bZipCode - Receiver.Zip \\ 
-bRegion - Receiver.Region \\ 
-bCity - Receiver.City \\ 
-bAddress - Receiver.Address \\ 
-bPhone - Receiver.Phone \\ 
-bIDnumber - Receiver.DocumentNumber \\ 
-bIDdate - Receiver.DocumentIssueDate \\ 
-bIDwhom - Receiver.DocumentAuthority \\ 
-bIDexpireDate - Receiver.DocumentExpireDate \\ 
- 
-all other received fields GetBankFields – it is necessary to try to fill them and further on summarize in the format key=meaning##​key2=meaning2 and send to the field AdditionalFields of the corresponding method. 
- 
-In course of time the fields that will be met most often in AdditionalFields will be added to the necessary methods or will be written statically if the situation conditions will allow that. 
- 
-\\ 
-==== GetHistory ==== 
- 
-The method is applied for obtaining the history of sent transfers 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int | Identifier of a user in the system| 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + *key 
-</​code>​ 
- 
-In the return the service will send back the object with the attribute **Сount**, the value of which is the quantity of transfers of the user. If the value of the attribute count is more than zero the element **Tranfers** will contain the elements of record of the transfers. 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-|ID |int |Transfer identifier| 
-|Type |string |Transfer type (IN/OUT)| 
-|TransferNumber |string |Transfer number| 
-|State |string |Transfer state| 
-|Amount |decimal | | 
-|Currency |string | | 
-|Date |string |Date of sending| 
-|Time |string |Time of sending| 
-|CorrespondentID |int |Correspondent identifier – of recipient/​sender (depending upon transfer type)| 
-|CorrespondentFirstName |string | | 
-|CorrespondentLastName |string | | 
-|CorrespondentBirthDate |string | | 
-|CorrespondentCountryID |int |Identifier of the correspondent country| 
-|CorrespondentCountry |string | | 
-|CorrespondentCityID |int |Correspondent city identifier| 
-|CorrespondentCity |string | | 
-|CorrespondentBankID |int |Correspondent bank identifier| 
-|CorrespondentBankName |string | | 
-|CorrespondentBankAddress |string | | 
-|PaymentType |string |Code of payment type of the transfer| 
-|IsTemplate |string |Toggle, that the sent transfer is a template| 
- 
-\\ 
-==== SetTemplate ==== 
- 
-The method is applied for setting the toggle of the template on the transfer 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int | Identifier of a user in the system| 
-| TransferID| int | Identifier of a transfer in the system| 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + TransferID + *key 
-</​code>​ 
- 
-After successful setting of the toggle on the transfer it may be used when sending by template. 
- 
-\\ 
-==== RemoveTemplate ==== 
- 
-The method is used for resetting the toggle of the template on the transfer 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| UserID| int | Identifier of a user in the system| 
-| TransferID| int | Identifier of a transfer in the system| 
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + TransferID + *key 
-</​code>​ 
- 
-After successful resetting of the toggle on the transfer it can not be used when sending by template but it will continue to appear in the history of the transfers of the user. 
- 
-\\ 
-==== LockOutgoing ==== 
- 
-The method is applied for blocking the transfer for introducing amendments 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | Identifier of the transfer in the system| 
-| OperatorID| int | Identifier of the operator, on default = 0| 
- 
-Request signature hash structure: 
-<​code>​ 
-TransferID + OperatorID + *key 
-</​code>​ 
- 
-In case of successful blocking of the transfer in the response of the service there will be returned the field Status with the value CHANGE. After that the transfer may be amended by means of the method ChangeOutgoing. 
- 
-\\ 
-==== UnlockOutgoing ==== 
- 
-The method is applied for release of the blocking of the transfer 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | Identifier of the transfer in the system| 
-| OperatorID| int | Identifier of the operator, on default = 0| 
- 
-Request signature hash structure: 
-<​code>​ 
-TransferID + OperatorID + *key 
-</​code>​ 
- 
-In case of successful release of the blocking of transfer in the response of the service there will be returned the field Status with the status value that was applied to the transfer prior to block setting. 
- 
-\\ 
-==== ChangeOutgoing ==== 
- 
-The method is applied for recording the modifications in the sent transfer on the side of payment 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | Identifier of the transfer in the system| 
-| OperatorID| int | Identifier of the operator, on default = 0| 
- 
-Request signature hash structure: 
-<​code>​ 
-TransferID + OperatorID + *key 
-</​code>​ 
- 
-The typical script of implementation of this method – the user sends the transfer to the recipient and 
-commits an error in the name or surname. At the delivery point the recipient is refused to be paid the 
-transfer referring to the committed error. The user has the possibility to correct the information about 
-recipient (method SaveReceiver),​ after that he blocks the transfer, sends the enquiry for modification 
-and unblocks the transfer. In the result the operator at the delivery point immediately sees 
-amendments in the initials (any data) of the recipient. 
- 
-In case of successful amendment of the transfer in the response of the service there will be returned 
-the field Status with the value CHANGE. After completing the work on amendment of the transfer it 
-shall be unblocked by means of method UnlockOutgoing 
- 
-\\ 
-==== GetOperationsByDate ==== 
- 
-The method is applied for obtaining the list of all transfers made by agent operations by exact date 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| Date| string | Date to search operations in | 
-| OperatorID| int| Operator ID, 0 by default | 
- 
-Request signature hash structure: 
-<​code>​ 
-Date + OperatorID + *key 
-</​code>​ 
- 
-In the return the service will send back the object with the attribute **Сount**, the value of which is the quantity of operations that meet the filters. If the value of the attribute count is more than zero the element **Operations** will contain the elements of record of the transfers. 
- 
-List of attributes of the element Operation: 
-^ Name ^ Type ^ Description ^ 
-| ID| int| Transfer ID | 
-| Type| string | Transfer type (IN/OUT)| 
-| TransferNumber| string| | 
-| State| string| Transfer actual status| 
-| Amount| decimal| | 
-| Currency| string| | 
-| Date| string| Sending date | 
-| Time| string| Sending time | 
-| OperatorID| int| operator ID | 
-| CardNumber| int| Client card number | 
- 
-\\ 
-==== GetIncomingInfo ==== 
- 
-The method is applied for obtaining information about incoming transfer 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| TransferID| int | Identifier of the transfer in the system| 
- 
-Request signature hash structure: 
-<​code>​ 
-TransferID + *key 
-</​code>​ 
- 
-In the response of the service it is necessary to check the availability of the errors. In case of absence of errors, there will be present the attribute **Status** in the value of which there will be the information about actual status of the transfer. 
- 
-Response parameters: 
-^ Name ^ Type ^ Description ^ 
-| Status| string | | 
-| TransferNumber| string | | 
- 
-\\ 
-==== CheckIncomingByReference ==== 
- 
-The method is applied for checking the existence of incoming transfer in the system 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| ReferenceNumber| int | Transfer identifier in the system (supplied by the system of sender) | 
-| CurrencyCode| string| * optional. Currency code | 
-| Amount| decimal | * optional (but required for some cases, like Unistream transfers). Amount of transfer | 
- 
-Request signature hash structure: 
-<​code>​ 
-ReferenceNumber + CurrencyCode + Amount + *key 
-</​code>​ 
- 
-It is necessary to check the response of the service for availability of errors, in case of absence of 
-errors the check is successful and the service will send back the attribute **TrasnferReady** which 
-contains the value 1 or 0, which means true/false. 
- 
-Other response parameters: 
-^ Name ^ Type ^ Description ^ 
-| TrasnferReady| int |1/0 | 
-| ReceiverFirstName| string | | 
-| ReceiverLastName| string |  | 
-| ReceiverPhone| string |  | 
-| SenderFirstName| string | | 
-| SenderLastName| string | | 
-| SenderPhone| string | | 
-| OriginCountryCode| string | | 
-| TargetCountryCode| string | | 
-| OriginCity| string | | 
-| TargetCity| string | | 
-| CurrencyCode | string | | 
-| Amount | decimal | | 
- 
-\\ 
-==== GetCountryListNoCurrency ==== 
- 
-The method is applied for obtaining the list of countries with which the system works. 
- 
-Request signature hash structure: 
-<​code>​ 
-*key 
-</​code>​ 
- 
-In return the service will send back the object with attribute **Сount**, the value of which indicates the 
-quantity of countries that work with this currency. If the attribute value is more then zero the element 
-**Countries** will contain the elements of records of countries. 
- 
-List of attributes of the element country: 
-^ Name ^ Type ^ Description ^ 
-| ID| int | Country identifier | 
-| Code| string | | 
-| Description| string | Full name of the country | 
-| RegionsCount| int | Quantity of regions in the country | 
- 
-\\ 
-==== GetCityListNoCurrency ==== 
- 
-The method is applied for obtaining the list of cities for particular country (region). 
- 
-Request parameters: 
-^ Name ^ Type ^ Description ^ 
-| CountryID| int| ID of the country | 
-| RegionID| int| ID of the region, fill 0 by default. | 
-| Filter| string | * optional. search filter. | 
- 
-Request signature hash structure: 
-<​code>​ 
-CountryID + RegionID + Filter + *key 
-</​code>​ 
- 
-In return the service will send back the object with the attribute **Сount**, the value of which is the quantity of cities for the country/​region that operate with this currency. If the value of attribute count is more than zero the element **Cities** will contain the elements of records of cities. 
- 
-The response may contain the optional parameter **CountryInfo**. The parameter may contain in the form of the formatted text the information text of the payment system concerning the transfers to another contry. 
- 
-List of attributes city: 
-^ Name ^ Type ^ Description ^ 
-| ID| int | city ID | 
-| Description| string | full name of the city | 
- 
-\\ 
-==== GetTechnicalLists ==== 
- 
-The method is applied for obtaining technical lists. 
- 
-Method has no input parameters. 
- 
-Request signature hash structure: 
-<​code>​ 
-*key 
-</​code>​ 
- 
-In return the service will send back the list of objects. 
-Lists: ​ 
-  * OriginOfFundsList — contains objects UWCFSMoneyTransferOriginOfFunds. 
-  * PurposeOfFundsList — contains objects UWCFSMoneyTransferPurposeOfFunds. 
- 
-List of fields of objects UWCFSMoneyTransferOriginOfFunds and UWCFSMoneyTransferPurposeOfFunds:​ 
-^ Name ^ Type ^ Description ^ 
-| Code | string | Element code | 
-| Description| string | Element description | 
- 
- 
-\\ \\ 
-==== SaveCustomerStatement ==== 
- 
-The method is applied for saving customer statement when it is required by system AML rules. 
- 
-List of request object: 
-^ Name ^ Type ^ Description ^ 
-| UserID | int | ID of a user in the system |  
-| TransferID | int | ID of the transfer in the system |  
-| AgentFirstName | string | Name of the operator conducting the survey |  
-| AgentLastName | string | Surname of the operator conducting the survey | 
-| ClientFirstName | string | |  
-| ClientLastName | string | |  
-| ClientBirthDate | string | |  
-| ClientSex | string | M/F |  
-| ClientBirthPlace | string | |  
-| ClientCitizenship | string | |  
-| ClientDocumentNumber | string | | 
-| ClientDocumentAuthority | string | |  
-| ClientAddressPermanent | string | |  
-| ClientAddressCorrespondent | string | |  
-| ClientPhone | string | |  
-| ClientEmail | string | |  
-| TransactionPurpose | string | Purpose of transaction |  
-| TransactionSource | string | Source of fund |  
-| TransactionInfo | string | Additional information |  
-| CorrespondentName | string | Receiver'​s name and surname |  
- 
-Request signature hash structure: 
-<​code>​ 
-UserID + TransferID + AgentFirstName + AgentLastName ​ 
-+ ClientFirstName + ClientLastName + ClientBirthDate 
-+ ClientSex + ClientBirthPlace + ClientCitizenship ​ 
-+ ClientDocumentNumber + ClientDocumentAuthority 
-+ ClientAddressPermanent + ClientAddressCorrespondent ​ 
-+ ClientPhone + ClientEmail 
-+ TransactionPurpose + TransactionSource + TransactionInfo ​ 
-+ CorrespondentName + *key 
-</​code>​ 
- 
-As result of successfull request method will return an **ID** of saved statement. 
- 
-\\ \\ 
-===== Code samples ===== 
- 
-==== PHP sample ==== 
-<code php mt.connector.php>​ 
-<?php 
-class MT 
-{ 
-    protected $service; 
- 
-    private $algo = '​sha512';​ 
-    ​ 
-    private $merchantCode = 'PUT YOUR MERCHANT CODE HERE'; 
-    private $addr = '​https://​testapi.moneypolo.com:​26443/​UWCFSMoneyTransfer.asmx?​wsdl';​ 
-    private $key = 'PUT YOUR MERCHANT KEY HERE'; 
-    ​ 
-    public $data = array(); 
- 
-    /** 
-    * Constructs the service 
-    */ 
-    public function __construct () 
-    { 
-        try 
-        { 
- //DEBUG: array('​trace'​ => 1) 
-            $this->​service = new SoapClient($this->​addr,​ array('​trace'​ => 1)); 
-        } 
-        catch (Exception $e) 
-        { 
-            return $e->​getMessage();​ 
-        } 
-    } 
- 
-    /** 
-    * Provides managment of errors calling the service'​s methods 
-    */ 
-    public function __call($name,​ $arguments) 
-    { 
-        $result = false; 
-        $max_retries = 5; 
-        $retry_count = 0; 
- 
-        while(!$result && $retry_count < $max_retries) 
-        { 
-            try 
-            { 
-                $result = parent::​__call($name,​ $arguments);​ 
-            } 
-            catch(SoapFault $fault) 
-            { 
-                if($fault->​faultstring != 'Could not connect to host') 
-                { 
-                    throw $fault; 
-                } 
-            } 
-            sleep(1); 
-            $retry_count++;​ 
-        } 
-        if ($retry_count == $max_retries) 
-        { 
-            throw new SoapFault('​Could not connect to host after 5 attempts'​);​ 
-        } 
-        return $result; 
-    } 
- 
-    public function Prepare_Data($request,​ $signatureData) 
-    { 
-        $this->​data['​request'​] = array();  
-  
- $this->​data['​request'​] = $request; 
- 
-        $this->​data['​sign'​]['​MerchantCode'​] = $this->​merchantCode;​ 
- 
-        $signString = $signatureData . $this->​key;​ // build $signatureData for each method as described in documentation. http://​wiki.moneypolo.com/​doku.php/​uwcfsmoneytransfer 
-        ​ 
-        $this->​data['​sign'​]['​Sign'​] = strtoupper( 
-            hash($this->​algo,​ $signString) 
-        ); 
-        return true; 
-    } 
-    ​ 
-    public function Send($methodName = '​GetServiceTypesList'​) 
-    { 
- $result = $this->​service->​{$methodName}($this->​data);​ 
- //echo "​REQUEST:​\n"​ . htmlspecialchars($this->​service->​__getLastRequest()) . "​\n";​ 
- //echo "​RESPONSE:​\n"​ . htmlspecialchars($this->​service->​__getLastResponse()) . "​\n";​ 
-        return $result; 
-    } 
-} 
-</​code>​ 
- 
-<code php mt.php> 
-<?php 
-$timezone = '​Europe/​Prague';​ 
-date_default_timezone_set($timezone);​ 
- 
-require_once ('​./​mt.connector.php'​);​ 
-$MTRequest = new MT(); 
- 
-$request = array(); 
-$request['​CountryID'​] = '​2135';​ 
-$request['​RegionID'​] = '​0';​ 
- 
-$signatureData = implode('',​ $request); // read documentation about signature structure for each webmethod! 
- 
-if($MTRequest->​Prepare_Data($request,​ $signatureData)) ​ 
-{ 
-    $result = $MTRequest->​Send('​GetCityListNoCurrency'​);​ 
-} 
- 
-echo '<​h1>​Result</​h1><​pre>';​ 
-print_r($result);​ 
-echo '</​pre>';​ 
-</​code>​ 
- 
-\\ \\  
-==== C# sample ==== 
-<code C#> 
-using System.Text;​ 
-using System.Security.Cryptography;​ 
- 
-... 
- 
-string key = "PUT YOUR MERCHANT KEY HERE"; 
- 
-// MT here is the webreference to https://​testapi.moneypolo.com:​26443/​UWCFSMoneyTransfer.asmx 
-MT.UWCFSMoneyTransferSoapClient ws = new MT.UWCFSMoneyTransferSoapClient();​ 
-MT.UWCFSMoneyTransferGetComissionRequest request = new MT.UWCFSMoneyTransferGetComissionRequest();​ 
-MT.Signature sign = new MT.Signature();​ 
-MT.UWCFSMoneyTransferGetComissionResponse response; 
- 
-request.Amount = 100M; 
-request.BankID = 673309; 
-request.ComissionIncluded = 0; 
-request.CurrencyCode = "​USD";​ 
- 
-sign.MerchantCode = "PUT YOUR MERCHANT CODE HERE"; 
-string hashData = request.BankID.ToString() + request.ComissionIncluded.ToString() + request.CurrencyCode + request.Amount.ToString() + request.UserID.ToString() + key; 
-sign.Sign = HASH.getHash512(hashData).ToUpper();​ 
- 
-response = ws.GetComission(request,​ sign); 
- 
-... 
- 
-public static class HASH 
-    { 
-        public static string getHash512(string data) 
-        { 
-            string hash = "";​ 
- 
-            UTF8Encoding enc = new UTF8Encoding();​ 
-            SHA512Managed sha = new SHA512Managed();​ 
-            byte[] dataBytes = enc.GetBytes(data);​ 
-            byte[] hashBytes = sha.ComputeHash(dataBytes);​ 
- 
-            foreach (byte b in hashBytes) 
-            { 
-                hash += String.Format("​{0:​x2}",​ b); 
-            } 
- 
-            return hash; 
-        } 
-    } 
- 
-</​code>​ 
- 
-\\ \\ 
-===== Sending transfer flow  ===== 
- 
-  - Check all the necessary data of the client. Fields for name, surname, date of birth, passport number, ISO code of the country, date of passport issue, date of passport expiry and phone must be filled. 
-  - If the client does not have the assigned PSUSERID – it is necessary to send the request [[#​RegisterClient|RegisterClient]] and check the attribute APPROVED. If the attribute value is equal to «1» - the client has already been registered and checked, it is possible to pass to step 4. If the value is equal to «0» - the client is registered, but is waiting for approval of the documents by the operator. To inform the client that he can not send the transfers before the checking procedure. 
-  - If the client already has PSUSERID — it is necessary to send the request [[#​CheckClient|CheckClient]] and compare the results with local data. If the data are same but attribute APPROVED == '​0'​ it is necessary to inform the client that he can not send the transfers before checking procedure. If the data are different it is necessary to send request [[#​SaveClient|SaveClient]] and transfer new data of the client regardless the value of attribute APPROVED. 
-  - When using test environment,​ you can make money transfers only to MoneyPolo branches (for example to Prague or London). We can't guarantee that money transfers to partner systems will be working in test environment. 
-  - Obtain currencies by [[#​GetCurrencyList|GetCurrencyList]] 
-  - Obtain countries by [[#​GetCountryList|GetCountryList]] ​ 
-  - Obtain cities by [[#​GetCityList|GetCityList]] 
-  - Obtain banks by [[#​GetBankList|GetBankList]] 
-  - Calculate the commission by [[#​GetComission|GetComission]] 
-  - Obtain the list of recipients by [[#​GetReceiverList|GetReceiverList]] 
-  - Save the chosen recipient by [[#​SaveReceiver|SaveReceiver]]. If the list of recipients in previous step was empty (the client is sending the transfer for the first time) this request will just add first recipient to the client (parameter PSRECEIVERID is not transferred). 
-  - Check the transfer by [[#​CheckOutgoing|CheckOutgoing]] 
-  - Create transfer in the system by [[#​AddOutgoing|AddOutgoing]] 
- 
-\\ \\ 
-===== Payout transfer flow  ===== 
- 
-  - Check all the necessary data of the client. Fields for name, surname, date of birth, passport number, code of the country, date of passport issue, date of passport expiry and phone must be filled. 
-  - If the client does not have the assigned PSUSERID – it is necessary to send request [[#​RegisterClient|RegisterClient]] and check the attribute APPROVED. If the attribute value is equal to «1» - the client has already been registered and checked, it is possible to pass to step 4. If the value is equal to «0» - the client is registered, but is waiting for approval of the documents by the operator. To inform the client that he can not send the transfers before the checking procedure. 
-  - If the client already has PSUSERID — it is necessary to send request [[#​CheckClient|CheckClient]] and compare the results with local data. If the data are same but attribute APPROVED == '​0'​ it is necessary to inform the client that he can not send the transfers before checking procedure. If the data are different it is necessary to send request [[#​SaveClient|SaveClient]] and transfer new data of the client regardless the value of attribute APPROVED. 
-  - Obtain the list of currencies by [[#​GetCurrencyList|GetCurrencyList]] 
-  - Check the transfer by [[#​CheckIncoming|CheckIncoming]] 
-  - Payout transfer by [[#​PayIncoming|PayIncoming]] 
- 
- 
-\\ \\ 
- 
-===== Error codes ===== 
- 
-^ Code ^ Description ^ 
-|-10000 | Internal error during processing of incoming parameters.| 
-|-9999 | Error of communication with the transfer system| 
-|-9998 | Unknown method of API| 
-|-9997 | Failed to change the condition of the transfer| 
-|-9996 | Failed to read the key of the client| 
-|-9995 | Wrong key of the client| 
-|-9994 | Wrong ID of the client| 
-|-9993 | Error during operation with data base| 
-|-9992 | Nonexistent code of the country| 
-|-9991 | Attempt to enter the number of the document that has already been assigned to another user of the system| 
-|-9990 | Nonexistent code of the currency| 
-|-9989 | Nonexistent code of the country for the country of birth| 
-|-9988 | Nonexistent code of the country for the country of residence| 
-|-9987 | Nonexistent client| 
-|-9986 | The client is not checked / not approved by the operator| 
-|-9985 | The transfer is not found| 
-|-9984 | The transfer is already processed| 
-|-9983 | Recipient data dose not coincide with the data indicated in the transfer| 
-|-9982 | The recipient with such data already exists| 
-|-9981 | The operation is denied for safety reasons. Contact the support team of the company MayzusFS| 
-|-9980 | The map is not found| 
-|-9979 | Wrong pin| 
-|-9978 | The data contain forbidden signs that are not included into the table Latin 2 | 
-|-9977 | Insufficient balance on the account for performing the operation| 
-|-9976 | Failed to pay the transfer, contact the support team of the company MayzusFS| 
-|-9975 | Wrong calculation of the amount indicated in the currency, check the rates| 
-|-9974 | The transfer is in the condition that does not allow to perform this operation| 
-|-9900 | Field PSUSERID is obligatory| 
-|-9901 | Field FNAME is obligatory| 
-|-9902 | Field LNAME is obligatory| 
-|-9903 | Field BDATE is obligatory| 
-|-9904 | Field PASSNUM is obligatory| 
-|-9905 | Field CCOUNTRY is obligatory| 
-|-9906 | Field LNAME is obligatory| 
-|-9907 | Field BDATE contains inadmissible date| 
-|-9908 | Field COUNTRY is obligatory| 
-|-9909 | Field CITY is obligatory| 
-|-9910 | Field BANK is obligatory| 
-|-9911 | Field AMOUNT is obligatory| 
-|-9912 | Field COMINC is obligatory| 
-|-9913 | Field PASSDATE contains inadmissible date| 
-|-9914 | Field PASSEXPDATE contains inadmissible date| 
-|-9915 | Field PSRECEIVERID is obligatory| 
-|-9916 | Field REFNUM is obligatory| 
-|-9917 | Field PASSEXPDATE is obligatory| 
-|-9918 | Field VARIABLE_SYMBOL is obligatory| 
-|-9919 | Field TRANSFERID is obligatory| 
-|-9920 | The passport validity is expired| 
-|-9921 | The validity period of the passport has not come| 
-|-9922 | Date of expiry must exceed the date of issue| 
-|-9923 | The transfer amount must be divisible by banknotes. The system does nor operate with coins.| 
-|-9924 | Error when opening the client account| 
-|-9925 | Field ReferenceNumber is obligatory| 
-|-9926 | Field Phone is obligatory| 
-|-9927 | Field PersonRUID is obligatory| 
-|-9928 | Field OperatorID is obligatory| 
-|-9929 | Field CardNumber is obligatory| 
-|-9930 | Field Pin is obligatory| 
-|-9931 | Field Language contains unsupported language| 
-|-9932 | Field DocumentAuthority is obligatory| 
-|-9933 | Field StayCountry is obligatory| 
-|-9934 | Field Address is obligatory| 
-|-606 | Invalid request signature| 
-\\ \\ 
- 
-===== Possible statuses of transfer ===== 
- 
-^ Code ^ Description ^ 
-| NEWTERM | New transfer set from the user terminal | 
-| NEWOPER | New transfer set by the operator | 
-| CHECKED | Confirmed transfer (ready for cash transactions or waiting the transfer to the bank) | 
-| PAID | The transfer is paid | 
-| PROCESS | Reserved for further using | 
-| ERROR | Error of transfer processing | 
-| SENT | Reserved for further using | 
-| DONE | All transfer operations are over | 
-| RETURN | Transfer to return | 
-| NEWINWARD | New incoming transfer | 
-| REQRETURN | The transfer is inquired for return | 
-| PAIDRETURN | The transfer was returned | 
-| CHANGE | The transfer is blocked for modifications | 
-| NEWAPI | New transfer set through API | 
-| CANCEL | The transfer was canceled | 
-| PAYREADY | The transfer is ready for payment and sending | 
-| PSRETURN | The transfer is returned by the partner system and ready for processing | 
uwcfsmoneytransfer.txt · Last modified: 2018/11/21 12:40 (external edit)