WebMoney

Overview

WebMoney is a payment method that allows you to process payments by using WM e-wallets. Purchases can be processed by using Payment Page and Gate, payouts and refunds are processed by using Gate and Dashboard.

Download the logo in vector format here.

Payment method type E-wallet payments
Countries and regions Global
Payment currencies WMZ (USD), WME (EUR), WMK (KZT)
Currency conversion On the Monetix side (For more information about currency conversion, see Currency conversion)
Purchases
Payouts
COF payments
Full refunds
Partial refunds
Chargebacks
Notes
  • In the WebMoney payment method, there are several purchase scenarios:
    • When performing a purchase with WebMoneyLight, a customer is redirected to the WebMoney payment form in order to transfer funds to the merchant WM e-wallet.
    • When performing a purchase with WebMoneyClassic, a customer uses the WebMoney service independently in order to pay an invoice.
  • When performing a purchase with WebMoneyClassic, you can set the invoice validity period and perform refunds.
  • Protected payouts are available in order to prevent wrong transfers and protect from fraud.
  • In the WebMoney service, payment currencies are title units that are national currency equivalents. Title units are kept track of in their WM wallets.

    On Payment Page, the WebMoneyClassic purchase amounts are displayed in both title units and national currencies. However only national currencies are used for requests and response parameters.

Onboarding and access fee Refer to your key account manager at Monetix.

Interaction diagram

Payment processing by using the WebMoney payment method requires the merchant web service, one of the Monetix interfaces, and the Monetix payment platform, as well as the WebMoney service.

Operations support

Interfaces Amounts Times
Payment Page Gate Dashboard minimum maximum basic threshold
Purchases 0,01 in any title units

Depending on a WM passport*

Under 1 minute 35 days
Payouts 0,01 in any title units

Depending on a WM passport*

Under 1 minute 35 days
Full refunds 0,01 in any title units

Depending on a WM passport*

Under 1 minute 35 days
Partial refunds 0,01 in any title units

Depending on a WM passport*

Under 1 minute 35 days

* Each of the WebMoney service member has a WM passport, which is a digital certificate issued based on the personal data provided by the member. Maximum amount limits may vary depending on the type of WM passport.

You can check the payment amount limits in your project by using Dashboard. To check your payment amount limits, go to Dashboard, select the Projects section and click the Payment methods tab.

Processing scenarios

In the WebMoney method, there are several purchase scenarios:
  • The WebMoneyLight purchase—customer redirection to the WebMoney form.
  • The WebMoneyClassic purchase—customer invoicing in the merchant web service.

Payout and refund processing involves sending notification to customers from the merchant web service.

The sections that follow provide detailed information about what you need to perform payments and how you can analyze the information on payments and operations.

Purchase by using Payment Page

General information

In the WebMoney method, there are several purchase scenarios:
  • The WebMoneyLight purchase—customer redirection to the WebMoney form.
  • The WebMoneyClassic purchase—customer invoicing in the merchant web service.

You can enable different scenarios for the projects. For more information about enabling different purchase scenarios, contact your key account manager at Monetix. When processing any of the purchase scenarios by using Payment Page, the merchant's web service is required to send a request with all the required parameters and signature to the Monetix URL and accept a callback with the payment result from the payment platform. When opening Payment Page, you can either allow your customer to select the WebMoneyLight or WebMoneyClassic purchase from the list of other payment methods on Payment Page or have Payment Page opened with one of them pre-selected. For more information about preselecting payment methods, see Preselecting payment methods.

The following diagrams provide the detailed picture of the payment processing procedure.

Figure 7. The WebMoneyLight purchase scenario when using Payment Page
  1. The customer initiates a purchase by using the web service.
  2. The merchant's web service sends to the specified Monetix URL the purchase request for processing the purchase by using Payment Page.
  3. The payment platform receives the request for processing the purchase by using Payment Page.
  4. The payment platform performs the initial request processing that involves validation of the required parameters and signature.
  5. Requested Payment Page is generated in the Monetix payment platform as specified in the project settings and the request parameters.
  6. Payment Page is displayed to the customer.
  7. The customer selects the WebMoneyLight purchase from the list of other payment methods and agrees to use the method (or accepts the method already selected on Payment Page and agrees).
  8. The payment platform receives the purchase request for payment processing in the WebMoney service.
  9. The payment platform performs the internal purchase request processing and sends it to the WebMoney service.
  10. The purchase request is processed in the WebMoney service.
  11. The WebMoney service generates the data for redirecting the customer to the WebMoney form and sends it to the payment platform.
  12. The payment platform sends to Payment Page the data for redirecting the customer to the WebMoney form.
  13. The customer is redirected to the WebMoney form.
  14. The customer completes all the payment steps required by the WebMoneyLight purchase method.
  15. The payment is processed in the WebMoney service.
  16. The payment result information is displayed to the customer on the WebMoney form. The customer initiates redirection to the result waiting page on Payment Page.
  17. The WebMoney service sends the payment result notification to the payment platform.
  18. The payment platform sends the callback to the web service.
  19. The payment platform sends payment results to Payment Page.
  20. A page with the payment result information is displayed to the customer.
