User Tools

Site Tools


moneypolocard

This is an old revision of the document!


Description of the MoneyPoloCard API.

Web service address

Test web service address (for testing purposes) https://testapi.moneypolo.com:26443/MoneyPoloCard.asmx

Real web service address https://api.moneypolo.com:26442/MoneyPoloCard.asmx

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.

1. Merchant account can be opened by using method OpenAccount (If merchant does not have an account):

  • If merchant has clients and wants to order cards on behalf of the client - merchant must open one account for each client;

2. Call methods:

  • Each method can be called by merchant account - every operation will be executed on merchant’s account;
  • Methods can be called by client’s account - every operation will be execute on client’s account.

3. For each operation account must be verified.

4. You have to upload documents for verification after the account has been opened.

5. You have to fill Client profile after the account has been opened.

6. Each method has description, request parameters, response parameteres, key, code example.

7. The example of workflow

  • Open an account: MoneyPoloCard → OpenAccount
  • Upload customer documents: MoneyPoloCard → SaveClientDocument
  • Fill the Client Profile: MoneyPoloCard → SaveClientProfile
  • Order the card or Activate retail card
  • Other card operations



How to activate Retail MoneyPolo Card

For each registered and verified customer you needs to call the following methods:
1. ValidateCard
2. ChangeCardStatus
3. ChangePersonalDetails


How to activate MoneyPolo Card

For each registered and verified customer you needs to call the following methods:
1. OrderCard
2. ChangeCardStatus

Security

Each transmitted request must be signed with a key. MoneyPolo issues a key for the merchant at the beginning of testing. When switching to the operating mode of the service the key is changed. MoneyPolo will distribute “keys” among their clients, which has to be transmitted to web service in parametrical form.

  1. To work with the API, merchant must assign a unique RUID identifier to each client that will be transmit to the appropriate Web service methods.
  2. When opening the account, receiving a card application, card or transaction status changing, etc., the MoneyPolo sends a letter to the Merchant Client’s e-mail, provided by Client during the account registration.
  3. Each request method should have Signature object:
Name Type Required Description
MerchantCode string * Merchants's code
Sign string * Signature

Each response method has ErrorResponse object:

Name Type Required Description
ErrorCode int * Error code or 0,- if the answer is without errors.
ErrorMessage string * Error description or empty line,- if the answer is without errors.

Rules for compiling signatures to a Web service request.

Each method has an object sign:

<sign>
  <MerchantCode>string</MerchantCode>
  <Sign>string</Sign>
</sign>
  • For the correct signature generation (Sign) the following is needed:
  • produce a concatenation of data, transferred to the method of service in request object, and Key.
  • apply to the result algorythm SHA512.
  • transfer the result to the upper case.



OpenAccount

This method’s purpose is to open account in MoneyPolo. Client’s identification is performed with the help of RUID. It is possible to open only one account per one client.

Input parameters of the method are:

Name Type Required Example Description
AccountType string(20) * Private/Business Opening account type
PersonTitle string(3) * Mr/Ms/Mrs Client's title
PersonFirstName string(150) * John Client's first name
PersonLastName string(150) * Smith Client's last name
PersonEmail string(100) * john.smith@mail.com Email
PersonMobile string(20) * +420111223344 Cell phone number
CompanyName string(50) (* if business account) (.){1,50} Company name
Address1 string(50) (* if business account) (.){1,50} Address Line 1 (Street address, P.O. Box, company name)
Address2 string(50) (* if business account) (.){0,50} Address Line 2 (Apartment, suite, unit, building, floor, etc.)
City string(50) (* if business account) (.){1,50} City
State string(50) (* if business account) (.){0,50} State
Country_Code string(2) (* if business account) Two letters Alpha1 country code Country of Residence code
ZIP string(50) (* if business account) [a-zA-Z0-9/s]{1,50} Zip code
PersonPosition string(20) (* if business account) [a-zA-Z0-9/s]{1,20} Post of an individual in the company which account is being opened
PersonPassword string(255) * (.){1,255} Sign-in password
PersonRUID string(10) * [0-9]{20} Client's RUID
ResidentialCountryCode string(50) * Two letters Alpha1 country code Client's Country of Residence code

Output parameters of the method are:

Name Type Description
AccountID uInt Opened account ID
AccountNumber string Opened account number
AccountName string Opened account name
AccountType string Opened account type
AccountCurrency string Opened account currency USD, EUR, … or Multicurrency
AccountDateOpened string Date of account opening
AccountActive string Indication Active/Inactive
AccountBlockDebit string Indication Debit Blocked/Unblocked
AccountBlockCredit string Indication Credit Blocked/Unblocked
AccountClosed string Indication Open/Close
AccountClosed string Indication Open/Close
RequestAccessID int Reserved

