Menu

WebMoney

Note: To learn about the features of WebMoney, there's an overviewhere

How to integrate WebMoney payments:

Direct payment request

For WebMoney payments the <shopperEmailAddress> is mandatory:

Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService merchantCode="YOUR_MERCHANT_CODE" version="1.4">
  <submit>
    <order orderCode="YOUR_ORDER_CODE"> <!--Use a unique order code each time-->
      <description>Description here</description>
      <amount currencyCode="RUB" value="5000" exponent="2" />
      <orderContent>
        <![CDATA[ ]]>
      </orderContent>
      <paymentDetails>
        <WEBMONEY-SSL shopperCountryCode="RU">
          <successURL>http://www.worldpay.com/?successURL</successURL>
          <cancelURL>http://www.worldpay.com/?cancelURL</cancelURL>
          <pendingURL>http://www.worldpay.com/?pendingURL</pendingURL>
        </WEBMONEY-SSL>
      </paymentDetails>
      <shopper>
        <shopperEmailAddress>shopper@worldpay.com</shopperEmailAddress><!--Mandatory-->
      </shopper>
    </order>
  </submit>
</paymentService>

Hosted payment request

In this example the merchant has specified that only the WebMoney payment methods are offered. This append string ensures that only WebMoney is offered:

&country=RU&preferredPaymentMethod=WEBMONEY-SSL

Copied!
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService merchantCode="YOUR_MERCHANT_CODE" version="1.4">
  <submit>
    <order orderCode="YOUR_ORDER_CODE" installationId="1234567"><!--Use a unique order code each time. Contact Worldpay if you haven't got an installationID-->
      <description>Test order</description>
      <amount value="5000" currencyCode="RUB" exponent="2" />
      <orderContent>
        <![CDATA[ ]]>
      </orderContent>
      <paymentMethodMask>
        <include code="ALL" />
      </paymentMethodMask>
      <shopper>
        <shopperEmailAddress>shopper@worldpay.com</shopperEmailAddress>
      </shopper>
    </order>
  </submit>
</paymentService>

Payment outcomes

Successful examples

Shopper pays
Event 1:Shopper successfully completes a payment for USD 10.00 on the WebMoney pages.
Behaviour:successURL is returned.
URL:SUCCESS
URL Example:http://www.worldpay.com/successURL?orderKey=ADMINCODE^MERCHANTCODE^Example_WebMoney_Order&paymentStatus=AUTHORISED&paymentAmount=1000&paymentCurrency=USD&mac=77fcc8ca4a2a548105b81e252cf15faf
Payment Status:The payment status changes to AUTHORISED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--No notification is generated. Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>AUTHORISED</lastEvent>
        <balance accountType="IN_PROCESS_AUTHORISED">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <riskScore value="21" />
      </payment>
      <journal journalType="AUTHORISED" sent="n">
        <bookingDate>
          <date dayOfMonth="16" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="IN_PROCESS_AUTHORISED" batchId="6">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Payment captured
Event 2:The Worldpay system captures the payment
Behaviour:The automatic capture job runs to automatically capture the payment.
URL:No URL is returned to the shopper as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status changes to CAPTURED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>CAPTURED</lastEvent>
        <balance accountType="IN_PROCESS_CAPTURED">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <riskScore value="21" />
      </payment>
      <journal journalType="CAPTURED" sent="n">
        <bookingDate>
          <date dayOfMonth="16" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="IN_PROCESS_AUTHORISED" batchId="18">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="debit" />
        </accountTx>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="26">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>
Payment settled
Event 3:The payment is settled internally in WPG.
Behaviour:The payment is successfully settled internally in WPG.
URL:No URL is returned to the shopper as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status changes to SETTLED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>SETTLED</lastEvent>
        <balance accountType="SETTLED_BIBIT_COMMISSION">
          <amount value="7" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="647" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <riskScore value="21" />
      </payment>
      <journal journalType="SETTLED" description="1 USD = 0.65384 GBP" sent="n">
        <bookingDate>
          <date dayOfMonth="24" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="SETTLED_BIBIT_COMMISSION">
          <amount value="7" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
        <accountTx accountType="SETTLED_BIBIT_NET" batchId="17">
          <amount value="647" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="26">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="debit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Cancellation

Shopper cancels
Event:Shopper presses the Reject Payment button on the Webmoney website before completing the payment.
Behaviour:pendingURL with status=OPEN is returned.
URL:PENDING (OPEN)
URL Example:https://secure.worldpay.com/sc4/jsp/shopper/PendingView.jsp?orderKey=ADMINCODE^MERCHANTCODE^Example_WebMoney_Order_Code
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.