Figure 8. The WebMoneyClassic purchase scenario when using Payment Page
  1. The customer initiates a purchase by using the web service.
  2. The merchant's web service sends to the specified Monetix URL the purchase request for processing the purchase by using Payment Page.
  3. The payment platform receives the request for processing the purchase by using Payment Page.
  4. The payment platform performs the initial request processing that involves validation of the required parameters and signature.
  5. Requested Payment Page is generated in the Monetix payment platform as specified in the project settings and the request parameters.
  6. Payment Page is displayed to the customer.
  7. The customer selects the WebMoneyClassic purchase from the list of other payment methods and agrees to use the method (or accepts the method already selected on Payment Page and agrees).
  8. The payment platform receives the purchase request for payment processing in the WebMoney service.
  9. The notification saying that the customer is required to visit the WebMoney Keeper service and pay the invoice is displayed to the customer.
  10. The payment platform performs the internal purchase request processing and sends it to the WebMoney service.
  11. The WebMoney service performs the purchase request processing and issues the invoice.
  12. The WebMoney service sends to the payment platform a response containing invoice issuing confirmation.
  13. The customer uses the WebMoney Keeper service to pay the invoice.
  14. The payment is processed in the WebMoney service.
  15. The WebMoney service sends the payment result notification to the payment platform.
  16. The payment platform sends the callback to the web service.
  17. The payment platform sends payment results to Payment Page.
  18. A page with the payment result information is displayed to the customer.

The sections that follow discuss in more details the request format and the Payment Page parameters to use in the WebMoney method and provide the information on the format of callbacks with payment results. For the general information on how to use the API, see Payment Page API Description.

Request format

There are several things you need to consider when using the WebMoney method:

  1. You must provide values for the basic minimum of parameters. Listed below are the parameters that are mandatory for any payment method:
    • project_id—the project ID obtained from Monetix
    • payment_id—payment ID unique within the project
    • payment_currency—payment currency in ISO-4217 alpha-3 format
    • payment_amount—payment amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
    • customer_id—customer ID unique within the project
    • customer_first_name—customer first name
    • customer_last_name—customer last name
    • customer_email—customer email
  2. Additionally, you need to use the following parameters:
    • payment_description—payment description.

      Payment description should be specified in the request as follows: Top-up of personal account №<customer's bank account number> on the website <URL of the merchant web service>. Example: Top-up of personal account №01234567890 on the website https://merchant.example.com

  3. If you need to have Payment Page displayed with the WebMoneyLight or WebMoneyClassic purchase method selected, set the force_payment_method parameter to either of the following:
    • webmoney-light—the WebMoneyLight purchase method
    • webmoney—the WebMoneyClassic purchase method
  4. If required, you can also add any other additional parameters Payment Page supports.
  5. After you specify all the parameters you need, you must create the signature for the request. For instructions on how to sign a payment request, see Signature generation and verification.

Here is an example of the data from a purchase request.

EPayWidget.run(
   {
      payment_id: 'ECT_TEST_1534835032773, 
      payment_amount: 100,
      payment_currency: 'USD',
      project_id: 238,
      customer_id: 'customer1',
      customer_first_name: 'John', 
      customer_last_name: 'Doe',
      customer_email: 'johndoe@example.com', 
      payment_description: 'Top-up of personal account №01234567890 on the website https://merchant.example.com/',
      signature: "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+2QgJ...=="
   }
)

For information about all parameters available in the WebMoney method, see Payment Page invocation parameters.

Callback format

In the WebMoney method, the callbacks that deliver purchase results use the standard format described in Callbacks in Payment Page.

Note that unlike other payment methods, in the WebMoney method, the callbacks include the payment ID that is generated by the WebMoney service and is passed in the payment_id parameter of the provider object. The successful purchase callbacks always contain the payment_id parameter value, but the declined purchase callbacks may not contain the parameter value.

The following example of callback contains information about a successful 1.00 USD WebMoneyClassic purchase made in the 238 project by using the R123456890000 customer WM wallet. Payment ID generated by the WebMoney service is 1592901328.

Figure 9. Example of a successful WebMoneyClassic purchase callback
{
	"project_id": 238,
	"payment": {
		"id": "ECT_TEST_1534835032773",
		"type": "purchase",
		"status": "success",
		"date": "2018-08-21T07:05:53+0000",
		"method": "webmoney",
		"sum": {
			"amount": 100,
			"currency": "USD"
		},
		"description": "ECT_TEST_1534835032773"
	},
	"account": {
		"number": "R703276019842"
	},
	"operation": {
		"id": 167000001094,
		"type": "sale",
		"status": "success",
		"date": "2018-08-21T07:05:53+0000",
		"created_date": "2018-08-21T07:05:12+0000",
		"request_id": "765fc31fbb98a4ac937bbdadb3303f1d13eead
		ec - 917 f825e85cce20981b0686599cb14b7f383d0e6 ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1082,
			"payment_id": "1592901328",
			"date": "2018-08-21T10:05:51+0000",
			"auth_code": ""
		},
		"code": "0",
		"message": "Success"
	},
	"signature": "nEIk8lTBATPQXhZAqkiEzraA88Tgjx45cPP18thE/9iEkS
	lE9TS20z01H7 / 8 nvHU2Dz + Dp1goRozWpQRXmL6jA == "
}