Signature:

AccountType + PersonTitle + PersonFirstName + PersonLastName + PersonEmail + PersonMobile + CompanyName + Address1 + Address2 + City + State + Country_Code + ZIP + PersonPosition + PersonPassword + PersonRUID + ResidentialCountryCode + Key

PHP Example

//OpenAccount
$request = array();
$request['AccountType'] = 'Private'; //'Business'/'Private';
$request['PersonTitle'] = 'Mr';
$request['PersonFirstName'] = 'John';
$request['PersonLastName'] = 'Smith';
$request['PersonEmail'] = 'john.smith@gmail.com';
$request['PersonMobile'] = '+420777666555';
$request['CompanyName'] = '';
$request['Address1'] = 'Address Line 1';
$request['Address2'] = 'Address Line 2';
$request['City'] = 'City str';
$request['State'] = 'State str';
$request['Country_Code'] = 'SV';
$request['ZIP'] = '11000';
$request['PersonPosition'] = '';
$request['PersonPassword'] = 'MfedAR232';
$request['PersonRUID'] = '101';
$request['ResidentialCountryCode'] = 'BY';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('OpenAccount');
}



SaveClientDocument

This method’s purpose is to upload MoneyPolo client documents.

Input parameters of the method are:

Name Type Required Description
AccountPersonData object*See object MoneyPoloAccountPersonData
FileContent string*File content in Base64 encoding. Max length for parameter is - 7 000 000
FileType string*File type, see Handbook 1
DocumentType string*Document type, see Handbook 2
FieldValues string*Document field values

FieldValues - Filled document fields are concatenated into a string in the following format: (<field name> = <value of the field>;){n} where n - number of required fields for a particular type of document. A list of fields for each type of document see in the Handbook 3

MoneyPoloAccountPersonData object

Name Type Required Example Description
PersonAccountID int * 1235 Client’s MoneyPolo account ID
PersonRUID string * “4567” Client’s RUID


Output parameters of the method are:

Name Type Description
DocumentID uInt Document ID in MoneyPolo
FileSize string Uploaded file size

Signature:

PersonAccountID + PersonRUID + FileContent + FileType + DocumentType + FieldValues + Key

PHP Example

//SaveClientDocument
$filePath = dirname(__FILE__).'/id.png';
$fileContent = base64_encode(fread(fopen($filePath, "rb"), filesize($filePath)));
$fileType = substr($filePath, strrpos($filePath, '.') + 1);
 
$fieldValues = 'Number=DMNTNUM;Issue Date=2000-01-01;Expiry Date=2020-01-01;Issued By=DCMNAUTH;Country of Issue=8;Number In Original Language=DMNTNUM;';
//$fieldValues = 'Issue Date=2012-07-18;Expiry Date=2020-10-18;Issued By=BANK;Country of Issue=8;Address1=Address;Address2=;State=State;Country=8;ZIP=ZipCode;City=City;';
 
$request = array();
$request['AccountPersonData']['PersonAccountID']  = 1235;
$request['AccountPersonData']['PersonRUID']  = '4567';
$request['FileContent'] = $fileContent;
$request['FileType'] = $fileType;
$request['DocumentType'] = 'NATIONALID'; //ADDRESS
$request['FieldValues'] = $fieldValues;
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('SaveClientDocument');
}



ShowClientProfile

This method’s purpose is to show client profile.

Input parameters of the method are:

Name Type Required Description
AccountPersonData object*See object MoneyPoloAccountPersonData


Output parameters of the method are:

Name Type Description
ProfileID uInt Profile ID in MoneyPolo
ProfileStatus string Status (Completedor Not)
ClientProfile object See object ClientProfile

ClientProfile object

Name Type Description
QuestionID uInt Question ID
Question string Question
AnswerID uInt Answer ID
Answer string Answer
QuestionCode string Question Code
IsRequired byte Is Answer Required
AnswerOptions string Allowed Answer Options

Signature:

PersonAccountID + PersonRUID + Key

PHP Example

//ShowClientProfile
$request['AccountPersonData']['PersonAccountID'] = 12345;
$request['AccountPersonData']['PersonRUID'] = '4567';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ShowClientProfile');
}



SaveClientProfile

This method’s purpose is to save client profile.

Input parameters of the method are:

Name Type Required Description
AccountPersonData object*See object MoneyPoloAccountPersonData
ProfileData string*See object MoneyPoloAccountPersonData

ProfileData - Answers are concatenated into a string in the following format: (<QuestionCode> = <Answer[,Answer1]>;){n} where n - number of answers. A list of questions see in the ShowClientProfile