Invalid data entry examples

Invalid data
Event 1:The shopper gives a phone number that does not correspond to a valid WebMoney wallet.
Behaviour:An error message appears that states the mobile phone number is not recognised.
URL:No URL is returned as the shopper does not leave the WebMoney website.
URL Example:N/A
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.
Incorrect password
Event 2:The shopper inputs an incorrect password on the WebMoney website.
Behaviour:An error message appears that states the password is incorrect.
URL:No URL is returned as the shopper does not leave the WebMoney website.
URL Example:N/A
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.
Invalid email address
Event 3:The shopper specifies an e-mail address that does not correspond to a valid WebMoney wallet.
Behaviour:An error message appears that states the email address is not recognised.
URL:No URL is returned as the shopper does not leave the WebMoney website.
URL Example:N/A
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.
Invalid WebMoney ID
Event 4:The shopper specifies a WebMoney ID (WMID) that does not correspond to a valid WebMoney wallet.
Behaviour:An error message appears that states the WMID is not recognised..
URL:No URL is returned as the shopper does not leave the WebMoney website.
URL Example:N/A
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.

Payment timeout

Time out
Event:The shopper does not complete the payment within the allocated time period.
Behaviour:The shopper is shown an error message stating that the waiting period for the payment has expired and prompts them to try again.
URL:No URL is returned as the shopper does not leave the WebMoney website.
URL Example:N/A
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.

Exception conditions

Technical Issues at the Payment Service Provider (PSP)

Error with PSP
Event:The payment cannot be processed due to technical issues at the PSP.
Behaviour:pendingURL with status=ERROR is returned. This scenario occurs in exceptional circumstances where the payment cannot be processed for technical reasons.
URL:PENDING (ERROR).
URL Example:http://www.worldpay.com/pendingURL?orderKey=ADMINCODE^MERCHANTCODE^ Example_WebMoney_Order &status=ERROR
Payment Status:The payment remains as SHOPPER_REDIRECTED.
Notification Example:No notification is generated.

Late asynchronous authorisation

Authorisation + 5 seconds
Event:Worldpay receives the asynchronous authorisation from WebMoney more than 5 seconds after the shopper has completed their journey.
Behaviour:pendingURL with status=OPEN is returned.
URL:pendingURL
URL Example:http://www.worldpay.com/?pending&orderKey=ADMINCODE^MERCHANTCODE^Example_WebMoney_Order_Code&status=OPEN
Payment Status:The payment status changes to AUTHORISED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>AUTHORISED</lastEvent>
        <balance accountType="IN_PROCESS_AUTHORISED">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <riskScore value="21" />
      </payment>
      <journal journalType="AUTHORISED" sent="n">
        <bookingDate>
          <date dayOfMonth="16" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="IN_PROCESS_AUTHORISED" batchId="6">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Refunds

Refund request in MI

Refund requested
Event:The Merchant requests a refund of the payment in the MI.
Behaviour:The merchant requests a direct refund of a settled payment in the Worldpay system.
URL:No URL is returned as the shopper journey is already complete.
URL Example:N/A
Payment Status:The payment status changes to SENT_FOR_REFUND.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>SENT_FOR_REFUND</lastEvent>
        <balance accountType="SETTLED_BIBIT_COMMISSION">
          <amount value="7" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="647" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <balance accountType="IN_PROCESS_CAPTURED">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="debit" />
        </balance>
        <riskScore value="21" />
      </payment>
      <journal journalType="SENT_FOR_REFUND" sent="n">
        <bookingDate>
          <date dayOfMonth="24" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="30">
          <amount value="1000" currencyCode="USD" exponent="2" debitCreditIndicator="debit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Refund confirmation

Refund sent
Event:The requested refund is successfully sent to the shopper's bank.
Behaviour:WPG receives confirmation that the payment has been successfully sent to the shopper’s wallet.
URL:N/A
URL Example:N/A
Payment Status:The payment status changes to REFUNDED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="36000" currencyCode="RUB" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>REFUNDED</lastEvent>
        <balance accountType="SETTLED_BIBIT_COMMISSION">
          <amount value="7" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="12" currencyCode="GBP" exponent="2" debitCreditIndicator="debit" />
        </balance>
        <riskScore value="41" />
      </payment>
      <journal journalType="REFUNDED" description="1 RUB = 0.02046 GBP" sent="n">
        <bookingDate>
          <date dayOfMonth="15" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="SETTLED_BIBIT_NET" batchId="15">
          <amount value="736" currencyCode="GBP" exponent="2" debitCreditIndicator="debit" />
        </accountTx>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="25">
          <amount value="36000" currencyCode="RUB" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Refund fails