The following example of callback is for a payment rejected due to amount or frequency limitation and does not contain the payment ID generated by the WebMoney service.

Figure 10. Example of a declined WebMoneyLight purchase callback
{
	"project_id": 238,
	"payment": {
		"id": "ECT_TEST_154477095843411111",
		"type": "purchase",
		"status": "decline",
		"date": "2018-12-14T09:41:30+0000",
		"method": "webmoney-light",
		"sum": {
			"amount": 1000000000,
			"currency": "USD"
		},
		"description": "ECT_TEST_154477095843411111"
	},
	"operation": {
		"id": 13290000002280,
		"type": "sale",
		"status": "decline",
		"date": "2018-12-14T09:41:30+0000",
		"created_date": "2018-12-14T08:41:29+0000",
		"request_id": "a52dc11e9d57fa3a8649671e5599544fcfc50d
		0 f - ebbce425f52073d89f96c67686feefe5ab01c1fd ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1083,
			"payment_id": "",
			"auth_code": ""
		},
		"code": "20101",
		"message": "Decline due to amount or frequency limit"
	},
	"signature": "ukUg6gJ6RtUc2qeXTNE+iDyEh4HdikHuMaCZ4Hju
	sN + uJA8Ze7RVztvlyWhtiXUjrL14pplG7ustFhJIJdDkvw == "
}

Related topics

The following topics might be useful when implementing payments by using Payment Page:

Purchase by using Gate

General information

In the WebMoney method, there are two purchase scenarios. The WebMoneyLight purchase involves customer redirection to the WebMoney form. The WebMoneyClassic purchase involves customer invoicing in the merchant's web service. You can enable different scenarios for the projects. For more information about enabling different purchase scenarios, contact your key account manager at Monetix.

When processing any of the purchase scenarios by using Gate, the merchant's web service is required to do the following:

  1. Send a request with all the required parameters and signature to the Monetix URL.
  2. Interact with customer:
    • When performing a purchase with the WebMoneyLight, perform redirecting customer to the WebMoney form.
    • When performing a purchase with the WebMoneyClassic, send the invoice payment notification to the customer.
  3. Get the callback with the payment result from the payment platform.

The following diagrams provide the detailed picture of the payment processing procedure.

Figure 11. The WebMoneyLight purchase scenario when using Gate
  1. The customer initiates a purchase on the merchant's web service by using the WebMoneyLight purchase method.
  2. The web service sends the request for processing the purchase by using Gate to the specified Monetix URL.
  3. The payment platform receives the request for processing the purchase by using Gate.
  4. The payment platform performs the initial request processing that includes validation of the required parameters and signature.
  5. The payment platform sends to the web service a response with request receipt confirmation and correctness check result.
  6. The payment platform performs the internal payment request processing and sends it to the WebMoney service.
  7. The purchase request is processed in the WebMoney service.
  8. The WebMoney service generates the data for redirecting the customer to the WebMoney form and sends it to the payment platform.
  9. The payment platform sends to the web service the callback that delivers the data for redirecting the customer to the WebMoney form.
  10. The customer is redirected to the WebMoney form.
  11. The customer completes all the payment steps required by the WebMoneyLight purchase method.
  12. The payment is processed in the WebMoney service.
  13. The payment result information is displayed to the customer on the WebMoney form. The customer initiates redirection to the result waiting page on Payment Page.
  14. The WebMoney service sends the payment result notification to the payment platform.
  15. The payment platform sends the callback to the web service.
  16. The customer receives the payment result from the web service.
Figure 12. The WebMoneyClassic purchase scenario when using Gate
  1. The customer initiates a purchase on the merchant's web service by using the WebMoneyClassic method.
  2. The web service sends the request for processing the purchase by using Gate to the specified Monetix URL.
  3. The payment platform receives the request for processing the purchase by using Gate.
  4. The payment platform performs the initial request processing that includes validation of the required parameters and signature.
  5. The payment platform sends to the web service response with request receipt confirmation and correctness check result.
  6. The notification is displayed to customer and contains information that it is required to visit the WebMoney Keeper service and pay the invoice.
  7. The payment platform performs the internal payment request processing and sends it to the WebMoney service.
  8. The WebMoney service performs the purchase request processing and issues the invoice.
  9. The WebMoney service sends to the payment platform response contained invoice issuing confirmation.
  10. The customer uses the WebMoney Keeper service to pay the invoice.
  11. The payment is processed in the WebMoney service.
  12. The WebMoney service sends the payment result notification to the payment platform.
  13. The payment platform sends the callback to the web service.
  14. The customer receives the payment result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the WebMoney method and provide the information about formats of the data for redirecting customers and the information about the format of callbacks with payment results. For the general information on how to use the API, see API Description. For the general information on how to use the response with request receipt confirmation, see Integration procedure.