There are optional questions, they will be filled from documents. There is no need to fill it:
DOB (Date of Birth), RADDL1 (Residential Address line 1), RADDL2 (Residential Address line 2), RCITY (Residential City), RSTATE (Residential State), RPCODE (Residential Postcode), RCOUNTRYCODE (Residential Country Code),
IDTYPE (ID Type), IDNUM (ID Number), IDDOI (ID Date of Issuance), IDDOX (ID Date of Expiry), IDIA (ID Issuing Authority)


Output parameters of the method are:

Name Type Description
ProfileID uInt Profile ID in MoneyPolo

Signature:

PersonAccountID + PersonRUID + ProfileData + Key

PHP Example

//ShowClientProfile
$request['AccountPersonData']['PersonAccountID'] = 12345;
$request['AccountPersonData']['PersonRUID'] = '4567';
$request['ProfileData'] = 'POB=Vitebsk;COB=BLR;PLANOPER=FX operations,E-wallets;USESERV=Wire,Cards;EMPOS=Employee;EMNAME=TESTName;ANIN=<30.000EUR;INOC=1000;OIN=;SELFEI=Software;SELFET=Other;SENDM=Weekly;MONTHAM=less 5.000EUR;SINTRANMIN=10;SINTRANMAN=1000;GEOIN=50%CIS,50%EU;GEOOUT=100%EU;FAMGOV=NO;CONFIRM=NO;';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('SaveClientProfile');
}



GetAvailableCardProducts

This method’s purpose is to show available card products, which can be issued or attached to customer’s account.

Input parameters of the method are:

Name Type Required Example Description
PersonFirstName string * John Client's first name
PersonLastName string * Smith Client's last name
PersonDateofBirth string * 1980-02-25 Date of Birth YYYY-MM-DD
PersonEmail string * john.smith@mail.com Email

Output parameters of the method are:

Name Type Description
AvailableCardTypes object See object MoneyPoloCardType
AvailableToOrderTypes object See object MoneyPoloCardType

MoneyPoloCardType object

Name Type Description
ProductCode string MoneyPolo card product code
ProductDescription string MoneyPolo card product description
ProductCurrency string MoneyPolo card product currency code
ProductName string MoneyPolo card product name

Signature:

PersonFirstName + PersonLastName + PersonDateofBirth + PersonEmail + Key

PHP Example

//GetAvailableCardTypes
$request = array();
$request['PersonFirstName'] = 'John';
$request['PersonLastName'] = 'Smith';
$request['PersonDateofBirth'] = '1980-07-10';
$request['PersonEmail'] = 'john.smith@mail.com';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetAvailableCardProducts');
}



OrderCard

This method’s purpose is to order MoneyPolo card (*1, *2).

Input parameters of the method are:

Name Type Required Example Description
AccountPersonDataobject * See object MoneyPoloAccountPersonData
CardProductCode string* MPC or CMPC MoneyPolo card or Companion MoneyPolo card
CardCurrencyCode string* USD or EUR or GBP Card currency code
PersonOccupation string* [A-Za-z0-9 )(]{1,50} Customer’s ocupation
PersonEmail string* [A-Za-z0-9_\-\.@]{1,100} Customer’s E-mail
PersonMobilePhone string* +[0-9]{1,20} Customer’s mobile phone
CardEmbossLine string* [A-Za-z0-9. ]{1,21} Name on card
CardSendingType string* Normal Method of card delivery
AmountAvailable string* 1/0 Funds charge-off method (*3)
FreeOfCharge string* 1/0 Request, whrether the card is free (*4)

Output parameters of the method are:

Name Type Description
CardInformation object See object CardInformation

CardInformation object

Name Type Description
CardID UInt32 Cutomer’s card ID
AccountID UInt32 Customer’s account ID
RUID UInt32 Customer’s account RUID
ProductCode String Card product code
EmailShouldBeSent String Sign showing whether the MoneyPolo e-mail is sent in the given card status
Email String Customer’s e-mail
CardNo String Customer’s card number
CardCurrency String Card currency
Balance Decimal Total card balance
AvailableBalance Decimal Available card balance
HoldBalance Decimal Retained card ballance
RequestedCardStatus String Requested card status
ActualCardStatus String Actual card status (*5)
ActivationCode2 String The parameter is not supported
IssueDate String Card issue date
EffectiveDate String Card activation date
ExpiryDate String Card expiration date
CardSendingType String Card shipping method
ExpiryMonthLength String Card expiration date in months
ParentCardID String Parent card id, for Companion card
CardEmbossLine String Name on card
ChildCardsCnt String Count for Child Cards for parent
ProviderAccountID String AccountID of Provider
ProviderCardID String CardID of Provider

Method’s additional information:

After the successful card order request, MoneyPolo sends and e-mail to the customer with confirmation of successful card order request. On Agent’s request MoneyPolo can disable e-mail posting to Customers.

(*1) Customer should be at least 18 years old to order a card.

(*2) Card is delivered to the address, indicated in the document Proof of Address, which should be uploaded to MoneyPolo.

(*3) 0 – Card issue fee will be charged-off from Customer’s account. If there are no enough funds on customer’s account, the error will be returned and card issue request will not be processed;
1 - Card issue fee will be charged-off from the Merchant's Company account. Customer’s account balance control is not performed.

(*4) The card is issued free of charge on beforehand agreement with the Agent.

(*5) Card status from the card status guide (see Card statuses)

Card statuses

Card status Description
Card Request in Process The application for a card is being processed
Card Request is Rejected The application is rejected by MoneyPolo
Card is Issued and Sent The card is issued and shipped to the Customer
Attention Merchant Customer’s documents issue
Unavailable Balance Not enough money in the Customer’s account for the card issue
Card Activation Requested Card activation was requested
Card Active The card is activated
Card Close Requested Card blocking was requested
Card Closed The card is closed

Signature: PersonAccountID + PersonRUID + CardProductCode + CardCurrencyCode + PersonOccupation + PersonEmail + PersonMobilePhone + CardEmbossLine + CardSendingType + AmountAvailable + FreeOfCharge + Key

PHP Example

//OrderCard
$request['AccountPersonData']['PersonAccountID'] = '12345';
$request['AccountPersonData']['PersonRUID'] = '4567';
 
$request['CardProductCode'] = 'MPC';
$request['CardCurrencyCode'] = 'USD';
 
$request['PersonOccupation'] = 'Boss';
$request['PersonEmail'] = 'ivan.petrov@mail.com';
$request['PersonMobilePhone'] = '+42000558899';
 
$request['CardEmbossLine'] = 'Ivan Petrov';
$request['CardSendingType'] = 'Normal';
$request['AmountAvailable'] = '1';
$request['FreeOfCharge'] = '0';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('OrderCard');
}



LinkCompanionCard

This method’s purpose is to link MoneyPolo Companion card to MoneyPolo Card

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardData object * See object MoneyPoloAccountPersonCardData
NameOnCard int * 12345 MoneyPolo Card ID.
AmountAvailable string* 1/0 Funds charge-off method (*1)

(*1) 0 – Card issue fee will be charged-off from Customer’s account. If there are no enough funds on customer’s account, the error will be returned and card issue request will not be processed;
1 - Card issue fee will be charged-off from the Merchant's Company account. Customer’s account balance control is not performed.

Output parameters of the method are:

Name Type Description
CardInformation object See object CardInformation

Signature: AccountPersonCardData.AccountPersonData.PersonAccountID + AccountPersonCardData.AccountPersonData.PersonRUID + AccountPersonCardData.MPC_CardID + NameOnCard + AmountAvailable + key

PHP Example

//LinkCompanionCard
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['NameOnCard'] = '123456';
$request['AmountAvailable'] = '0';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('LinkCompanionCard');
}



GetCardList

This method’s purpose is to get MoneyPolo card list for each customer.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonDataobject * See object MoneyPoloAccountPersonData

Output parameters of the method are:

Name Type Description
MoneyPoloCardInfo object See object MoneyPoloCardInfo

Signature: PersonAccountID + PersonRUID + Key

PHP Example

//GetCardList
$request['AccountPersonData']['PersonAccountID'] = '12345';
$request['AccountPersonData']['PersonRUID'] = '4567';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardList');
}



ValidateCard

This method’s purpose is to validate MoneyPolo card that the provided card number is a valid identity within the system.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonDataobject * See object MoneyPoloAccountPersonData
CardNumberstring * 4763222255551111 Full card number

Output parameters of the method are:

Name Type Description
IsValid bool Is card valid or not
CardID uint MoneyPolo card ID

Signature: PersonAccountID + PersonRUID + CardNumber + Key

PHP Example

//ValidateCard
$request['AccountPersonData']['PersonAccountID'] = '12345';
$request['AccountPersonData']['PersonRUID'] = '4567';
$request['CardNumber'] = '4763829087291111';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ValidateCard');
}



ChangeCardStatus

This method’s purpose is to validate MoneyPolo card that the provided card number is a valid identity within the system.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData
Actionstring * ACTIVATEStatus (*1)
CardNumberstring * 1111 Last 4 digits of card number

