Form for HTTP notifications

Attention. This is an old version of the API. Switch to the Yandex.Checkout API.

Address for form submission

https://money.yandex.ru/eshop.xml

Form parameters

Parameter Type Restrictions Description
Mandatory parameters

shopId

long

The merchant ID issued when activating Yandex.Checkout.

scid

long

ID of the payment form, issued during activation of Yandex.Checkout.

sum

CurrencyAmount

Order amount.

Note.

The order amount can be omitted only in one case: when paying in cash at a kiosk using a payment code (paymentType=GP). Then the payment code is reusable. For each payment using this code, the merchant is transferred the amount the user deposited in the kiosk.

customerNumber

normalizedString

128 characters

Customer ID used by merchant. The ID can be the customer's contract number, username, or other.

More than one payment can be made using the same customer ID.

Allowed characters:

  • Numbers from 0 to 9.
  • Latin letters.
  • Russian letters.
  • symbols ~!@#$%^&*()_+{}|:"<>?-=[]\;./!"№;%:?*()_+/
  • Spaces (spaces are not allowed at the beginning and end).
Optional parameters

orderNumber

normalizedString

64 characters

Unique order number in the merchant's system. Yandex.Checkout ensures that this number is unique in conjunction with the shopId parameter.

If a payment with the same order number was already successfully processed or there was an error during the payment process, Yandex.Checkout will decline any repeated attempts at this payment.

shopArticleId

long

Product ID. Issued when activating Yandex.Checkout. Used if the store has multiple payment forms for various products.

shopSuccessURL

string, URL path

250 characters

The URL for the Back to store link on the successful payment page. Depending on the store's settings:

  • Set in your personal dashboard (see the successURL option in the Settings section).
  • Passed dynamically.

See Activation parameters

shopFailURL

string, URL path

250 characters

The URL for the Back to store link on the payment error page.

Depending on the store's settings:

  • Set in your personal dashboard (see the failURL option in the Settings section).
  • Passed dynamically.

See Activation parameters

shopDefaultUrl string, URL path 250 characters

The URL for the Back to store link when the Yandex.Checkout part of the payment process has concluded, but the user still has additional steps to complete in order to finish the payment.

Pages that show this link:

If this parameter is set, the same URL is used for the Back to store link on the payment confirmation page.

If shopDefaultUrl isn't set, this link points to the Site address from settings.

cps_email

string

100 characters

Payer's email address. If passed, the corresponding box on the payment confirmation page will be pre-filled (step 3 in the payment process).

You can transmit only email address (we check it).

Restriction.

This parameter isn't passed in checkOrder and paymentAviso requests.

cps_phone

string

15 characters, digits only

Payer's mobile phone number. If passed, the corresponding box on the payment confirmation page will be pre-filled (step 3 in the payment process).

Restriction.

This parameter isn't passed in checkOrder and paymentAviso requests.

paymentType

normalizedString 5 characters

Payment method. We recommend passing an empty value in this field so that the payment method will be selected in Yandex.Checkout.

Examples:

  • PC — payment from a Yandex.Money wallet;
  • AC — payment from any bank card.

Full list of values

Restriction.

If the payment form specifies a payment method that the merchant doesn't allow, the customer can't complete the payment.

ym_merchant_receipt string

Details for creating a receipt in the JSON format.

The parameter is transmitted and presents as mandatory if you set up interaction with your online sales register via Yandex.Checkout and transmits the details for creating the receipt in the payment form.

See Parameters for creating a receipt
Note. You don't need to transmit the data for creating a receipt for B2B payments (paymentType=2S).
Additional parameters for B2B payments (paymentType=2S)
payment_purpose string 210 characters Payment purpose. Required parameter.
vatType string Type of VAT. Possible values:
  • calculated — taxable, all products have the same rate;
  • untaxed — non-taxable;
  • mixed — products in the payment are taxed differently.
vatRate string

VAT rate. Required if vatType=calculated.

Possible values:

  • 0 — 0% VAT rate;
  • 7 — 7% VAT rate;
  • 10 — 10% VAT rate;
  • 18 — 18% VAT rate;
  • 20 — 20% VAT rate.
vatSum CurrencyAmount Amount of VAT. Required if vatType=calculated or vatType=mixed. You need to calculate the exact amount of VAT independently, then indicate it in the payment request. Also indicate the full amount to be paid by customer, including VAT, in the sum field.
Parameters that the merchant can add (optional)
custom_field string

It is used for transmitting additional parameters. For instance, when paying by QR code, the qrpayment value is transmitted.

Any names other than those listed above string

4096 characters (total length of all parameters)

Parameters that the merchant adds to the payment form are saved and passed to the merchant in checkOrder and paymentAviso requests.

Restriction.

The names of added parameters can contain uppercase or lowercase Latin letters, numbers, the underscore, and the dash. Spaces, dots, and square brackets[ ] are not allowed.

The name must start with a letter, but it can't begin with the combination xml.

Example of the payment form

<form action="https://money.yandex.ru/eshop.xml" method="post">
    <input name="shopId" value="1234" type="hidden"/>
    <input name="scid" value="4321" type="hidden"/>
    <input name="sum" value="100.50" type="hidden">
    <input name="customerNumber" value="abc000" type="hidden"/>
    <input name="paymentType" value="AC" type="hidden"/>
    <input name="orderNumber" value="abc1111111" type="hidden"/>
    <input name="cps_phone" value="79110000000" type="hidden"/>
    <input name="cps_email" value="user@domain.com" type="hidden"/>
  <input type="submit" value="Pay"/>
</form>

Example of a payment form with parameters for B2B payments

<form action="https://money.yandex.ru/eshop.xml" method="post">
        <input name="shopId" value="1234" type="hidden"/>
        <input name="scid" value="4321" type="hidden"/>
        <input name="sum" value="50.00" type="hidden">
        <input name="customerNumber" value="abc000" type="hidden"/>
        <input name="paymentType" value="2S" type="hidden"/>
        <input name="orderNumber" value="abc1111111" type="hidden"/>
        <input name="cps_phone" value="79110000000" type="hidden"/>
        <input name="cps_email" value="user@domain.com" type="hidden"/>
        <input name="payment_purpose" value="Order No. 2134О" type="hidden"/>
        <input name="vatType" value="calculated" type="hidden"/>
        <input name="vatRate" value="18" type="hidden"/>
        <input name="vatSum" value="9.00" type="hidden"/>
        <input type="submit" value="Pay"/>
        </form>

See also

Test payment