Request format

There are several things you must consider when using purchase requests in the WebMoney method:

  1. You perform purchase by sending following requests by using POST (HTTP) method:
  2. You must provide values for the basic minimum of the following objects and parameters:
    • general—object with general request information:
      • project_id—the project ID obtained from Monetix
      • payment_id—payment ID unique within the project
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
    • payment—object with payment information:
      • amount—purchase amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency have no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
      • currency—payment currency in ISO-4217 alpha-3 format
    • customer—object with customer information:
      • id—customer ID unique within the project
      • ip_address—customer device IP
      • first_name—customer first name
      • last_name—customer last name
      • email—customer email
    • account—object with customer account information:
      • number—customer WMID that is the customer's ID in the WebMoney service. Only for the WebMoneyClassic purchase
  3. Additionally, you need to use the following parameters:
    • payment—object with payment information:
      • description—payment description.

        Payment description should be specified in the request as follows: Top-up of personal account №<customer's bank account number> on the website <URL of the merchant web service>. Example: Top-up of personal account №01234567890 on the website https://merchant.example.com

  4. The following parameters with the return URLs are optional, but we strongly advise you to specify them in the request to provide your customer a better user experience. If you don't specify any parameters of the return_url object in the request, by default Gate will redirect the customer to the URL specified in your project in Monetix.
    • return_url—object with the information where to redirect the customer to when the payment is completed or prematurely terminated by the customer:
      • success—the URL to redirect the customer to after the payment is successfully completed.
      • decline—the URL to redirect the customer to after the payment is declined.
      • return—the URL to redirect the customer to when they prematurely terminate the payment. This URL is also used if the success and decline parameters are not specified in the request.
  5. If required, you can also add any other additional parameters Gate supports.

Here is an example of the data from a purchase request for WebMoneyLight.

Figure 13. Example of a WebMoneyLight purchase request by using Gate
{
    "general": {
        "project_id": 238,
        "payment_id": "ECT_TEST_1534835032773",
        "signature": "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+2QgJ...=="
    },
    "customer": {
        "id": "customer1",
        "ip_address": "198.51.100.47",
        "first_name": "John",
        "last_name": "Doe",
        "email": "johndoe@email.com"
    },
    "payment": {
        "amount": 100,
        "currency": "USD",
        "description": "Top-up of personal account №01234567890 on the website https://merchant.example.com/"
    },
    "return_url": {
        "success": "https://example.com/success/",
        "decline": "https://example.com/decline/",
        "return": "https://example.com/return/"
    }
}

Here is an example of the data from a purchase request for WebMoneyClassic.

Figure 14. Example of a WebMoneyClassic purchase request by using Gate
{
    "general": {
        "project_id": 238,
        "payment_id": "ECT_TEST_1534835032773",
        "signature": "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+2QgJ...=="
    },
    "payment": {
        "amount": 100,
        "currency": "USD",
        "description": "Top-up of personal account №01234567890 on the website https://merchant.example.com/"
    },
    "customer": {
        "id": "customer1",
        "ip_address": "198.51.100.47",
        "first_name": "John",
        "last_name": "Doe",
        "email": "johndoe@email.com"
    },
    "account": {
        "number": "377094062589"
    },
    "return_url": {
        "success": "https://example.com/success/",
        "decline": "https://example.com/decline/",
        "return": "https://example.com/return/"
    }
}

Format of customer redirection data

After receiving and processing your purchase request, the payment platform sends a callback to your web service containing the data to redirect the customer to the WebMoney service.

To redirect the customer, use the values of the following parameters in the redirect_data object:

  • url—the URL to redirect the customer to
  • body—the data to be sent in the request body
  • method—the HTTP method to get an HTML page of the website (for example, POST or GET). The value of the Content-Type header must be x-www-form-urlencoded
  • encrypted—this is the service parameter. Ignore the data it contains.

Here is an example of a piece of callback containing the data to redirect the customer.

"redirect_data": {
    "method": "POST",
    "body": {
        "example_parameter_1": "value_1",
        "example_parameter_2": "value_2"
    },
    "encrypted": [],
    "url": "https://example.com/redirect"
}

Format of callback with purchase results

In the WebMoney method, the callbacks that deliver purchase results use the standard format described in Callbacks in Gate.

Note that unlike other payment methods, in the WebMoney method, the callbacks include the payment ID that is generated by the WebMoney service and is passed in the payment_id parameter of the provider object. The successful purchase callbacks always contain the payment_id parameter value, but the declined purchase callbacks may not contain the parameter value.

The following example of callback contains information about a successful 1.00 USD WebMoneyClassic purchase made in the 238 project by using the R123456890000 customer WM wallet. Payment ID generated by the WebMoney service is 1592901328.