(*1) Action parameter can be of following values: ACTIVATE, CLOSE, ACTIVEFC. Card’s status change to «ACTIVATE» is possible only when card has status «Card is Issued and Sent». Card’s status change to «CLOSE» is possible only when card has status «Card Active». Card’s status change to «ACTIVEFC» is possible only when card has status «Stopped/Card Closed». Information on current card status can be obtained by requesting GetCardList method.

Output parameters of the method are:

Name Type Description
CardInformation object See object CardInformation

Signature: PersonAccountID + PersonRUID + MPC_CardID + Action + CardNumber + Key

PHP Example

//ChangeCardStatus
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['Action'] = 'ACTIVATE';
$request['CardNumber'] = '1111';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ChangeCardStatus');
}



ChangePersonalDetails

This method’s purpose is to change MoneyPolo card personal details.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
CardID uint MoneyPolo card ID

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//ChangePersonalDetails
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '12345';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '4567';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ChangePersonalDetails');
}



LoadCard

The method is intended for replenishing card’s funds. Card’s funds can be replenished only in case when card has Card Active status.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardData object * See object MoneyPoloAccountPersonCardData
RemoteDocumentID string(20) * 10002 Document unique ID in the Merchant's system.
Amount decimal * 125 Amount
CurrencyCode string(3) * USD Currency code
AmountAvailable ushort * 1 or 0 Funds charge-off method1
AutoPayment string(1) * 1 or 0 Payment will be done automatically (1) or not (0)2
  • 1 0 – Card load amount+fee will be charged-off from Customer’s account. If there are no enough funds on customer’s account, the error will be returned and card issue request will not be processed;
  • 1 - Card load amount+fee will be charged-off from the Merchant’s Company account. Customer’s account balance control is not performed;
  • 2 Payments are carried out automatically 24/7. For automatic payments an increased fee is charged-off. The MoneyPolo establishes limits for automatically carried out payments. Information on these limits can be acquired from the MoneyPolo technical;

Output parameters of the method are:

Name Type Description
DocumentID uint Payment ID in MoneyPolo system
DocumentStatus string Payment status in MoneyPolo system (see Document Status codes )

MoneyPoloAccountPersonCardData object

Name Type Description
PersonAccountID uintMoneyPolo account ID
PersonRUID uintCustomer RUID
MPC_CardID uintCard ID

Document Status codes

Status Description
In process In process The payment is being processed
Archive The payment is completely processed
Rejected The payment is rejected bu the MoneyPolo
STORNO The payment entry was reversed
Unavailable Balance Not enough money in the Customer’s account for the payment to be processed

Signature: AccountPersonCardData.AccountPersonData.PersonAccountID + AccountPersonCardData.AccountPersonData.PersonRUID + AccountPersonCardData.MPC_CardID + RemoteDocumentID + Amount + CurrencyCode + AmountAvailable + AutoPayment + key

PHP Example

//LoadCard
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['RemoteDocumentID'] = '1';
$request['Amount'] = '10';
$request['CurrencyCode'] = 'USD';
$request['AmountAvailable'] = '1';
$request['AutoPayment'] = '0';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('LoadCard');
}



LoadForeignMoneyPoloCard

Method allows for the load any MoneyPolo Card.

Input parameters of the method are:

Name Type Required Example Description
SourceFundsAccountID uint * Source of funds MoneyPolo account for card loading
ToCardNumber string * Full MoneyPolo Card number
Amount decimal * 125 Amount
CurrencyCode string * Currency code
RemoteDocumentID string(20) * 10002 Document unique ID in the Merchant's system.
AutoPayment string(1) * 1 or 0 Payment will be done automatically (1) or not (0)1
  • 1 Payments are carried out automatically 24/7. For automatic payments an increased fee is charged-off. The MoneyPolo establishes limits for automatically carried out payments. Information on these limits can be acquired from the MoneyPolo technical;

Output parameters of the method are:

Name Type Description
DocumentID uint Payment ID in MoneyPolo system
Amount decimal Amount
CurrencyCode string Currency Code

Signature: SourceFundsAccountID + ToCardNumber + Amount + CurrencyCode + RemoteDocumentID + AutoPayment + key

PHP Example

//LoadForeignMoneyPoloCard
$request['SourceFundsAccountID'] = '1555';
$request['ToCardNumber'] = '1111222233334444';
$request['Amount'] = '10';
$request['CurrencyCode'] = 'USD';
$request['RemoteDocumentID'] = '1';
$request['AutoPayment'] = '0';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('LoadForeignMoneyPoloCard');
}



GetCardTransactionList

This method’s purpose is to get MoneyPolo card transactions.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData
DateFromstring*2015-01-01 From date
DateTostring*2020-01-01 To date

Output parameters of the method are:

Name Type Description
TransactionList list of objects See object MPCTransaction

