Interface X14. Fee-free refund.¶
This interface is available only to registered clients. If you are a Merchant passport holder and use merchant.webmoney.ru then you can perform refunds from an active merchant purse without an additional registration. Otherwise please send information on your online project, your IP and URL of your website, and purpose for use of this interface to WM-ID 941977853154 (technical support) via WM Keeper messenger. In addition, you have to receive a personal WM passport (requests are processed up to three working days).
The interface allows the recepient of a regular payment to perform a fee-free refund between the same two purses within 90 days since the payment has been received. The interface supports work on trust for WM-identifiers for which the 'make transactions' option is active (in this case the 'wmid' tag may contain a trusted WMID, that differs from the recepient's WMID but has the permission to perform the request for a fee-free refund).
- Requests using WM Keeper WinPro authorization should be sent to - https://w3s.webmoney.ru/asp/XMLTransMoneyback.asp
- Requests using WM Keeper WebPro certificate authorization should be sent to - https://w3s.wmtransfer.com/asp/XMLTransMoneybackCert.asp
- method - POST
- request format:
<w3s.request> <reqn></reqn> <wmid></wmid> <sign></sign> <trans> <inwmtranid></inwmtranid> <amount></amount> </trans> </w3s.request>
- request parameters:
|an unsigned integer, maximum 15 digits; must always be greater than the previous request number
|the signer WMID
|is used only with WM Keeper WinPro authorization
|the request signature
|is formed as reqn+trans/inwmtranid+trans/amount, is used only with WM Keeper WinPro authorization
|the refund transaction parameters
|the transaction id
|this tag contains the internal WebMoney id (positive integer) of the transaction (wmtranid) to be refunded. The transaction type must be - simple (opertype=0)
|the transaction amount
|this tag contains the sum of funds that should be refunded. It can't exceed the initial amount of incoming transaction: an error will occur in this case. If the refunding sum is less than the initial sum, then the interface can be called iteratively till the whole amount is returned to the sender. Attention!!! In case first refunding is partial (not the whole amount is returned), there is no duplication protection! For example: if the initial transaction amount is 300WM, only 50WM was refunded, and at the same time the response value (wmtransid) is unknown for some reason, there should NOT be an attempt to refund these 50 WM once more without getting evidence that the first transaction failed. The single verification implemented for partial refunding. It's impossible to make more than one refund of a transaction in half an hour - an error will occur. But on the expiry of this period the operation will be performed successfully, on condition that both amounts are less or equal the original one.
|client phone number
|If the customer made payment with a Paymer check, WebMoney card or via e-invoicing system (russian bank cards, etc. and the initial payment contains lmi_sdp_type) this field should contain the client's mobile phone number for a refund to the corresponding WM Check could be made. For payments made with credit cards (lmi_sdp_type = 4) there is no need to specify phone numbers as well , for it may be retrieved from the initial payment data.
|if the refund is made from a WMID that belongs to the Capitaller's passport, then this parameter should contain the number of the expenses purse that belongs to this capitaller, from which the refunds is to be made. If you don't, then the call of the interface will return an error, because it is impossible to perform a refund from the receipts purse to which the refunds was made.
- response format:
<w3s.response> <reqn></reqn> <retval></retval> <retdesc></retdesc> <operation id="n1" ts="n2"> <inwmtranid></inwmtranid> <pursesrc></pursesrc> <pursedest></pursedest> <amount></amount> <comiss></comiss> <desc></desc> <datecrt></dateupd> <dateupd></dateupd> </operation> </w3s.response>
- response parameters:
|the request number
|the return value
|0 - the request is successfully processed, this interfcae returns the same error codes as the Interface X2, except the interface-specific errors listed below
|return value description
|id defines a unique number of a transaction in the WebMoney System ts defines a service number of a transaction in the WebMoney System
|refund transaction number
|the purse, from which the refund has been performed. It is the payee's purse, which received inwtranid transaction
|the purse, to which the refund has been performed. It is the payee's purse, which sent the inwtranid transaction
|has the format "Moneyback transaction WMTranId: InWMTranID. (inwmtranid_desc)", where inwmtranid_desc is the original description of the inwmtranid transaction.
|date and time of the operation
|date and time of the last modification of the operation
- interface-specific error codes (retval):
|Insufficient funds on the purse for refunding.
|the transaction 'inwmtranid' is not found, may be this transaction was performed more than one month ago or it is a transation between credit purses
|the transaction 'inwmtranid' is the protected one (complete or incomplete), it cannot be refunded by this interface
|the amount of inwmtranid transaction is less then the sum sent in the trans/amount request tag; a sum exceeding the initial one cannot be refunded.
|more than 90 days elapsed since the 'inwmtranid' transaction date
|If a payment had been made from a purse of PAYMER service, with a WM-card, WM-note or a paymer check, and moreover, moneybackphone parameter had not been specified in the request (that makes refunding impossible), the client's mobile phone number should be got and sent to moneybackphone, for a refund to the WM.Check account with the corresponding number could be made.
|transaction performed via e-invoicing (lmi_sdp_type parameter in Result_URL) and no moneybackphone specified in the request (moreover, lmi_sdp_type indicates that the customer's phone number has never been received) and no refund can be performed. It is necessary to get the user's mobile phone number and put it to moneybackphone for a refund could be made to the WebMoney Check with the corresponding number.
|the amount of inwmtranid transaction is less then the sum sent in the trans/amount request tag and less then the sums refunded for inwmtraind transactions earlier.
|a transaction with such w3s.request/trans/inwmtranid value has already been performed and its sum totaled exactly the sum which should have been refunded.
|a transaction with such w3s.request/trans/inwmtranid value and the same sum of partial refund has already been performed; it can be repeated not earlier than in half an hour.
It is impossible to make a refund of transaction which was processed in test mode (LMI_MODE=1) via WebMoney merchant interface.
See also: XML-interfaces