Figure 15. Example of a successful WebMoneyClassic purchase callback
{
	"project_id": 238,
	"payment": {
		"id": "ECT_TEST_1534835032773",
		"type": "purchase",
		"status": "success",
		"date": "2018-08-21T07:05:53+0000",
		"method": "webmoney",
		"sum": {
			"amount": 100,
			"currency": "USD"
		},
		"description": "ECT_TEST_1534835032773"
	},
	"account": {
		"number": "R703276019842"
	},
	"operation": {
		"id": 167000001094,
		"type": "sale",
		"status": "success",
		"date": "2018-08-21T07:05:53+0000",
		"created_date": "2018-08-21T07:05:12+0000",
		"request_id": "765fc31fbb98a4ac937bbdadb3303f1d13eead
		ec - 917 f825e85cce20981b0686599cb14b7f383d0e6 ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1082,
			"payment_id": "1592901328",
			"date": "2018-08-21T10:05:51+0000",
			"auth_code": ""
		},
		"code": "0",
		"message": "Success"
	},
	"signature": "nEIk8lTBATPQXhZAqkiEzraA88Tgjx45cPP18thE/9iEkS
	lE9TS20z01H7 / 8 nvHU2Dz + Dp1goRozWpQRXmL6jA == "
}

The following example of callback is for a payment rejected due to amount or frequency limitation and does not contain the payment ID generated by the WebMoney service.

Figure 16. Example of a declined WebMoneyLight purchase callback
{
	"project_id": 238,
	"payment": {
		"id": "ECT_TEST_154477095843411111",
		"type": "purchase",
		"status": "decline",
		"date": "2018-12-14T09:41:30+0000",
		"method": "webmoney-light",
		"sum": {
			"amount": 1000000000,
			"currency": "USD"
		},
		"description": "ECT_TEST_154477095843411111"
	},
	"operation": {
		"id": 13290000002280,
		"type": "sale",
		"status": "decline",
		"date": "2018-12-14T09:41:30+0000",
		"created_date": "2018-12-14T08:41:29+0000",
		"request_id": "a52dc11e9d57fa3a8649671e5599544fcfc50d
		0 f - ebbce425f52073d89f96c67686feefe5ab01c1fd ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1083,
			"payment_id": "",
			"auth_code": ""
		},
		"code": "20101",
		"message": "Decline due to amount or frequency limit"
	},
	"signature": "ukUg6gJ6RtUc2qeXTNE+iDyEh4HdikHuMaCZ4Hju
	sN + uJA8Ze7RVztvlyWhtiXUjrL14pplG7ustFhJIJdDkvw == "
}

Related topics

The following topics might be useful when implementing payments by using Gate:

Refund by using Gate

General information

The WebMoney method supports full and partial refunds processing. When processing a refund by using Gate, the merchant's web service is required to send a request with all the required parameters and signature to the Monetix URL and get the callback with the payment result from the payment platform.

The following diagrams provide the detailed picture of the payment processing procedure.

Figure 17. Refund processing flow when performing a refund by using Gate
  1. The customer initiates a refund in the web service.
  2. The web service sends the request for processing the refund by using Gate to the specified Monetix URL.
  3. The payment platform receives the request for processing the refund by using Gate.
  4. The payment platform performs the initial request processing that includes validation of the required parameters and signature.
  5. The payment platform sends to the web service a response with the request receipt confirmation and correctness check result.
  6. The payment platform performs the internal payment request processing and sends it to the WebMoney service.
  7. The payment is processed in the WebMoney service.
  8. The WebMoney service sends the payment result notification to the payment platform.
  9. The payment platform sends the callback to the web service.
  10. The customer receives the payment result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the WebMoney method and provide the information about the format of callbacks with payment results. For the general information on how to use the API, see API Description. For the general information on how to use the response with request receipt confirmation, see Integration procedure.

Request format

There are several things you must consider when using refund requests in the WebMoney method:
  1. You perform refund by sending the request to the /v2/payment/webmoney/refund ednpoint by using the POST HTTP method.
  2. You must provide values for the basic minimum of the following objects and parameters:
    • general—object that contains general request identification information:
      • project_id—the project ID obtained from Monetix
      • payment_id—ID of the payment that the refund is made for.
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
    • payment—object that contains refund information:
      • description—comment or description
      • amount—refund amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.

        The parameter is required only for partial refund.

      • currency—refund currency in ISO-4217 alpha-3 format.

        The parameter is required only for partial refund.

  3. If required, you can also add any other additional parameters Gate supports.

Here is an example of the data from a refund request.

Figure 18. Example of a refund request
{
        "general": {
            "project_id": 35,
            "payment_id": "Payment 12",
            "signature": "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+2QgJ...=="
        },
        "payment": {
            "amount": 100,
            "currency": "USD",        
            "description": "refund"
        }
}

Callback format

In the WebMoney method, the callbacks that deliver refund results use the standard format described in Callbacks in Gate.