Signature: PersonAccountID + PersonRUID + MPC_CardID + DateFrom + DateTo + Key

PHP Example

//ChangePersonalDetails
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '12345';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '4567';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
$request['DateFrom'] = '2015-01-01';
$request['DateTo'] = '2015-01-01';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardTransactionList');
}




MPCTransaction object

Name Description
IDMoneyPolo transaction ID
ProviderIDCard provider transaction ID
DateTransaction Date
AmountTransaction Amount
CurrencyCodeTransaction Currency Code
AmountCCTransaction Amount in Card Currency
InfoTransaction Info
TransactionTypeTransaction Type See object Transaction Types


Transaction Types

Type Description
0 Load
1 Unload
2 Financial transaction
3 Authorisation transaction, pending (currently blocking funds)
4 Authorisation unblock (no longer blocking funds)
5 Fee (financial)
6 Balance Adjustment
7 Fee (on pending authorisation, currently blocking funds)
8 Account status change



GetCardTransactionStatus

This method’s purpose is to get MoneyPolo card transactions.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData
MPC_TransactionIDint*123456 Identifier of MoneyPolo operation

Output parameters of the method are:

Name Type Description
Status Status of MoneyPolo operation

Signature: PersonAccountID + PersonRUID + MPC_CardID + MPC_TransactionID + Key

PHP Example

//GetCardTransactionStatus
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
$request['MPC_TransactionID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardTransactionStatus');
}




GetCardBalance

This method’s purpose is to get MoneyPolo card balance.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
CurrentBalance Current Card Balance
AvailableBalance Available Card Balance
AvailableBCBalance Available Card Balance in Base Currency
CurrentBCBalance Current Card Balance in Base Currency

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardBalance');
}




GetCardBalance

This method’s purpose is to get MoneyPolo card balance.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
CurrentBalance Current Card Balance
AvailableBalance Available Card Balance
AvailableBCBalance Available Card Balance in Base Currency
CurrentBCBalance Current Card Balance in Base Currency

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardBalance');
}




GetCardPIN

This method’s purpose is to get MoneyPolo card PIN.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
Success 1- Success; 0- Not Success

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardPIN');
}




GetCardPIN2Email

This method’s purpose is to get MoneyPolo card PIN to email.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
Success 1- Success; 0- Not Success

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardPIN2Email');
}




RequestCardPIN

This method’s purpose is to request MoneyPolo card PIN.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
Success 1- Success; 0- Not Success

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('RequestCardPIN');
}




ShowCardPIN

This method’s purpose is to show requested MoneyPolo card PIN.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardDataobject*See object MoneyPoloAccountPersonCardData

Output parameters of the method are:

Name Type Description
Success 1- Success; 0- Not Success

Signature: PersonAccountID + PersonRUID + MPC_CardID + Key

PHP Example

//GetCardBalance
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '5647';
$request['AccountPersonCardData']['MPC_CardID'] = '123456';
 
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ShowCardPIN');
}




ShowClientVerificationInfo

This method’s purpose is to get MoneyPolo client Verification Info.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonData object*See object MoneyPoloAccountPersonData

Output parameters of the method are:

Name Type Description
VerificationStatus Client Verification Status
ProfileStatus Client Profile Status
ClientDocuments Client Documents See Details

Client Document Row

Name Type Description
DocumentID uInt Document ID
Type string Document type
UploadStatus string Document Upload Status (Saved;Saving error;New)
UploadDate string Document Upload Date
VerificationStatus string Document Verification Status (OK; IN PROCESS)

Signature: PersonAccountID + PersonRUID + Key

PHP Example

//ShowClientVerificationInfo
$request['AccountPersonData']['PersonAccountID'] = '1234';
$request['AccountPersonData']['PersonRUID'] = '5678';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('ShowClientVerificationInfo');
}




File types

jpg, jpeg, gif, png, tif, tiff, bmp, pdf


Document types

Code Description
NATIONALID National ID
PASSPORT Passport
DRIVINGLICENCE Driving License
SOCIAL Social Security Number
ALIEN Alien Registration Number
ADDRESS Proof of Address
ISIC ISIC Card
OTHER Other


Document fields

