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
Next revision
Previous revision
uwcfsmoneytransfer [2016/09/26 14:55]
Anatolii Zhiliaev [Service address]
uwcfsmoneytransfer [2018/11/21 13:40] (current)
Dmitry Karpenko [CheckIncomingByReference]
Line 41: Line 41:
 Request parameters: Request parameters:
 ^ Name ^ Type ^ Description ^ ^ Name ^ Type ^ Description ^
-| PersonRUID | UInt32 ​| RUID of the client (Remote User ID - unique identificator on the merchant side) |+| PersonRUID | Int32 | RUID of the client (Remote User ID - unique identificator on the merchant side) |
 | FirstName | string | Client name | | FirstName | string | Client name |
 | LastName | string | Client surname | | LastName | string | Client surname |
Line 81: Line 81:
 Request parameters: Request parameters:
 ^ Name ^ Type ^ Description ^ ^ 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) |+| 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 | | FirstName | string | Client name |
 | LastName | string | Client surname | | LastName | string | Client surname |
Line 344: Line 344:
 List of attributes of the element bank: List of attributes of the element bank:
 ^ Name ^ Type ^ Description ^ ^ Name ^ Type ^ Description ^
-| ID | int | Bank identifier |+| ID | int | Bank identifier ​(on test environment,​ always use value 673310 as BankID for any requests) ​|
 | Name | string | Full name of the bank | | Name | string | Full name of the bank |
 | Address| string | | | Address| string | |
Line 455: Line 455:
 | PayoutBankCurrencyOfAcc| string| Used for BANK payout type | | PayoutBankCurrencyOfAcc| string| Used for BANK payout type |
 | PayoutBankCity| 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: Request signature hash structure:
Line 463: Line 464:
 + PayoutTypeCode + PayoutBankName + PayoutBankAccountNumber ​ + PayoutTypeCode + PayoutBankName + PayoutBankAccountNumber ​
 + PayoutBankBranch + PayoutBankBranchCode + OriginOfFundsCode ​ + PayoutBankBranch + PayoutBankBranchCode + OriginOfFundsCode ​
-+ PurposeOfFundsCode + *key++ PurposeOfFundsCode ​+ PayoutBankCurrencyOfAcc + PayoutBankCity  
 ++ MerchantDocumentID ​+ *key
 </​code>​ </​code>​
  
 The service response shall be checked for availability of the errors, in case of absence of errors the 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** ​that contain ID of the +check is successful and the service will send back the attribute **TransferID**
-transfer in the transfer system MoneyPolo. ​+
  
-There is more fields in answer ​ 
  
-- **TransferNumber** – it'​s ​transfer reference number for receiver, if not empty. +Response parameters:​ 
- +^ Name ^ Type ^ Description ^ 
-- **CustomerStatementRequired** – if equals to "​1",​ you need to call SaveCustomerStatement for actual transfer. Transaction will be checked by AML. +| 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 ==== ==== CheckIncoming ====
  
Line 561: Line 563:
  
 The method is applied for obtaining the list of possible discounts for the client. 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: Request signature hash structure:
 <​code>​ <​code>​
-*key+UserID + *key
 </​code>​ </​code>​
  
Line 763: Line 769:
  
 In case of successful amendment of the transfer in the response of the service there will be returned In case of successful amendment of the transfer in the response of the service there will be returned
-the field Status with the value CHANGED. After completing the work on amendment of the transfer it+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 shall be unblocked by means of method UnlockOutgoing
  
Line 825: Line 831:
 ^ Name ^ Type ^ Description ^ ^ Name ^ Type ^ Description ^
 | ReferenceNumber| int | Transfer identifier in the system (supplied by the system of sender) | | ReferenceNumber| int | Transfer identifier in the system (supplied by the system of sender) |
-| CurrencyCode| string| Currency code | +| CurrencyCode| string| ​* optional. ​Currency code | 
-| Amount| decimal | Amount of transfer |+| Amount| decimal | * optional (but required for some cases, like Unistream transfers). ​Amount of transfer |
  
 Request signature hash structure: Request signature hash structure:
Line 842: Line 848:
 | ReceiverFirstName| string | | | ReceiverFirstName| string | |
 | ReceiverLastName| string |  | | ReceiverLastName| string |  |
 +| ReceiverPhone| string |  |
 | SenderFirstName| string | | | SenderFirstName| string | |
 | SenderLastName| string | | | SenderLastName| string | |
 +| SenderPhone| string | |
 +| SenderBirthDate| string | |
 +| OriginCountryCode| string | |
 +| TargetCountryCode| string | |
 +| OriginCity| string | |
 +| TargetCity| string | |
 +| CurrencyCode | string | |
 +| Amount | decimal | |
  
 \\ \\
Line 1127: Line 1142:
  
   - 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.   - 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 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 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 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 and transfer new data of the client regardless the value of attribute APPROVED.+  - 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.   - 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. +  - Obtain currencies by [[#GetCurrencyList|GetCurrencyList]] 
-  - Obtain countries by GetCountryList +  - Obtain countries by [[#GetCountryList|GetCountryList]] ​ 
-  - Obtain cities by GetCityList +  - Obtain cities by [[#GetCityList|GetCityList]] 
-  - Obtain banks by GetBankList +  - Obtain banks by [[#​GetBankList|GetBankList]] 
-  - Calculate the commission by GetComission +  - Calculate the commission by [[#GetComission|GetComission]] 
-  - Obtain the list of recipients by GetReceiverList +  - Obtain the list of recipients by [[#GetReceiverList|GetReceiverList]] 
-  - Save the chosen recipient by 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). +  - 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 +  - Check the transfer by [[#CheckOutgoing|CheckOutgoing]] 
-  - Create transfer in the system by АddOutgoing +  - Create transfer in the system by [[#​AddOutgoing|AddOutgoing]]
  
-Transfer state diagram: 
-{{ :​transfer-state-diag.png |}} 
 \\ \\ \\ \\
 ===== Payout transfer flow  ===== ===== 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.   - 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 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 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 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 and transfer new data of the client regardless the value of attribute APPROVED. +  - 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. +  - Obtain the list of currencies by [[#GetCurrencyList|GetCurrencyList]] 
-  - Check the transfer by CheckIncoming +  - Check the transfer by [[#CheckIncoming|CheckIncoming]] 
-  - Payout transfer by PayIncoming+  - Payout transfer by [[#​PayIncoming|PayIncoming]]
  
  
uwcfsmoneytransfer.1474898131.txt.gz · Last modified: 2016/09/26 14:55 by Anatolii Zhiliaev