Note that unlike other payment methods, in the WebMoney method, the callbacks include the payment ID that is generated by the WebMoney service and is passed in the payment_id parameter of the provider object. The successful refund callbacks always contain the payment_id parameter value, but the declined refund callbacks may not contain the parameter value.

The following example of callback contains information about a successful 1.00 USD partial refund made in the 238 project. Payment ID generated by the WebMoney service is 1592975261.

Figure 19. Example of a successful refund callback
{
        "project_id": 238,
        "payment": {
            "id": "ECT_TEST_1534835032773",
            "type": "purchase",
            "status": "partially refunded",
            "date": "2018-08-21T12:23:59+0000",
            "method": "webmoney",
            "sum": {
                "amount": 90,
                "currency": "USD"
            },
            "description": "ECT_TEST_1534835032773"
        },
        "account": {
            "number": "R703276019842"
        },
        "operation": {
            "id": 167000001097,
            "type": "refund",
            "status": "success",
            "date": "2018-08-21T12:23:59+0000",
            "created_date": "2018-08-21T12:23:58+0000",
            "request_id": "ba1d13a9346e271b0c38e73be0a93b71bb91c383-4
                                514983dd65d182656477cb8d37f91ab94fd43f9",
            "sum_initial": {
                "amount": 10,
                "currency": "USD"
            },
            "sum_converted": {
                "amount": 10,
                "currency": "USD"
            },
            "provider": {
                "id": 1082,
                "payment_id": "1592975261",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "n/KY3iKZpYObSsUj76BsSElFHi8DRlc1I3SwV
                    5zwuI5kGh/xy4UktZwdhtUWTZPJUnVyYAuURR2d9JWiQ9QJjQ=="
    }

The following example of callback is for a declined payment and does not contain the payment ID generated by the WebMoney service.

Figure 20. Example of a declined refund callback
{
	"project_id": 238,
	"payment": {
		"id": "ECT_TEST_1534835032773",
		"type": "purchase",
		"status": "success",
		"date": "2018-08-21T07:05:53+0000",
		"method": "webmoney",
		"sum": {
			"amount": 100,
			"currency": "USD"
		},
		"description": "ECT_TEST_1534835032773"
	},
	"account": {
		"number": "R703276019842"
	},
	"errors": [{
		"code": "100",
		"message": "General decline",
		"description": "Gate. Operation was declined. General Gate error"
	}],
	"operation": {
		"id": 167000001095,
		"type": "refund",
		"status": "decline",
		"date": "2018-08-21T07:52:00+0000",
		"created_date": "2018-08-21T07:51:59+0000",
		"request_id": "c1bf7b7f8a73e7564142335cb4abf36a962414
		fe - 6 b28fc600d4eaae0da576cc0629fc12881023ac9 ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1082,
			"payment_id": ""
		},
		"code": "100",
		"message": "General decline"
	},
	"signature": "GWffIaYEV93mpHO3KtP9mn4HDITfGFx4Fcu/4sr7H
	5 jxGGvJSnG6Y9hmZlaVpdZBAl9AeRHkIkF / RlSZ3R71Vw == "
}

Related topics

The following topics might be useful when implementing payments through Gate:

Payout by using Gate

General information

In the WebMoney method, when processing a payout by using Gate, the merchant's web service is required to send a request with all the required parameters and signature to the Monetix URL and get the callback with the payment result from the payment platform.

The following diagrams provide the detailed picture of the payment processing procedure.

Figure 21. Payout sequence when using Gate
  1. The customer initiates a payout in the web service.
  2. The web service sends the request for processing the payout by using Gate to the specified Monetix URL.
  3. The payment platform receives the request for processing the payout by using Gate.
  4. The payment platform performs the initial request processing that includes validation of the required parameters and signature.
  5. The payment platform sends to the web service response with request receipt confirmation and correctness check result.
  6. The payment platform performs the internal payment request processing and sends it to the WebMoney service.
  7. The payment is processed in the WebMoney service.
  8. The WebMoney service sends the payment result notification to the payment platform.
  9. The payment platform sends the callback to the web service.
  10. The customer receives the payment result from the web service.

The sections that follow discuss in more details the request format and the Gate parameters to use in the WebMoney method and provide the information about the format of callbacks with payment results. For the general information on how to use the API, see API Description. For the general information on how to use the response with request receipt confirmation, see Integration procedure.

Request format

In WebMoney method, when processing a payout, it is available to secure the transfer with a protection code required for receiving the transfer. There are several things you must consider when using payout requests in the WebMoney method:

  1. You initiate a payout by sending an HTTP POST request to the /v2/payment/webmoney/payout endpoint.
  2. You must provide values for the basic minimum of the following objects and parameters:
    • general—object with general request information:
      • project_id—the project ID obtained from Monetix
      • payment_id—payment ID unique within the project
      • signature—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification.
    • customer—object with customer information:
      • id—customer ID unique within the project
      • ip_address—customer device IP
      • first_name—customer first name
      • last_name—customer last name
      • email—customer email
    • Object account—the customer WM e-wallet information:
      • number—the number of customer WM e-wallet
    • payment—object with payout information:
      • amount—payout amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
      • currency—payout currency in ISO-4217 alpha-3 format. The payout currency should be the same as the customer wallet currency
  3. Additionally, you need to use the following parameters:
    • payment—object with payment information:
      • description—payment description.

        Payment description should be specified in the request as follows: Withdrawal from personal account №<customer's bank account number> on the website <URL of the merchant web service>. Example: Withdrawal from personal account №01234567890 on the website https://merchant.example.com

  4. For payments with protection, you must provide values for parameters of protection code and period.

    The customer receives the funds and sees them, but is not able to use them until entering the protection code. If the customer does not enter the code within the time period specified on the web service side (the protection time), then the funds will be returned to the merchant's e-wallet. In this case, the payment status changes to decline.

    The protection code and time period (the period can vary from 1 to 35 days) must be specified on the web service side in the protection_code and protection_period parameters of the payment object, as well as let the customer know the protection code.
  5. If required, you can also add any other additional parameters Gate supports.

Here is an example of data from a non-protected payout request.

Figure 22. Example of a non-protected payout
{
        "general": {
            "project_id": 238,
            "payment_id": "WM-payout-002",
            "signature": "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+2QgJ...=="
        },
        "customer": {
            "id": "customer_123",
            "ip_address": "198.51.100.47",
            "first_name": "John",
            "last_name": "Doe",
            "email": "johndoe@example.com"
        },
        "account": {
            "number": "R703276019842"
        },
        "payment": {
            "amount": 100,
            "currency": "RUB",
            "description": "Withdrawal from personal account №01234567890 on the website https://merchant.example.com/"
        }
}

Here is an example of data from a protected payout request.

Figure 23. Example of a protected payout
{
        "general": {
            "project_id": 238,
            "payment_id": "WM-payout-001",
            "signature": "PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
        },
        "customer": {
            "id": "customer_123",
            "ip_address": "198.51.100.47",
            "ip_address": "198.51.100.47",
            "first_name": "John",
            "last_name": "Doe",
            "email": "johndoe@example.com"
        },
        "account": {
            "number": "R703276019842"
        },
        "payment": {
            "amount": 100,
            "currency": "RUB",
            "protection_code": "code1",
            "protection_period": 1,
            "description": "Withdrawal from personal account №01234567890 on the website https://merchant.example.com/"
        }
}

Callback format

In the WebMoney method, the callbacks that deliver payout results use the standard format described in Callbacks in Gate.

Note that unlike other payment methods, in the WebMoney method, the callbacks include the payment ID that is generated by the WebMoney service and is passed in the payment_id parameter of the provider object. The successful payout callbacks always contain the payment_id parameter value, but the declined payout callbacks may not contain the parameter value.

The following example of callback contains information about a successful 1.00 USD payout made in the 238 project by using the ABC1234 customer WMID—377094062589. Payment ID generated by the WebMoney service is 1593230877.

Figure 24. Example of a successful payout callback
{
	"project_id": 238,
	"payment": {
		"id": "WM-payout-121",
		"type": "payout",
		"status": "success",
		"date": "2018-08-22T13:35:41+0000",
		"method": "webmoney",
		"sum": {
			"amount": 100,
			"currency": "USD"
		},
		"description": "test payout without protection"
	},
	"account": {
		"number": "377094062589"
	},
	"customer": {
		"id": "ABC1234"
	},
	"operation": {
		"id": 16442000001089,
		"type": "payout",
		"status": "success",
		"date": "2018-08-22T13:35:41+0000",
		"created_date": "2018-08-22T13:35:39+0000",
		"request_id": "511bba243a2ef3dcc7865dedc43ea8ff2c6352
		e4 - 0369 a4524fef9b41a71e7c97d23077dec8198cae ",
		"sum_initial": {
			"amount": 100,
			"currency": "USD"
		},
		"sum_converted": {
			"amount": 100,
			"currency": "USD"
		},
		"provider": {
			"id": 1082,
			"payment_id": "1593230877",
			"date": "2018-08-22T16:35:39+0000",
			"auth_code": ""
		},
		"code": "0",
		"message": "Success"
	},
	"signature": "uoFrPY6tVRwG9CrOivMaVtOPgLW67cZF/PhGifg1QP
	GYh0Nc3QI / SdCW4fOfAH2uJt + BymQVkYQBkkwZ / aVFfg == "
}

The following example of callback is for a declined payout but contains the 1594601738 payment ID generated by the WebMoney service.

Figure 25. Example of a declined payout callback
{
        "project_id": 238,
        "payment": {
            "id": "WM-payout-001=35",
            "type": "payout",
            "status": "decline",
            "date": "2018-08-29T21:33:22+0000",
            "method": "webmoney",
            "sum": {
                "amount": 10,
                "currency": "USD"
            },
            "description": "test payout with protection"
        },
        "account": {
            "number": "377094062589"
        },
        "customer": {
            "id": "cust0007"
        },
        "operation": {
            "id": 9744000001160,
            "type": "payout",
            "status": "decline",
            "date": "2018-08-29T21:33:22+0000",
            "created_date": "2018-08-28T14:33:20+0000",
            "request_id": "3fc02ef403a21531775fa44440a5f6f3372c5
                            8db-508e54208ae977d3bebf875ac3cd2afbf87764bd",
            "sum_initial": {
                "amount": 10,
                "currency": "USD"
            },
            "sum_converted": {
                "amount": 10,
                "currency": "USD"
            },
            "provider": {
                "id": 1082,
                "payment_id": "1594601738",
                "date": "2018-08-28T17:33:20+0000",
                "auth_code": ""
            },
            "code": "20000",
            "message": "General decline"
        },
        "signature": "/hv7zLOiJapRXiDfdDMW6Vlilv13SALr/Zp
                          nIEQiQltHxl09271AQI89IfVG5z/y9+WAHwsBHuPxzjf2CvAx+w=="
    }

Related topics

The following topics might be useful when implementing payments by using Gate:

Payout by using Dashboard

To make a payout through Dashboard, the merchant sends a request and receives a notification with the request processing result. There are two ways to initiate payouts through Dashboard:
  • single payout—you specify the currency and amount for a payout available for this method and fill in all the fields required for the selected payment method on the Dashboard pages.
  • as a part of a mass payment—all the parameters are specified in a CSV file. Refer to the Payouts by using Gate section for the parameters required by your payment method.

Information about completed payouts is available for viewing in the Payments and Manual Payments sections of Dashboard.

For more information about payout processing by using Dashboard, see Performing payouts.

Testing

General information

In the WebMoney payment method, the following operations are available for testing: purchase through WebMoneyLight and WebMoneyClassic by using Payment Page and Gate, payouts through WebMoneyClassic by using Gate, refunds through WebMoneyLight by using Gate..

Testing can be performed within a test project, to enable and disable the testing availability, contact Monetix technical support via support@monetix.pro.

When performing a test payment, take into account that you must specify the ID of the test project in the requests, the currency can be any of supported ones: WMZ (USD), WME (EUR), WMK (KZT) (the availability of each currency is configured separately on request), and the interfaces of the payment forms emulator of Payment Page and WebMoney may differ from the work ones.

Test payments statuses

When testing purchases or payouts the final payment status is determined by the amount specified in the request:

  • decline status with 40000 or 40400 amount
  • success status with any other amount

When testing refunds, the final payment status is determined by the amount specified in the request:

  • decline status with 50000 or 50500 amount
  • success status with any other amount

Testing purchase by using Payment Page

To perform a test purchase trough WebMoneyLight by using Payment Page, do the following:

  1. Send a correct test request for Payment Page opening to the payment platform.
  2. If the webmoney-light method was not specified in the request—select the method on the emulator page.
  3. Click Success or Decline depending on the specified amount.
  4. Accept a callback with information about the payment result.

To perform a test purchase trough WebMoneyClassic by using Payment Page, do the following:

  1. Send a correct test request for Payment Page opening to the payment platform.
  2. If the webmoney method was not specified in the request—select the method on the emulator page.
  3. Specify a random WMID in the data entry field and the wallet currency.
  4. Accept a callback with information about the payment result.

The full information about purchase process by using WebMoney through Payment Page is provided in the section Purchase by using Payment Page.

Testing purchase by using Gate

To perform a test purchase trough WebMoneyLight by using Gate, do the following:

  1. Send a correct test request for purchase to the payment platform.
  2. Accept a callback with redirection data.
  3. Go to the received URL and click Success or Decline depending on the specified payment amount.
  4. Accept a callback with information about the payment result.

To perform a test purchase trough WebMoneyClassicby using Gate, do the following:

  1. Send a correct test request for purchase to the payment platform.
  2. Accept a callback with information about the payment result.

The full information about purchase process by using WebMoney through Gate is provided in the section Purchase by using Gate.

Testing payout by using Gate

To perform a test payout by using Gate, send a correct test request to the payment platform and accept a callback with information about the payment result. The full information about payout process by using WebMoney through Gate is provided in the section Payout by using Gate.

Testing refund by using Gate

To perform a test refund by using Gate, send a correct test request for refund of previously performed test purchase to the payment platform and accept a callback with information about the payment result.

The test refund performing is possible only within a day after the initial purchase. The full information about the refund process by using WebMoney through Gate is provided in the section Refund by using Gate.

Analysis of payments results

As with other payment methods Monetix offers, when using this method, you have several options to analyze the information about payments and operations.

You can load and analyze all the necessary information in Dashboard (dash-light.trxhost.com), for instance you can use the analytic panels in the Analytics section for this purpose.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV format by using the tools in the Reports section. You can perform export as a one-time or regular download of data to your local computer.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by means of sending requests to the /operations/get endpoint.

If you have any further questions regarding payment data analysis, contact Monetix technical support.