DocumentType FieldName Type Oblig Format Description
NATIONALID Number string * maxlen(255) Document number 1)
NATIONALID IssueDate date * yyyy-mm-dd Issue date
NATIONALID ExpiryDate date * yyyy-mm-dd Expiry date
NATIONALID IssuedBy string * maxlen(255) Issued by authority
NATIONALID CountryOfIssue int * maxlen(11) Country of Issue 2)
NATIONALID NumberInOriginalLanguage string * maxlen(255) Number In Original Language
NATIONALID DateOfBirth date * yyyy-mm-dd Date of birth
PASSPORT Number string * maxlen(255) Document number (see footnote 1)
PASSPORT IssueDate date * yyyy-mm-dd Issue date
PASSPORT ExpiryDate date * yyyy-mm-dd Expiry date
PASSPORT IssuedBy string * maxlen(255) Issued by authority
PASSPORT CountryOfIssue int * maxlen(11) Country of Issue (see footnote 2)
PASSPORT NumberInOriginalLanguage string * maxlen(255) Number In Original Language
PASSPORT DateOfBirth date * yyyy-mm-dd Date of birth
DRIVINGLICENCE Number string * maxlen(255) Document number (see footnote 1)
DRIVINGLICENCE IssueDate date * yyyy-mm-dd Issue date
DRIVINGLICENCE ExpiryDate date * yyyy-mm-dd Expiry date
DRIVINGLICENCE IssuedBy string * maxlen(255) Issued by authority
DRIVINGLICENCE CountryOfIssue int * maxlen(11) Country of Issue (see footnote 2)
DRIVINGLICENCE DateOfBirth date * yyyy-mm-dd Date of birth
ADDRESS IssueDate date * yyyy-mm-dd Issue date
ADDRESS ExpiryDate date * yyyy-mm-dd Expiry date
ADDRESS IssuedBy string * maxlen(255) Issued by authority
ADDRESS CountryOfIssue int * maxlen(11) Country of Issue (see footnote 2)
ADDRESS Address1 string * maxlen(255) Address (line1)
ADDRESS Address2 string * maxlen(255) Address (line2)
ADDRESS State string * maxlen(255) State
ADDRESS Country int * maxlen(11) Country (see footnote 2)
ADDRESS ZIP string * maxlen(255) ZIP/Postal code
ADDRESS City string * maxlen(255) City
OTHER Number string * maxlen(255) Document number (see footnote 1)
OTHER IssueDate date * yyyy-mm-dd Issue date
OTHER ExpiryDate date * yyyy-mm-dd Expiry date
OTHER IssuedBy string * maxlen(255) Issued by authority
OTHER CountryOfIssue int * maxlen(11) Country of Issue (see footnote 2)




How to get all persons and card changes by date

GetPersonList

The purpose of this method is to get all MoneyPolo clients which are belonged to your Merchant.

Input parameters of the method are:

Name Type Required Example Description
Page int* 1 Page number, method returns max 100 rows per page

Output parameters of the method are:

Name Type Description
PersonList object See Details

MoneyPolo Person Info

Name Type Description
AccountID uInt MoneyPolo AccountID
RUID string MoneyPolo RUID
AccountNumber string MoneyPolo Account number
FirstName string Customer First name
LastName string Customer Last name
BirthDate string Customer birthdate
Email string Customer Email address
ResidentialAddress string Customer Residential Address
PhoneNumber string Customer Mobile Phone Number

Signature: Page + Key

PHP Example

//GetPersonList
$request['Page'] = '1';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetPersonList');
}



GetCardsChanges

The purpose of this method is to get changes on MoneyPolo cards which are belonged to your Merchant.

Input parameters of the method are:

Name Type Required Example Description
DateFrom string* 2015-11-01 Date from
DateTo string* 2015-11-15 Date to

Output parameters of the method are:

Name Type Description
CardList object See Details

MoneyPolo Short Card Info

Name Type Description
CardID uInt MoneyPolo CardID
AccountID uInt MoneyPolo AccountID
RUID string Customer RUID
Status string MoneyPolo Card status
RequestDate string Card request date
CardNumber string Card number
CardCurrency string Card currency code
DeliveryAddress string Card Delivery Address

Signature: DateFrom + DateTo + Key

PHP Example

//GetCardsChanges
$request['DateFrom'] = '2015-11-10';
$request['DateTo'] = '2015-11-13';
if($wsRequest->Prepare_Data($request))
{
    $result = $wsRequest->Send('GetCardsChanges');
}



CardToCardTransfer

Method allows for the movement of funds from one prepaid card to another.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardData object * See object MoneyPoloAccountPersonCardData
ReceiverCardNumber string(20) * 4766822238884911 Full MoneyPolo card number.
RemoteDocumentID string(20) * 10002 Document unique ID in the Merchant's system.
Amount decimal * 125 Amount
CurrencyCode string(3) * USD Currency code
AutoPayment string(1) * 1 or 0 Payment will be done automatically (1) or not (0)1
RemoteIP string * 127.28.22.00 Customer IP address
  • 1 Payments are carried out automatically 24/7. For automatic payments an increased fee is charged-off. The MoneyPolo establishes limits for automatically carried out payments. Information on these limits can be acquired from the MoneyPolo technical;