Refund failed
Event:The refund fails (e.g. because the shopper has specified incorrect bank details).
Behaviour:WPG receives confirmation that the payment has not been successfully sent to the shopper’s wallet.
URL:N/A
URL Example:N/A
Payment Status:The payment status changes to REFUND_FAILED.
Copied!
<!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN" "http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="MERCHANT_CODE"> <!--Will contain the merchant code used in the request-->
  <notify>
    <orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
      <payment>
        <paymentMethod>WEBMONEY-SSL</paymentMethod>
        <amount value="45000" currencyCode="RUB" exponent="2" debitCreditIndicator="credit" />
        <lastEvent>REFUND_FAILED</lastEvent>
        <balance accountType="SETTLED_BIBIT_COMMISSION">
          <amount value="9" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <balance accountType="SETTLED_BIBIT_NET">
          <amount value="921" currencyCode="GBP" exponent="2" debitCreditIndicator="credit" />
        </balance>
        <riskScore value="41" />
      </payment>
      <journal journalType="REFUND_FAILED" description="Inverse booking" sent="n">
        <bookingDate>
          <date dayOfMonth="31" month="05" year="2013" />
        </bookingDate>
        <accountTx accountType="IN_PROCESS_CAPTURED" batchId="31">
          <amount value="45000" currencyCode="RUB" exponent="2" debitCreditIndicator="credit" />
        </accountTx>
      </journal>
    </orderStatusEvent>
  </notify>
</paymentService>

Transfer reports

Settled

This is an example of a settled transaction in an XML transfer report for RUB 489.00 where the merchant's account settles in EUR:

Copied!
<orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the merchant code used in the request-->
  <payment>
    <paymentMethod>WEBMONEY-SSL</paymentMethod>
    <amount value="48900" currencyCode="RUB" exponent="2" debitCreditIndicator="credit" />
    <lastEvent>SETTLED</lastEvent>
    <balance accountType="SETTLED_BIBIT_NET">
      <amount value="1160" currencyCode="EUR" exponent="2" debitCreditIndicator="credit" />
    </balance>
    <balance accountType="SETTLED_BIBIT_COMMISSION">
      <amount value="18" currencyCode="EUR" exponent="2" debitCreditIndicator="credit" />
    </balance>
  </payment>
  <journal journalType="SETTLED" description="1 RUB = 0.02409 EUR">
    <bookingDate>
      <date dayOfMonth="10" month="4" year="2013" hour="9" minute="58" second="58" />
        </bookingDate>
    <accountTx accountType="SETTLED_BIBIT_COMMISSION">
      <amount value="18" currencyCode="EUR" exponent="2" debitCreditIndicator="credit" />
    </accountTx>
    <accountTx accountType="SETTLED_BIBIT_NET" batchId="35">
      <amount value="1160" currencyCode="EUR" exponent="2" debitCreditIndicator="credit" />
    </accountTx>
    <accountTx accountType="IN_PROCESS_CAPTURED" batchId="162">
      <amount value="48900" currencyCode="RUB" exponent="2" debitCreditIndicator="debit" />
    </accountTx>
  </journal>
</orderStatusEvent

Refunded

In this example the authorised amount is USD 89.00, the refunded amount is also USD 89.00 and the merchant settles in USD.

Copied!
<orderStatusEvent orderCode="ORDER_CODE"> <!--Will contain the order code used in the request-->
  <payment>
    <paymentMethod>
      WEBMONEY-SSL
    </paymentMethod>
    <amount currencyCode="USD" debitCreditIndicator="credit" exponent="2" value="8900"/>
    <lastEvent>
      REFUNDED
    </lastEvent>
    <balance accountType="SETTLED_BIBIT_NET">
      <amount currencyCode="USD" debitCreditIndicator="debit" exponent="2" value="134"/>
    </balance>
    <balance accountType="SETTLED_BIBIT_COMMISSION">
      <amount currencyCode="USD" debitCreditIndicator="credit" exponent="2" value="134"/>
    </balance>
  </payment>
  <journal description="" journalType="REFUNDED">
    <bookingDate>
      <date dayOfMonth="21" hour="8" minute="33" month="6" second="29" year="2013"/>
    </bookingDate>
    <accountTx accountType="SETTLED_BIBIT_NET" batchId="71">
      <amount currencyCode="USD" debitCreditIndicator="debit" exponent="2" value="8900"/>
    </accountTx>
    <accountTx accountType="IN_PROCESS_CAPTURED" batchId="493">
      <amount currencyCode="USD" debitCreditIndicator="credit" exponent="2" value="8900"/>
    </accountTx>
  </journal>
</orderStatusEvent>