WebMoney

Wiki

Interface X18

Interface X18. Getting transaction details via merchant.wmtransfer.com.

This interface is available only to registered clients who use the merchant.wmtransfer.com service.

This interface allows the user to automatically get information about payment status and whether the payment was made or not by using payment numbers (lmi_payment_no for merchant.wmtransfer.com). If the payment was made, then the user will be able to get payment details. Interface X18 does not only have strict WMSigner, but also simple (SHA256, MD5 or passing secret_key via https) authentication which allows integrating this interface easily and securely and using it to search for payments.

<merchant.request>
    <wmid></wmid>
    <lmi_payee_purse></lmi_payee_purse>
    <lmi_payment_no></lmi_payment_no>
    <sign></sign>
        <sha256></sha256>
    <md5></md5>
    <secret_key></secret_key>
</merchant.request>
  • Request parameters:
name purpose comments
wmid WM identifier of the recipient or signature WMID of the user who owns the purse, to which lmi_payment_no payment was received via merchant.wmtransfer.com or WMID of the user who signed the request using the WMSigner authentication method. Keep in mind that if the owner of that WMID does not own the purse which received the payment, there must be trust granted to view transaction details for this purse.
lmi_payee_purse WM purse of payment recipient purse number to which lmi_payment_no payment was received and for which the status needs to be determined.
lmi_payment_no payment number The number of the payment which was generated by the service, website, other service, Internet store, etc., and was transferred to the merchant.wmtransfer.com service as a payment in a hidden lmi_payment_no field. Note that if the lmi_payee_purse purse is not configured in the merchant.wmtransfer.com service to receive only a unique lmi_payment_no, then there might be situations when the merchant through his/her fault might generate for different purchases or even purchasers one and the same lmi_payment_no. In such cases the service will register two payments with one and the same number, and this case the interface will retrieve ONLY one transaction - the last one.
lmi_payment_no_type payment number type If you skip this tag or assign '0' value to it, then the search by lmi_payment_no will function by default, as described in the lmi_payment_no manual above.
If you assign '1' value to this tag, then search will be performed strictly in lmi_payment_no values in terms of Merchant.webmoney service (in terms of X3 - or X4-interfaces this is the ORDERID tag from the answer to the request). If no completed payment is found by this number, then an error will occur (the error will differ if the same lmi_payment_no (orderid) is found in issued but not paid invoices). No other values will be used in the search in this case.
If you assign '2' value to this tag, then the search will be performed strictly in LMI_SYS_INVS_NO values (which are transferred in SuccessURL or ResultURL) in terms of Merchant.webmoney service (in terms of X3 this is the WMINVID tag from the answer to the request, and in terms of X4-interfaces this is the ID attribute of the OPERATION tag from the answer to the request). If no completed payment is found by the given unique number of a WM-account, then an error will occur (the error will differ if the same LMI_SYS_INVS_NO (WMINVID) is found in issued but not paid invoices)
If you assign '3' value to this tag, then the search will be performed strictly in LMI_SYS_TRANS_NO values (which are transferred in SuccessURL or ResultURL) in terms of Merchant.webmoney service (in terms of X3 this is the ID attribute of the OPERATION tag from the answer to the request, and in terms of X4-interfaces this is the WMTRANID tag from the answer to the request). If no completed payment is found by the given unique number of a WM-transaction, then an error will occur. No other values will be used in the search in this case.
sign Request signature The request is signed with WM identifier keys using the WMSigner method and takes the following parameters: wmid & lmi_payee_purse & lmi_payment_no. Keep in mind that if the owner of the WM identifier does not own the lmi_payee_purse, then this WMID must be trusted at security.wmtransfer.com to view transaction details for the lmi_payee_purse. In cases when this authentication method is used, sha256, md5 and secret_key parameters must be left empty or omitted.
sha256 Request signature The request is signed using the SHA256 method and takes the following parameters: wmid & lmi_payee_purse & lmi_payment_no & secret_key. If the user uses this method for authenticating the request, sign, md5 and secret_key parameters must be left empty or omitted. Bear in mind that when generating the string to which sha256 algorithm will be applied, the value of secret key from the purse settings in the merchant.wmtransfer.com service is used as secret_key. The request itself must pass ONLY the result of the algorithm work in sha256 parameter and secret_key parameter must be left empty!!!
md5 Request signature The request is signed using the MD5 method and takes the following parameters: wmid & lmi_payee_purse & lmi_payment_no & secret_key. If the user uses this method for authenticating the request, sha256, sign and secret_key parameters must be left empty or omitted. Bear in mind that when generating the string to which md5 algorithm will be applied, the value of secret key from the purse settings in the merchant.wmtransfer.com service is used as secret_key. The request itself must pass ONLY the result of the algorithm work in MD5 parameter and secret_key parameter must be left empty!!!
secret_key Secret key This parameter passes the value of the secret key specified in the lmi_payee_purse settings in the merchant.wmtransfer.com service. Keep in mind that when using this method, https connection authentication checking (validity and ownership of the root certificate of https://merchant.wmtransfer.com, etc) will be your responsibility to avoid DNS substitution and the like. If you use this method for authenticating the request, sign, sha256 and md5 parameters must be left empty or omitted.
  • Response format:
<?xml version="1.0"?>
<merchant.response>
    <operation wmtransid="" wminvoiceid="">
        <amount></amount>
        <operdate></operdate>
        <purpose></purpose>
        <pursefrom></pursefrom>
        <wmidfrom></wmidfrom>
        <capitallerflag></capitallerflag>
        <enumflag></enumflag>
        <IPAddress></IPAddress>
        <telepat_phone></telepat_phone>
        <telepat_paytype></telepat_paytype>
        <paymer_number></paymer_number>
        <paymer_email></paymer_email>
                <paymer_type></paymer_type>
        <cashier_number></cashier_number>
        <cashier_date></cashier_date>
        <cashier_amount></cashier_amount>
        <sdp_type></sdp_type> 
    </operation> 
        <errorlog lmi_payee_purse="" lmi_payment_no="">
               <datecrt></datecrt>
              <dateupd></dateupd>
              <date_s></date_s>
              <date_pc></date_pc>
              <date_pd></date_pd>
              <p_type></p_type>
              <err_code></err_code>
              <siteid></siteid>
              <att></att>
             <date_notify></date_notify>
             <shop_id></shop_id>
    </errorlog>
        <retval>0</retval> 
    <retdesc></retdesc> 
</merchant.response> 
  • Response parameters:
name purpose description
wmtransid WM transaction ID Unique transaction number in WebMoney Transfer.
wminvoiceid WM invoice ID Unique invoice number in WebMoney Transfer.
amount Amount The amount of WebMoney units transferred in this transaction to the merchant.
operdate Operation date Server date of the transaction in WebMoney Transfer.
purpose Comment The payment purpose as submitted to the merchant.wmtransfer.com service in the lmi_payment_desc field.
pursefrom Purchaser's purse WM purse of the payer. Note that when paying via terminals or ATMs, or Paymer check or WM card the purse of the corresponding gateway or Paymer service will be passed as Payer's purse.
wmidfrom Purchaser's WMID WMID to which pursefrom belongs.
capitallerflag Payment parameter If the flag is set to 1 - it means that the payer used the purse of the Capitaller service and not his/her own purse for the payment; if set to 0 - the payer used his/her own purse for the payment.
enumflag Payment parameter If this flag is set to 1 - it means that the payment was made by a user who authorized via the E-num.ru service.
IPAddress Payment parameter The IP address of the user who made the payment.
telepat_phone Payment parameter The phone number of the payer, if the payment was made via WM Keeper Mobile.
telepat_paytype Payment parameter 0 value returned here indicates that the payment had been made at merchant.wmtransfer site via Keeper Mobile; 1 - the payment had been made via SMS at the merchant's site by means of X20 interface; 2 - at the Merchant WebMoney site in the mobile payment section with the owner's WMID found by mobile phone number and SMS-confirmation.
paymer_number Payment parameter The number of the check or payer's WM card if the payment was made by means of Paymer check or WM card.
paymer_email Payment parameter Payer's e-mail address, which he/she specified when paying by means of Paymer check, WM card or WM- Note for WebMoney Check this field is kept empty.
paymer_type Payment parameter paymer_type = 0 if the payment had been made with a Paymer check or a WM-card; '1' - if the payment had been made with a WM-note '2' - if the payment had been made via WebMoney Check service
cashier_number Payment parameter The number of the payment, if payer paid via a terminal, ATM or post office. Note, that this parameter is reserved for compatibility, and for the moment payments made via terminals, cash points and checkout counters are performed by means of WebMoney Check service. See paymer_type - parameter above.
cashier_date Payment parameter The date of the payment, if it was made via a terminal, ATM or post office. Note, that this parameter is reserved for compatibility, and for the moment payments made via terminals, cash points and checkout counters are performed by means of WebMoney Check service. See paymer_type - parameter above.
cashier_amount Payment parameter The amount of the payment, if it was made via a terminal, ATM or post office. Note, that this parameter is reserved for compatibility, and for the moment payments made via terminals, cash points and checkout counters are performed by means of WebMoney Check service. See paymer_type - parameter above.
sdp_type E-invoicing payment method If this parameter is available, that means the payment is to be performed by a method which doesn't require a registration in the System; 0 - for money transfer systems, 3 - for Alpha-click, 4 - for Russian banks cards, 5 - for Russian Standart bank internet-banking system, 6 - for VTB24 internet-banking system, 7 - for THANK YOU from Sberbank bonus point, 8 - for payment terminals and banks (for U-purses only).
retval Execution code 0 - request successful, other values mean there were errors during request.
retdesc Description of execution code

The members who accept payments via Web Merchant Interface can also use this iterface manually on the transaction verification page

  • Response format for fait transaction:
<?xml version="1.0"?>
<merchant.response>
    <errorlog lmi_payee_purse="" lmi_payment_no="">
        <datecrt></datecrt>
        <dateupd></dateupd>
        <date_s></date_s>
        <date_pc></date_pc>
        <date_pd></date_pd>
        <p_type></p_type>
        <err_code></err_code>
        <siteid></siteid>
        <att></att>
    </errorlog>
    <retval>8</retval>
    <retdesc>Payment with lmi_payment_no (by merchant orderid number!) not found for this merchant purse step=50</retdesc>
</merchant.response>
  • response parameters:
name purpose description
errorlog error description additional information about the unsuccessful payment
lmi_payee_purse merchant's purse merchant's purse, configured to accept payments in the Web Merchant Interface
lmi_payment_no payment number payment number generated by a service, website, online store etc. and transmitted to the merchant'webmoney.ru service in the hidden field lmi_payment_no of the payment form
errorlog\datecrt creation date payment info creation date
errorlog\dateupd last update date the date of the last update of the payment info
errorlog\date_s interface page opening date the date when the Web Merchant Interface page was opened by the customer for the last time
errorlog\date_pc authorization date the date when the customer was authorized on the Web Merchant Interface page
errorlog\p_type payment attempt date i.e. the customer chose a purse and confirmed the payment performance
errorlog\err_code error code the code of the error that aborted the payment process. The user receives a message with a corresponding description
errorlog\siteid interface ID the ID of the version of the Web Merchant Interface site to which the customer was redirected to make the payment attempt(0 - is for merchant.webmoney.ru, 1 - is for merchant.wmtransfer.com
errorlog\att payment method the payment method that was used by the customer to make a payment attempt
retval returned value 8 - no successful payment was found
retdesc returned value description no successful payment with the given lmi_payment_no value was found
retval retdesc
-100 General parsing error. Incorrect request format.
-2 merchant.request/wmid is incorrect
-2 merchant.request/lmi_payee_purse is incorrect
-2 merchant.request/lmi_payement_no is incorrect
-3 merchant.request/lmi_payee_purse is incorrect
-2 merchant.request/wmid is incorrect
-6 sign not right
-7 sign not right: PlanStr
-7 MD5 or SHA256 not right:PlanStr(this planstr without secret_key)
-8 Operation not found, internal error:error code
1 Merchant purse not found:1
3 Please use sign or sha256 method for authentication:3
2 Please use sign or sha256 method for authentication, and specify secret key in merchant service settings:2
4 Merchant wmid not found or security trust for purse is not exists:4
6 Merchant wmid not found or security trust for purse is not exists:6
7 Payment with lmi_payment_no number not found for this merchant purse:7
8 Payment with lmi_payment_no (by merchant orderid number!) not found for this merchant purse
9 Payment with lmi_payment_no number (by merchant orderid number!) found for this merchant purse, but not paid yet!
10 Payment with lmi_payment_no number (by unique webmoney invoice number!) not found for this merchant purse
11 Payment with lmi_payment_no number (by unique webmoney invoice number!) found for this merchant purse, but not paid yet!
12 Payment with lmi_payment_no number (by unique webmoney transact number!) not found for this merchant purse
13 Payment with lmi_payment_no number (by merchant orderid number!) found for this merchant purse, but it already reject!
14 Payment with lmi_payment_no number (by unique webmoney invoice number!) found for this merchant purse, but it already reject!
  • A list of err_code’s definitions:
err_code Definition
301 You’ve got an IP blocking. You are trying to pay with IP which is not in your white list of IP-addresses .
-100 A merchant didn’t give permission to complete the operation
-1 WM Keeper is offline. Restart your WM Keeper.
-2 Select the option “activation of WebMoney Keeper” in settings / security of your WM Keeper Classic
-3 Acceptance of payments is not possible. A merchant restricted this payment option on his side
-4 IP-address of your WM Keeper and of your check request are different. Select IP blocking at the following link: security.webmoney.ru.
6 A correspondent is not found
11 A sender’s purse is not found
13 Too small amount to be operated
17 Funds are not enough in your purse or limits are depleted
18 Limits are depleted for your Mini or Social Keeper.
26 There have to be two purses in the operation
29 Types of purses are different
30 A purse doesn’t support the operation
32 A completion of operation is not possible until a passport is received
33 Payer's credit status doesn’t comply with a merchant’s demands
400 Payment with the same number has been already made. A merchant doesn’t allow making repeated payments with one and the same number. Please try to make payment again
401 You have recently made a try of payment with a check in this amount to a merchant. Please wait till the status of your previous payment is clarified
402 You have successfully made a payment with this check to a merchant. Please wait for 15 minutes for another payment to be made
403 You have successfully made a payment with this check to a merchant. Please wait for 15 minutes for another payment to be made
411 You have recently made a try of payment with this WM-note in this amount to a merchant. Please wait till the status of your previous payment is clarified
412 You have successfully made a payment with this WM-note to a merchant. Please wait for 15 minutes for another payment to be made
413 You have successfully made a payment with this WM-note to a merchant. Please wait for 15 minutes for another payment to be made
1001 Payment with this check (WM-card) is not found. You should make payment again and please do not not make long pauses while entering check’s details
1003 Invalid paymer check’s code (authorization code of WM-card)
1004 Payment with this check (WM-card) is not found. You should start making payment again and please do not make long pauses while entering check’s details
1005 One-time verification code of WebMoney check is incorrect (it was probably entered with a mistake or a code of previous payment was indicated). You should make payment again
1006 One-time limit is exceeded in the operation using WebMoney check. Please find more information here: http://wiki.webmoney.ru/projects/webmoney/wiki/tarify_i_ogranicheniya_servisa_webmoney_check
1011 Payment with this WM-note is not found. You should make payment again and please do not make long pauses while entering check’s details
1012 Payment with this WM-note is cancelled
1013 Invalid code of WM-note
2005 Code of payment, which was sent to your phone, was entered incorrectly
2008 Payment with the same number has been already made. A merchant doesn’t allow making repeated payments with one and the same number. Please try to make payment again
2012 Making payment was failed. Probably you have not enough funds on your telephone’s balance (or on a purse managed from the telephone) to make a transaction
2015 Making payment was failed. Probably you have not enough funds on your telephone’s balance (or on a purse managed from the telephone) to make a transaction
2117 Making payment was failed. Probably you have not enough funds on your telephone’s balance (or on a purse managed from the telephone) to make a transaction or you exceeded the limit for one operation in the equivalent of 1000 WMR
3205 Check with indicated data is not found. Probably it has already been redeemed
6401 Payment via a bank card has not been made by processing yet. Please wait for a while
6402 Payment with this data via a bank card has been successfully made or cancelled. To make it again with the same data is not possible
7004 It’s not possible to make an exchange together with a payment at this moment
7005 There is already a necessary amount of funds on purses. Please transfer all necessary type of funds to one purse and then pay from it. The exchange is not possible.
7007 An error of the creation of a necessary type of purse for a payment by client
7008 A client doesn’t have enough funds on similar purses in order to exchange them and make a payment
8001 A merchant has restrictions to receive payments from some countries. As your country of registration is not specified the payment cannot be made.
8002 Payment cannot be made. A merchant doesn’t accept funds from the country you have indicated during the registration.
8003 Invalid SMS verification code
8004 SMS verification code is not entered
9012 You have followed this link repeatedly. Your payment has already been completed, funds were transferred to a merchant and he was informed about it.
100001 The latency from a merchant’s server was exceeded. Please try again later and inform the merchant if the error occurs again.
100002 A customer refused to make payment
100003 The customer switched to another page in the current window of browser
100004 The customer closed a checkout page

See also: XML interfaces