Output parameters of the method are:

Name Type Description
DocumentID uint Payment ID in MoneyPolo system
DocumentStatus string Payment status in MoneyPolo system (see Document Status codes )

Signature: AccountPersonCardData.AccountPersonData.PersonAccountID + AccountPersonCardData.AccountPersonData.PersonRUID + AccountPersonCardData.MPC_CardID + ReceiverCardNumber + RemoteDocumentID + Amount + CurrencyCode + AutoPayment + RemoteIP + key

PHP Example

//CardToCardTransfer
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['ReceiverCardNumber'] = '4766822238884911';
$request['RemoteDocumentID'] = '1';
$request['Amount'] = '10';
$request['CurrencyCode'] = 'USD';
$request['AutoPayment'] = '0';
$request['RemoteIP'] = '98.23.255.220';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('CardToCardTransfer');
}



CardToAccountTransfer

Method allows for the movement of funds from prepaid card MoneyPolo account.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardData object * See object MoneyPoloAccountPersonCardData
RemoteDocumentID string(20) [0-9] * 10002 Document unique ID in the Merchant's system.
Amount decimal * 125 Amount
CurrencyCode string(3) * USD Currency code
AutoPayment string(1) * 1 or 0 Payment will be done automatically (1) or not (0)1
  • 1 Payments are carried out automatically 24/7. For automatic payments an increased fee is charged-off. The MoneyPolo establishes limits for automatically carried out payments. Information on these limits can be acquired from the MoneyPolo technical;

Output parameters of the method are:

Name Type Description
DocumentID uint Payment ID in MoneyPolo system
DocumentStatus string Payment status in MoneyPolo system (see Document Status codes for Card to Account transfer)

Document Status codes for Card to Account transfer

Status Description
Payment in Process In process The payment is being processed
Processed The payment is completely processed
Rejected The payment is rejected bu the MoneyPolo
Storned The payment entry was reversed

Signature: AccountPersonCardData.AccountPersonData.PersonAccountID + AccountPersonCardData.AccountPersonData.PersonRUID + AccountPersonCardData.MPC_CardID + RemoteDocumentID + Amount + CurrencyCode + AutoPayment + key

PHP Example

//CardToAccountTransfer
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['RemoteDocumentID'] = '1';
$request['Amount'] = '10';
$request['CurrencyCode'] = 'USD';
$request['AutoPayment'] = '0';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('CardToAccountTransfer');
}



CardToCardTransferByID

Method allows for the movement of funds from one prepaid card to another.

Input parameters of the method are:

Name Type Required Example Description
AccountPersonCardData object * See object MoneyPoloAccountPersonCardData
ToCardID int * 12345 MoneyPolo Card ID.
RemoteDocumentID string(20) * 10002 Document unique ID in the Merchant's system.
Amount decimal * 125 Amount
AutoPayment string(1) * 1 or 0 Payment will be done automatically (1) or not (0)1
RemoteIP string * 127.28.22.00 Customer IP address
  • 1 Payments are carried out automatically 24/7. For automatic payments an increased fee is charged-off. The MoneyPolo establishes limits for automatically carried out payments. Information on these limits can be acquired from the MoneyPolo technical;

Output parameters of the method are:

Name Type Description
DocumentID uint Payment ID in MoneyPolo system
DocumentStatus string Payment status in MoneyPolo system (see Document Status codes )

Signature: AccountPersonCardData.AccountPersonData.PersonAccountID + AccountPersonCardData.AccountPersonData.PersonRUID + AccountPersonCardData.MPC_CardID + ToCardID + RemoteDocumentID + Amount + AutoPayment + RemoteIP + key

PHP Example

//CardToCardTransferByID
$request['AccountPersonCardData']['AccountPersonData']['PersonAccountID'] = '1';
$request['AccountPersonCardData']['AccountPersonData']['PersonRUID'] = '2';
$request['AccountPersonCardData']['MPC_CardID'] = '3';
$request['ToCardID'] = '123456';
$request['RemoteDocumentID'] = '1';
$request['Amount'] = '10';
$request['AutoPayment'] = '0';
$request['RemoteIP'] = '98.23.255.220';
 
if($mtRequest->Prepare_Data($request))
{
    $result = $mtRequest->Send('CardToCardTransferByID');
}



1)
All number of documents must be passed in Latin character only!
2)
All country codes must be passed as ISO 3166-1 numeric code of country (http://en.wikipedia.org/wiki/ISO_3166-1_numeric) without leading zeros, for example 4 - Afghanistan not 004 - Afghanistan
moneypolocard.1481115439.txt.gz · Last modified: 2016/12/07 12:57 by Dmitry Tserashonak