Permalink: |
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.
- Requests should be sent to: https://merchant.webmoney.ru/conf/xml/XMLTransGet.asp
- Method: POST
- Request format:
<merchant.request> <wmid></wmid> <lmi_payee_purse></lmi_payee_purse> <lmi_payment_no></lmi_payment_no> <lmi_payment_no_type></lmi_payment_no_type> <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 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> <hold_period></hold_period> <hold_state></hold_state> <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. |
hold_period | hold period | Hold period, if hold_period = 0, there is no hold |
hold_state | state of hold | can be 0,4,12 -0 – simple (or protected, successfully completed), -4 – protected (not completed), -12 – protected (refunded). |
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 or WM card, 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; '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; 4 - for Russian banks cards, 19 - Bitcoin, 20 - runpay MDL purse, 26 - Litecoin, 27 - Ethereum, 28 - USDT |
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\date_pd | date of the payment attempt | payment attempt date, i.e. the buyer chose the purse and confirmed the payment |
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 |
errorlog\shop_id | shop number | the shop number sent to merchant.wmtransfer service in lmi_shop_id input fiel |
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. |
5 | The seller accepts payments in a limited mode. Seller's limit has been reached |
6 | A correspondent is not found |
8 | WebMoney payments for this merchant are not set up or set up incorrectly by it`s payment processor |
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. |
20 | The buyer didn't choose a purse |
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 |
34 | The operation cannot be performed until a formal passport is obtained |
69 | Only citizens of the Russian Federation with a formal and higher passport can pay this seller |
75 | The legal entity cannot pay this seller |
76 | This payment method to the seller is limited with less than 60,000 WMR |
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 |
8005 | Accepting payments to this merchant is prohibited in your country |
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 |
100006 | The customer is not registered in WebMoney. Redirected to the WebMoney registration page |
100007 - 100024, 100030 - 100033 | the buyer has encountered problems when logging in using wmid |
10004X, 10005X | the buyer has encountered problems when confirming the payment (E-num, SMS) |
10006X | the buyer has either disabled or deleted cookies |
See also: XML interfaces