Единая касса ошибка

  1. Настройка учетной записи интернет-магазина
  2. Формирование платежной формы
  3. Защита платежной формы
  4. Выбор доступных способов оплаты
  5. Настройка отправки чеков в налоговую в соответствии с ФЗ-54
  6. Обработка уведомления о результате оплаты
  7. Настройка отчетов
  8. Генерация ссылки на оплату

Шаг 1. Настройка учетной записи интернет-магазина

После регистрации учетной записи необходимо указать информацию о магазине, которая будет отображаться клиентам при оплате. Сделать это можно в личном кабинете в разделе «Настройки», вкладка «О магазине»:

Настройки кошелька

Шаг 2. Формирование платежной формы

После того как покупатель выберет товары на сайте интернет-магазина и сформирует корзину заказа, интернет-магазин направляет его на страницу оплаты заказа. Страница оплаты должна содержать следующие обязательные поля:

Название параметра Описание
WMI_MERCHANT_ID Идентификатор интернет-магазина
WMI_PAYMENT_AMOUNT Сумма заказа
WMI_CURRENCY_ID Идентификатор валюты заказа (ISO 4217)
WMI_CUSTOMER_EMAIL Email плательщика
WMI_ORDER_ITEMS json объект для передачи фискальных данных. Подробное описание в Шаге 5.

Платежная форма содержит идентификатор интернет-магазина, сумму, валюту заказа и почту плательщика, а также ссылки на страницы интернет-магазина, на которые будет отправлен покупатель после успешной или не успешной оплаты, и параметр, отвечающий за передачу фискальных данных.

Пример:

<form method="post" action="https://wl.walletone.com/checkout/checkout/Index">
  <input name="WMI_MERCHANT_ID"    value="123456789012"/>
  <input name="WMI_PAYMENT_AMOUNT" value="100.00"/>
  <input name="WMI_CURRENCY_ID"    value="643"/>
  <input name="WMI_DESCRIPTION"    value="Оплата демонстрационного заказа"/>
  <input name="WMI_SUCCESS_URL"    value="https://myshop.ru/w1/paid.php"/>
  <input name="WMI_FAIL_URL"       value="https://myshop.ru/w1/fail.php"/>
  <input name="WMI_CUSTOMER_EMAIL" value="Test@mail.ru"/>
  <input name="WMI_ORDER_ITEMS"    value='[{"Title":"Тестовый товар", "Quantity":"1.00", "UnitPrice":"100.00","SubTotal":"100.00", "TaxType":"tax_ru_1","Tax":"0.00"}]'/>
  <input type="submit"/>
</form>

Платежная форма может содержать дополнительные параметры, которые влияют на доступные способы оплаты, срок действия заказа, язык торгового интерфейса и т.п. Полный перечень параметров платежной формы приведен ниже:

Название параметра Описание
WMI_MERCHANT_ID Идентификатор интернет-магазина, полученный при регистрации.
WMI_PAYMENT_AMOUNT Сумма заказа — число округленное до 2-х знаков после «запятой», в качестве разделителя используется «точка». Наличие 2-х знаков после «запятой» обязательно.
WMI_CURRENCY_ID Идентификатор валюты (ISO 4217):

  • 643 — Российские рубли
  • 980 — Украинские гривны
  • 398 — Казахстанские тенге
  • 974 — Белорусские рубли
  • 972 — Таджикские сомони
WMI_PAYMENT_NO Идентификатор заказа в системе учета интернет-магазина. Значение данного параметра должно быть уникальным для каждого заказа.
WMI_DESCRIPTION Описание заказа (список товаров и т.п.) — отображается на странице оплаты заказа, а также в истории платежей покупателя. Максимальная длина 255 символов.
WMI_SUCCESS_URL
WMI_FAIL_URL
Адреса (URL) страниц интернет-магазина, на которые будет отправлен покупатель после успешной или неуспешной оплаты.
WMI_RESULT_LINK_EXPIRE Время истечения действия ссылок WMI_SUCCESS_URL, WMI_FAIL_URL на которые покупатель будет отправлен после успешной или не успешной оплаты. Время указывается в секундах и должно быть в диапазоне от 30 до 2678000 (31 день). В случае не передачи данного параметра, будет установлено значение равное 30 секундах.
WMI_EXPIRED_DATE Срок истечения оплаты. Дата указывается в западно-европейском часовом поясе (UTC+0) и должна быть больше текущей (ISO 8601), например: 2013-10-29T11:39:26.

Обратите внимание: срок действия счёта не может превышать 30 дней с момента выставления!

WMI_PTENABLED
WMI_PTDISABLED
С помощью этих параметров можно управлять доступными способами оплаты. Подробнее в разделе «Выбор доступных способов оплаты».
WMI_RECIPIENT_LOGIN Логин плательщика по умолчанию. Значение данного параметра будет автоматически подставляться в поле логина при авторизации. Возможные форматы: электронная почта, номер телефона в международном формате.
WMI_CUSTOMER_PHONE Номер мобильного телефона плательщика в международном формате. Например, +71234567890. Значение этого поля будет использоваться в следующих целях:

  • автоматически подставляться в формы некоторых способов оплаты;
  • использоваться для определения страны плательщика;
  • использоваться для поиска счетов клиента в банках и системах электронных денег.
WMI_CUSTOMER_FIRSTNAME
WMI_CUSTOMER_LASTNAME
WMI_CUSTOMER_EMAIL
Имя, фамилия и e-mail плательщика. Значения данных параметров будут автоматически подставляться в формы некоторых способов оплаты.
WMI_CULTURE_ID Язык интерфейса определяется автоматически, но можно задать его:

  • ru-RU — русский;
  • en-US — английский.
WMI_AUTO_LOCATION Позволяет показывать пользователю способы оплаты, соответствующие его стране нахождения.

  • 0 — отображаются способы без привязки к стране пользователя;
  • 1 — страна пользователя и отображение способов определяется по IP.
WMI_SIGNATURE Подпись платежной формы, сформированная с использованием «секретного ключа» интернет-магазина. Необходимость проверки этого параметра устанавливается в настройках интернет-магазина. Подробнее в разделе «Защита платежной формы».
Все остальные поля платежной формы, не имеющие префикс «WMI_», будут сохранены и переданы в интернет-магазин.

Во избежание проблем при использовании национальных символов при передаче параметра WMI_DESCRIPTION существует возможность кодирования параметра строкой BASE64 (UTF-8).

Формат передачи: BASE64:<кодированное в BASE64 значение>

Пример: BASE64:0J7Qv9C70LDRgtCwINC30LDQutCw0LfQsA==

Обратите внимание! Если вы зарегистрировали персональный проект, то на странице платежной формы будет отображаться информация о том, что платеж принимается в пользу физического лица.

В тестовом режиме используются специальные платёжные инструменты. Счёт будет оплачен, но движения денежных средств по балансу не произойдёт. Виды инструментов: TestCardRUB.

Параметры CardholderName, ExpiredDate, CVV отвечают общим условиям валидации. Обязателен параметр Email (может передаваться как WMI_CUSTOMER_EMAIL).

Приводим список карт и соответствующих моделей поведения:

  • 5457 2100 0100 0019 — Успешная оплата, без 3DS
  • 5457 2100 0100 0043 — Успешная оплата, c 3DS
  • 4024 0071 0471 6096 — Успешная оплата, ошибка при возврате
  • 4847 0000 6602 5312 — Неуспешная оплата, неверные данные карты
  • 5329 3728 6227 2032 — Неуспешная оплата, фрод
  • 4189 0692 9106 7072 — Неуспешная оплата, истёкшая карта
  • 5326 7268 9031 5936 — Неуспешная оплата, неверный владелец
  • 5304 4927 9124 6052 — Неуспешная оплата, неверный cvv
  • 5312 2498 1443 1065 — Неуспешная оплата, карта не поддерживается
  • 4539 6574 9236 2685 — Неуспешная оплата, недостаточно денежных средств
  • 4716 7187 0398 6236 — Неуспешная оплата, ошибка авторизации карты

Каждому виду ошибки соответствует код, возвращаемый в составе запроса.

Обратите внимание: в тестовом режиме передача иных способов оплаты невозможна. В этом случае формирование платёжной формы завершится с ошибкой.

Шаг 3. Защита платежной формы

Параметры заказа интернет-магазина передаются в Единую кассу через web-браузер покупателя, поэтому, чтобы предотвратить изменение параметров на стороне покупателя, интернет-магазину необходимо подписать параметры платежной формы.

Для этого интернет-магазину необходимо добавить в платежную форму параметр WMI_SIGNATURE, сформированный с использованием выбранного метода формирования ЭЦП и «секретного ключа» интернет-магазина.

Метод формирования ЭЦП и «секретный ключ» интернет-магазина можно настроить в личном кабинете Единой кассы в разделе «Настройки» во вкладке «Интеграция» как показано на рисунке:

Настройки кошелька

Обратите внимание! После генерации секретного ключа обязательно нажмите кнопку «Сохранить» внизу страницы. Это необходимое условие для корректной работы ЭЦП.

Параметр WMI_SIGNATURE формируется путем объединения значений всех остальных параметров формы в алфавитном порядке их имен (без учета регистра) с добавлением в конец «секретного ключа» интернет-магазина. Если форма содержит несколько полей с одинаковыми именами, такие поля сортируются в алфавитном порядке их значений.

Полученное после объединения параметров и «секретного ключа» значение, представленное в кодировке Windows-1251, хешируется выбранным методом формирования ЭЦП и его байтовое представление кодируется в Base64.

      WMI_SIGNATURE = Base64(Byte(MD5(Windows1251(Sort(Params) + SecretKey))));

Пример (PHP):

<?php

  //Секретный ключ интернет-магазина
  $key = "XkZMYW56NzVbNV1aekxGNVxvT3xwVHExZ005";

  $fields = array();

  // Добавление полей формы в ассоциативный массив
  $fields["WMI_MERCHANT_ID"]    = "119175088534";
  $fields["WMI_PAYMENT_AMOUNT"] = "100.00";
  $fields["WMI_CURRENCY_ID"]    = "643";
  $fields["WMI_PAYMENT_NO"]     = "12345-001";
  $fields["WMI_DESCRIPTION"]    = "BASE64:".base64_encode("Payment for order #12345-001 in MYSHOP.com");
  $fields["WMI_EXPIRED_DATE"]   = "2019-12-31T23:59:59";
  $fields["WMI_SUCCESS_URL"]    = "https://myshop.com/w1/success.php";
  $fields["WMI_FAIL_URL"]       = "https://myshop.com/w1/fail.php";
  $fields["MyShopParam1"]       = "Value1"; // Дополнительные параметры
  $fields["MyShopParam2"]       = "Value2"; // интернет-магазина тоже участвуют
  $fields["MyShopParam3"]       = "Value3"; // при формировании подписи!
  //Если требуется задать только определенные способы оплаты, раскоментируйте данную строку и перечислите требуемые способы оплаты.
  //$fields["WMI_PTENABLED"]      = array("UnistreamRUB", "SberbankRUB", "RussianPostRUB");

  //Сортировка значений внутри полей
  foreach($fields as $name => $val)
  {
      if(is_array($val))
      {
          usort($val, "strcasecmp");
          $fields[$name] = $val;
      }
  }

  // Формирование сообщения, путем объединения значений формы,
  // отсортированных по именам ключей в порядке возрастания.
  uksort($fields, "strcasecmp");
  $fieldValues = "";

  foreach($fields as $value)
  {
      if(is_array($value))
          foreach($value as $v)
          {
              //Конвертация из текущей кодировки (UTF-8)
              //необходима только если кодировка магазина отлична от Windows-1251
              $v = iconv("utf-8", "windows-1251", $v);
              $fieldValues .= $v;
          }
      else
      {
          //Конвертация из текущей кодировки (UTF-8)
          //необходима только если кодировка магазина отлична от Windows-1251
          $value = iconv("utf-8", "windows-1251", $value);
          $fieldValues .= $value;
      }
  }

  // Формирование значения параметра WMI_SIGNATURE, путем
  // вычисления отпечатка, сформированного выше сообщения,
  // по алгоритму MD5 и представление его в Base64

  $signature = base64_encode(pack("H*", md5($fieldValues . $key)));

  //Добавление параметра WMI_SIGNATURE в словарь параметров формы

  $fields["WMI_SIGNATURE"] = $signature;

  // Формирование HTML-кода платежной формы

  print "<form action='https://wl.walletone.com/checkout/checkout/Index' method='POST'>";

  foreach($fields as $key => $val)
  {
      if(is_array($val))
          foreach($val as $value)
          {
              print "$key: <input type='text' name='$key' value='$value'/>";
          }
      else
          print "$key: <input type='text' name='$key' value='$val'/>";
  }

  print "<input type='submit'/></form>";

?>

Пример (Perl):

#!/usr/bin/perl
use Digest::MD5 qw(md5_base64);
use MIME::Base64;

# Секретный ключ интернет-магазина

$key = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

my %fields; # Добавление полей формы в ассоциативный массив

$fields{"WMI_MERCHANT_ID"}    = "123456789012";
$fields{"WMI_PAYMENT_AMOUNT"} = "100.00";
$fields{"WMI_CURRENCY_ID"}    = "398";
$fields{"WMI_PAYMENT_NO"}     = "12345-001";
$fields{"WMI_DESCRIPTION"}    =  encode_base64("Payment for order #12345-001 in MYSHOP.com", "");
$fields{"WMI_EXPIRED_DATE"}   = "2019-12-31T23:59:59";
$fields{"WMI_SUCCESS_URL"}    = "https://myshop.com/w1/success.php";
$fields{"WMI_FAIL_URL"}       = "https://myshop.com/w1/fail.php";
$fields{"MyShopParam1"}       = "Value1"; # Дополнительные параметры
$fields{"MyShopParam2"}       = "Value2"; # интернет-магазина тоже участвуют
$fields{"MyShopParam3"}       = "Value3"; # при формировании подписи!

# Формирование сообщения, путем объединения значений формы,
# отсортированных по именам ключей в порядке возрастания.

my $fieldValues = "";

for my $key (sort { lc($a) cmp lc($b) } keys %fields)
{
  $fieldValues .= $fields{$key};
}

# Формирование значения параметра WMI_SIGNATURE, путем
# вычисления отпечатка, сформированного выше сообщения,
# по алгоритму MD5 и представление его в Base64.

my $signature = md5_base64($fieldValues, $key) . '==';

# Добавление параметра WMI_SIGNATURE в словарь параметров формы.

$fields{"WMI_SIGNATURE"} = $signature;

# Формирование HTML-кода страницы с платежной формой.

print "Content-type: text/html; charset=UTF-8nn";

print "<form action="https://wl.walletone.com/checkout/checkout/Index" method="POST" >";

for my $key (sort { lc($a) cmp lc($b) } keys %fields)
{
  print "$key: <input name="$key" value="$fields{$key}"/>";
}

print "<input type="submit"/></form>n";

Пример (С#):

using System;
using System.Web;
using System.Text;
using System.Security.Cryptography;
using System.Collections.Generic;

public class PaymentForm : IHttpHandler
{
  public void ProcessRequest(HttpContext context)
  {
    // Секретный ключ интернет-магазина

    string merchantKey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

    // Добавление полей формы в словарь, сортированный по именам ключей.

    SortedDictionary<string, string> formField
      = new SortedDictionary<string, string>();

    formField.Add("WMI_MERCHANT_ID",    "123456789012");
    formField.Add("WMI_PAYMENT_AMOUNT", "100.00");
    formField.Add("WMI_CURRENCY_ID",    "643");
    formField.Add("WMI_PAYMENT_NO",     "12345-001");
    formField.Add("WMI_DESCRIPTION",    "BASE64:" + Convert.ToBase64String(Encoding.UTF8.GetBytes("Payment for order #12345-001 in MYSHOP.com")));
    formField.Add("WMI_EXPIRED_DATE",   "2019-12-31T23:59:59");
    formField.Add("WMI_SUCCESS_URL",    "https://myshop.com/w1/success.php");
    formField.Add("WMI_FAIL_URL",       "https://myshop.com/w1/fail.php");
    formField.Add("MyShopParam1", "Value1"); // Дополнительные параметры
    formField.Add("MyShopParam2", "Value2"); // магазина тоже участвуют
    formField.Add("MyShopParam3", "Value3"); // при формировании подписи!

    // Формирование сообщения, путем объединения значений формы,
    // отсортированных по именам ключей в порядке возрастания и
    // добавление к нему "секретного ключа" интернет-магазина

    StringBuilder signatureData = new StringBuilder();

    foreach (string key in formField.Keys)
    {
        signatureData.Append(formField[key]);
    }

    // Формирование значения параметра WMI_SIGNATURE, путем
    // вычисления отпечатка, сформированного выше сообщения,
    // по алгоритму MD5 и представление его в Base64

    string message = signatureData.ToString() + merchantKey;
    Byte[] bytes = Encoding.GetEncoding(1251).GetBytes(message);
    Byte[] hash = new MD5CryptoServiceProvider().ComputeHash(bytes);
    string signature = Convert.ToBase64String(hash);

    // Добавление параметра WMI_SIGNATURE в словарь параметров формы

    formField.Add("WMI_SIGNATURE", signature);

    // Формирование платежной формы

    StringBuilder output = new StringBuilder();

    output.AppendLine("<form method="POST" action="https://wl.walletone.com/checkout/checkout/Index">");

    foreach (string key in formField.Keys)
    {
        output.AppendLine(String.Format("{0}: <input name="{0}" value="{1}"/>", key, formField[key]));
    }

    output.AppendLine("<input type="submit"/></form>");

    context.Response.ContentType = "text/html; charset=UTF-8";
    context.Response.Write(output.ToString());
  }
}

Пример Python:

  from collections import defaultdict
  import binascii
  from hashlib import md5

  def get_signature(params, secret_key):
      """
      Base64(Byte(MD5(Windows1251(Sort(Params) + SecretKey))))
      params - list of tuples [('WMI_CURRENCY_ID', 643), ('WMI_PAYMENT_AMOUNT', 10)]
      """
      icase_key = lambda s: unicode(s).lower()

      lists_by_keys = defaultdict(list)
      for key, value in params:
          lists_by_keys[key].append(value)

      str_buff = ''
      for key in sorted(lists_by_keys, key=icase_key):
          for value in sorted(lists_by_keys[key], key=icase_key):
              str_buff += unicode(value).encode('1251')
      str_buff += secret_key
      md5_string = md5(str_buff).digest()
      return binascii.b2a_base64(md5_string)[:-1]

Пример NodeJS:

  var iconv = require('iconv-lite');
  var crypto = require('crypto');

    // Секретный ключ интернет-магазина
  var key = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX';

  var fields = {
    WMI_MERCHANT_ID: '123456789012',
    WMI_PAYMENT_AMOUNT: '100.00',
    WMI_CURRENCY_ID: '643',
    WMI_PAYMENT_NO: '12345-001',
    WMI_DESCRIPTION: 'BASE64:' + new Buffer('Payment for order #12345-001 in MYSHOP.com').toString('base64'),
    WMI_EXPIRED_DATE: '2019-12-31T23:59:59',
    WMI_SUCCESS_URL: 'https://myshop.com/w1/success.php',
    WMI_FAIL_URL: 'https://myshop.com/w1/fail.php',
    // Если требуется задать только определенные способы оплаты, раскоментируйте данную строку и перечислите требуемые способы оплаты.
    // WMI_PTENABLED: ['UnistreamRUB', 'SberbankRUB', 'RussianPostRUB'],
    MyShopParam1: 'Value1',
    MyShopParam2: 'Value2',
    MyShopParam3: 'Value3'
  };

  var comparator = function(a, b){
    var a = a.toLowerCase();
    var b = b.toLowerCase();
    return a > b ? 1 : a < b ? -1 : 0;
  };

  var createInput = function(name, value){
    return '';
  };

  var inputs = '';
  var values = '';

  // Формирование сообщения, путем объединения значений формы,
  // отсортированных по именам ключей в порядке возрастания
  Object.keys(fields).sort(comparator).forEach(function(name){
    var value = fields[name];
    if (Array.isArray(value)) {
      values += value.sort(comparator).join('');
      inputs += value.map(function(val){ return createInput(name, val); }).join('');
    }
    else {
      values += value;
      inputs += createInput(name, value);
    }
  });

  // Формирование значения параметра WMI_SIGNATURE, путем
  // вычисления отпечатка, сформированного выше сообщения,
  // по алгоритму MD5 и представление его в Base64
  inputs += createInput('WMI_SIGNATURE', crypto.createHash('md5').update(iconv.encode(values + key, 'win1251')).digest('base64'));

  //Формирование HTML-кода платежной формы.
  console.log('');

Убедитесь, что все параметры, которые присутствуют в платежной форме, за исключением WMI_SIGNATURE, участвуют при формировании подписи. Например, если кнопка «submit» имеет установленный атрибут «name», платежная форма также будет содержать значение атрибута «value» этой кнопки.

Убедитесь, что ваша функция MD5 возвращает массив байт, а не их представление в HEX. Если все сделано правильно, длина параметра WMI_SIGNATURE составляет ровно 24 символа.

Если параметр WMI_DESCRIPTION содержит кириллицу, убедитесь, что форма отправляется на сервер в кодировке UTF-8. Для этого форма должна иметь атрибут accept-charset=»UTF-8″.

Шаг 4. Выбор доступных способов оплаты

После передачи платежной формы в Единую кассу покупатель может выбрать удобный для него способ оплаты. Интернет-магазин может ограничить список доступных способов оплаты или явно определить один из них.

Для управления доступными способами оплаты используются параметры платежной формы WMI_PTENABLED и WMI_PTDISABLED. Каждый из этих полей может присутствовать в платежной форме несколько раз и должен содержать один из способов оплаты.

Например, этот заказ можно оплатить только CreditCard:

<form method="post" action="https://wl.walletone.com/checkout/checkout/Index" accept-charset="UTF-8">
  <input name="WMI_MERCHANT_ID"    value="123456789012"/>
  <input name="WMI_PAYMENT_AMOUNT" value="100.00"/>
  <input name="WMI_CURRENCY_ID"    value="643"/>
  <input name="WMI_DESCRIPTION"    value="Оплата демонстрационного заказа"/>
  <input name="WMI_PTENABLED"      value="CreditCardRUB"/>
  <input name="WMI_PTENABLED"      value="CreditCardUAH"/>
  <input name="WMI_PTENABLED"      value="CreditCardGLD"/>
  <input name="WMI_SUCCESS_URL"    value="https://myshop.ru/w1/paid.php"/>
  <input name="WMI_FAIL_URL"       value="https://myshop.ru/w1/fail.php"/>
  <input type="submit"/>
</form>

Обратите внимание: в тестовом режиме передача иных способов оплаты невозможна. В этом случае формирование платёжной формы завершится с ошибкой.

Следующий пример показывает, как запретить оплату заказа определенным способом:

<form method="post" action="https://wl.walletone.com/checkout/checkout/Index" accept-charset="UTF-8">
  <input name="WMI_MERCHANT_ID"    value="123456789012"/>
  <input name="WMI_PAYMENT_AMOUNT" value="100.00"/>
  <input name="WMI_CURRENCY_ID"    value="643"/>
  <input name="WMI_DESCRIPTION"    value="Оплата демонстрационного заказа"/>
  <input name="WMI_PTDISABLED"     value="W1RUB"/>
  <input name="WMI_SUCCESS_URL"    value="https://myshop.ru/w1/paid.php"/>
  <input name="WMI_FAIL_URL"       value="https://myshop.ru/w1/fail.php"/>
  <input type="submit"/>
</form>

Электронные деньги

Способ оплаты Идентификатор
Единый кошелек WalletOne
W1 RUB WalletOneRUB
W1 UAH WalletOneUAH
W1 BYR WalletOneBYR
W1 GEL WalletOneGEL
W1 KZT WalletOneKZT
W1 TJS WalletOneTJS
ЮMoney YandexMoneyRUB
QIWI Кошелек
QIWI Кошелек QiwiWalletRUB
B-Pay BPayMDL
EasyPay EasyPayBYR
LiqPayMoneyUAH LiqPayMoneyUAH
OKPAY OkpayRUB
Микрозайм Kviku KvikuRUB

Мобильная коммерция

Способ оплаты Идентификатор
Мобильный платеж «Билайн» (Россия) BeelineRUB
Мобильный платеж «МТС» (Россия) MtsRUB
Мобильный платеж «Мегафон» (Россия) MegafonRUB
Мобильный платеж «Tele2» (Россия) Tele2RUB
Мобильный платеж «Yota» (Россия) YotaRUB
КиевСтар.Мобильные деньги (Украина) KievStarUAH

Наличные

Способ оплаты Идентификатор
Платежные терминалы CashTerminal
Платежные терминалы Беларуси CashTerminalBYR
Платежные терминалы Грузии CashTerminalGEL
Платежные терминалы Казахстана CashTerminalKZT
Платежные терминалы Молдовы CashTerminalMDL
Платежные терминалы России CashTerminalRUB
Платежные терминалы Украины CashTerminalUAH
Платежные терминалы Таджикистана CashTerminalTJS
ATM ATM
Прием наличных (UAH) AtmUAH
Салоны связи MobileRetails
Салоны связи «Связной» SvyaznoyRUB
Салоны связи «Цифроград» CifrogradRUB
Салоны связи «Сотовый мир» CellularWorldRUB
Отделения банков BankOffice
Отделения Сбербанка России SberbankRUB
Отделения Сбербанка в Казахстане SberbankKZT
Отделения Приватбанка в Украине PrivatbankUAH
Отделения Правэкс-Банка в Украине PravexBankUAH
Отделения УкрСиббанка в Украине UkrsibBankUAH
Отделения Казкоммерцбанка Казахстане KazkomBankKZT
Отделения Liberty Bank в Грузии LibertyBankGEL
Отделения Почты России RussianPostRUB
Денежные переводы MoneyTransfer
Денежные переводы «ЛИДЕР» LiderRUB
Денежные переводы Unistream (RUB) UnistreamRUB

Безналичные

Способ оплаты Идентификатор
Интернет-банки OnlineBank
Интернет-банк «Альфа-Клик» («Альфа-Банк») AlfaclickRUB
Интернет-банк «Тинькофф» TinkoffRUB
Интернет-банк «Приват24» Privat24UAH
Интернет-банк «PSB-Retail» («Промсвязьбанк») PsbRetailRUB
Сбербанк ОнЛ@йн SberOnlineRUB
Faktura.ru FakturaruRUB
Интернет-банк Банка «Русский Стандарт» RsbRUB
Единое Расчетное Информационное Пространство (ЕРИП) EripBYR
Банковский перевод BankTransfer
Банковский перевод в китайских юанях BankTransferCNY
Банковский перевод в лари BankTransferGEL
Банковский перевод в тенге BankTransferKZT
Банковский перевод в леях BankTransferMDL
Банковский перевод в рублях BankTransferRUB
Банковский перевод в гривнах BankTransferUAH
Банковские карты
Карты Smartivi SmartiviGEL
VISA VISA
VISA BYR CreditCardBYR
VISA RUB CreditCardRUB
VISA UAH CreditCardUAH
MasterCard MasterCard
MasterCard BYR CreditCardBYR
MasterCard RUB CreditCardRUB
MasterCard UAH CreditCardUAH
Maestro Maestro
Maestro RUB CreditCardRUB
МИР
МИР CreditCardRUB

Тестовые способы оплаты

Способ оплаты Идентификатор
TestCardRUB TestCardRUB

Шаг 5. Настройка отправки чеков в налоговую в соответствии с ФЗ-54

Для добавления возможности передачи данных чека необходимо внести небольшие доработки при отправке запроса на создание инвойса, а именно, в обязательном порядке нужно передавать:

  • данные плательщика: WMI_CUSTOMER_EMAIL
  • информацию о товаре (услуге): WMI_ORDER_ITEMS.

Параметр WMI_ORDER_ITEMS представляет собой json объект следующей структуры:

[
  {
    "Title": "Position 1",
    "Quantity": 3.00,
    "UnitPrice": 150.00,
    "SubTotal": 450.00,
    "TaxType": "tax_ru_3",
    "Tax": 45.00
  },
  {
    "Title": "Position 2",
    "Quantity": 1.00,
    "UnitPrice": 70.00,
    "SubTotal": 70.00,
    "TaxType": "tax_ru_3",
    "Tax": 7.00
  }
]

Содержит коллекцию объектов, характеризующих конкретный товар в чеке.

Объект товара

{
  "Title": "Position 1",
  "Quantity": 3.000,
  "UnitPrice": 150.00,
  "SubTotal": 450.00,
  "TaxType": "tax_ru_3",
  "Tax": 45.00
}
Параметр Тип Описание Обязательное требование
Title Строка, 128 символов Описание товара Да
Quantity Десятичное число с точностью
3 символа после запятой
Количество товара Да
UnitPrice Десятичное число с точностью
2 символа после запятой
Цена единицы товара Да
SubTotal Десятичное число с точностью
2 символа после запятой
Цена товара Да
TaxType Строка, 9 символов

Ставка НДС, возможные значения:

  • tax_ru_1 — без НДС;
  • tax_ru_2 — НДС по ставке 0%;
  • tax_ru_3 — НДС чека по ставке 10%;
  • tax_ru_4 — НДС чека по ставке 18%;
  • tax_ru_5 — НДС чека по расчетной ставке 10/110;
  • tax_ru_6 — НДС чека по расчетной ставке 18/118;
  • tax_ru_7 — НДС чека по ставке 20%;
  • tax_ru_8 — НДС чека по расчетной ставке 20/120;
Да
Tax Десятичное число с точностью
2 символа после запятой
Сумма налога Да

Обратите внимание, в случае если Вы выбрали вендора фискальных данных Wcheck, а не Атол, то для параметров «TaxType — Ставка НДС» и «Tax — Сумма налога» необходима передача следующих значений:
«TaxType»: «tax_ru_1»
«Tax»: 0.00

После успешной оплаты счета указанные данные будут отправлены в налоговую инспекцию.

Шаг 6. Обработка уведомления о результате оплаты

После того как покупатель завершит оплату заказа, Единая касса выполняет POST-запрос на адрес, указанный в данных для отправки результатов транзакции в настройках интернет-магазина. Запрос содержит параметры платежной формы, информацию о результате оплаты и некоторые дополнительные параметры:

Название параметра Описание
WMI_MERCHANT_ID Идентификатор интернет-магазина
WMI_PAYMENT_AMOUNT Сумма заказа
WMI_COMMISSION_AMOUNT Сумма удержанной комиссии
WMI_CURRENCY_ID Идентификатор валюты заказа (ISO 4217)
WMI_TO_USER_ID Двенадцатизначный номер кошелька плательщика
WMI_PAYMENT_NO Идентификатор заказа в системе учета интернет-магазина
WMI_ORDER_ID Идентификатор заказа в системе учета Единой кассы
WMI_DESCRIPTION Описание заказа
WMI_INVOICE_OPERATIONS json массив из объектов INVOICEOPERATION c полями CreateDate, PaymentId, Amount, AmountEntryId. Скоуп информации об операциях в составе инвойса. Если операций по инвойсу несколько, каждой из них будут соответствовать свои поля. AmountEntryId соответствует TransferId, отображаемому в выписке.
WMI_SUCCESS_URL
WMI_FAIL_URL
Адреса (URL) страниц интернет-магазина, на которые будет отправлен покупатель после успешной или неуспешной оплаты.
WMI_EXPIRED_DATE Срок истечения оплаты в западно-европейском часовом поясе (UTC+0)
WMI_CREATE_DATE
WMI_UPDATE_DATE
Дата создания и изменения заказа в западно-европейском часовом поясе (UTC+0)
WMI_ORDER_STATE Состояние оплаты заказа:

  •  Accepted  — заказ оплачен;
WMI_SIGNATURE Подпись уведомления об оплате, сформированная с использованием «секретного ключа» интернет-магазина.
WMI_TEST_MODE_INVOICE Параметр, передаваемый в составе уведомлений, получаемых при оплате тестовыми способами. По умолчанию имеет значение 1.
Все остальные параметры платежной формы, не имеющие префикс «WMI_».

Интернет-магазин должен обработать запрос оповещения о результате оплаты и вернуть ответ. Обработка запроса для интернет-магазина происходит также, как будто он получил POST-запрос от обычной HTML-формы, только вместо страницы он должен вернуть строку следующего содержания:

WMI_RESULT=OK

или

WMI_RESULT=RETRY&WMI_DESCRIPTION=Сервер временно недоступен

Параметр WMI_RESULT в ответе интернет-магазина должен содержать результат обработки запроса и может принимать одно из следующих значений:

  •  OK   — все в порядке, интернет-магазин обработал уведомление и принял заказ.
  •  RETRY   — интернет-магазин не может в данный момент обработать уведомление. Единая касса повторит запрос позже.

Параметр WMI_DESCRIPTION в ответе интернет-магазина может содержать комментарий, который будет сохранен в логах Единой кассы. Рекомендуется возвращать его в случае ошибки. Значение данного параметра должно быть в кодировке UrlEncode:

#!/usr/bin/php
<?php
  function print_answer($result, $description)
  {
      print "WMI_RESULT=" . strtoupper($result) . "&";
      print "WMI_DESCRIPTION=" .urlencode($description);
      exit();
  }
?>

По различным причинам Единая касса может не получить ответ от интернет-магазина и отправить повторный запрос, интернет-магазин должен ответить на повторный запрос также как при первом.

Проверка источника данных

Для того чтобы убедиться, что запрос поступил от Единой кассы и поступившей информации можно доверять, интернет-магазину необходимо вычислить цифровую подпись запроса с использованием своего «секретного ключа» и сравнить ее с параметром WMI_SIGNATURE, полученным в запросе.

Сделать это можно по алгоритму, описанному в разделе «Защита платежной формы», объединив все значения параметров запроса (кроме WMI_SIGNATURE) в алфавитном порядке их имен с «секретным ключом» интернет-магазина и вычислив хеш-отпечаток этого значения выбранным методом формирования ЭЦП.

Пример (PHP):

#!/usr/bin/php
<?php

  // Секретный ключ интернет-магазина (настраивается в кабинете)

  $skey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

  // Функция, которая возвращает результат в Единую кассу

  function print_answer($result, $description)
  {
    print "WMI_RESULT=" . strtoupper($result) . "&";
    print "WMI_DESCRIPTION=" .$description;
    exit();
  }

  // Проверка наличия необходимых параметров в POST-запросе

  if (!isset($_POST["WMI_SIGNATURE"]))
    print_answer("Retry", "Отсутствует параметр WMI_SIGNATURE");

  if (!isset($_POST["WMI_PAYMENT_NO"]))
    print_answer("Retry", "Отсутствует параметр WMI_PAYMENT_NO");

  if (!isset($_POST["WMI_ORDER_STATE"]))
    print_answer("Retry", "Отсутствует параметр WMI_ORDER_STATE");

  // Извлечение всех параметров POST-запроса, кроме WMI_SIGNATURE

  foreach($_POST as $name => $value)
  {
    if ($name !== "WMI_SIGNATURE") $params[$name] = $value;
  }

  // Сортировка массива по именам ключей в порядке возрастания
  // и формирование сообщения, путем объединения значений формы

  uksort($params, "strcasecmp"); $values = "";

  foreach($params as $name => $value)
  {

    $values .= $value;
  }

  // Формирование подписи для сравнения ее с параметром WMI_SIGNATURE

  $signature = base64_encode(pack("H*", md5($values . $skey)));

  //Сравнение полученной подписи с подписью W1

  if ($signature == $_POST["WMI_SIGNATURE"])
  {
    if (strtoupper($_POST["WMI_ORDER_STATE"]) == "ACCEPTED")
    {
      // TODO: Пометить заказ, как «Оплаченный» в системе учета магазина

      print_answer("Ok", "Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!");
    }
    else
    {
      // Случилось что-то странное, пришло неизвестное состояние заказа

      print_answer("Retry", "Неверное состояние ". $_POST["WMI_ORDER_STATE"]);
    }
  }
  else
  {
    // Подпись не совпадает, возможно вы поменяли настройки интернет-магазина

    print_answer("Retry", "Неверная подпись " . $_POST["WMI_SIGNATURE"]);
  }

?>

Шаг 7. Настройка отчетов

Для проведения сверки предусмотрен механизм отправки реестров платежей.

Подписаться на рассылку реестров платежей можно в личном кабинете во вкладке «Магазин» раздел «Интеграция» как показано на рисунке:

Настройки кошелька

Также можно выбрать периодичность получения сверок (ежедневно, еженедельно или ежемесячно) и их формат (xml или csv).

Формат реестров:

Название параметра Описание
Id Номер счета
ExternalId Идентификатор заказа в системе учета интернет-магазина
Direction Направление
UserId Двенадцатизначный номер кошелька плательщика
CurrencyId Идентификатор валюты заказа (ISO 4217)
Amount Сумма заказа
State Состояние счета
PaymentDate Дата оплаты
PaymentTypeId Способ оплаты
Description Описание
CommissionAmount Сумма удержанной комиссии
ApprovalCode Код авторизации банка (только для платежей банковскими картами)
CardNumber Маскированный номер банковской карты

Примеры реестров платежей:

  • 01112012000000-15032013000000.119973638979.csv.zip
  • 01112012000000-15032013000000.119973638979.xml.zip

В случае если в настройках включен метод формирования ЭЦП, письмо будет содержать второй файл с тем же именем, но с расширением «.key», в котором будет содержаться ЭЦП.

Генерация ссылки на оплату

Сгенерировать ссылку для оплаты заказа можно в специальном разделе сайта.

Возможные коды ошибок

Это не полный перечень возможных ошибок, а лишь часто встречающихся.

Код ошибки Описание Комментарий
INTERNAL_SERVER_ERROR Внутренняя ошибка сервера При возникновении ошибки данного типа
подробности нужно уточнять у технической поддержки Wallet One.
SERVER_ERROR Внешняя ошибка Возникает при взаимодействии с платежным шлюзом.
Пример — сетевая ошибка.
SUSPECTED_FRAUD Подозрение на мошенничество
INSUFFICIENT_BALANCE_ERROR Недостаточно средств На балансе плательщика отсутствует
достаточное количество средств для оплаты счета.
OPERATION_LIMIT_EXCEED Лимит операции Может возникать при превышении допустимого количества операций, суммы операций либо некоторых внутренних ограничений.
AUTHORIZATION_ERROR Ошибка авторизации

Оценка: 1

Не проходит оплата… Все заполнила, нажимаю оплатить — высвечивается: Не сработало
Похоже, это был технический сбой — попробуйте ещё раз, пожалуйста. На Яндекс никогда такого не было.((

Другие отзывы о компании ЮKassa (Яндекс Касса)

Я выбирал систему оплаты на сайт руководствуясь надёжностью и известностью, что бы у клиентов не возникало сомнений. Юкасса – это в прошлом Яндекс, до ребрендинга, и люди ей доверяют. А ещё платежи сертифицируются… Читать далее »

11 января 2023, 00:00

Не рекомендую. Подключил ЮKassa к сайту, заплатив программистам за интеграцию. Все работало примерно месяц. Потом Юкасса, без лишних объяснений, отключила мне оплату банковскими картами. Если бы я что-то… Читать далее »

15 декабря 2022, 19:35

Давно собирался оставить отзыв по своему опыту сотрудничества с компанией теперь уже ЮКаssа. К работе эквайринга за 2 года претензий нет, все работает исправно, не виснет, платежи не теряются. Спасибо… Читать далее »

02 ноября 2022, 10:33

«Не получилось, похоже, это техническая ошибка. Попробуйте заплатить ещё раз» — вот такое сообщение сегодня я вижу целый день, статус моего кошелька «Идентифицированный», согласно описанию насчёт пополнения с карт VISA — написано, что обслуживаются все банки мира. Делаю пополнение с польской карты (раньше всё было ок) и в итоге ничего не получается и выдаёт именно это сообщение, думал что проблема в этой карте — нет, попробовал другую польскую карту — результат тот же.

Позвонил в тех.поддержку, ответила девушка, вроде бы приятный голос, но как будто была расстроена чем-то (руководства Яндекс-офисов, пожалейте своих сотрудников! Хоть пару добрых слов выдавить из себя можно!). Я продиктовал ей номер своего кошелька, сообщил что вижу такое сообщение и пополнение происходит с польской карты. Далее она попросила ожидать, около 2 минут ожиданий. Далее уточнила номер карты, я сказал что обе карты привязаны к счёту. продиктовал последние цифры. В итоге она составил а обращение в службу поддержки и сказала ждать.

Что меня не устраивает? Меня не устраивает:

-Постоянное ожидание везде и всюду.
Как правило, если человек к вам обращается по поводу проблем с переводами и в целом вопросов финансовых, то этот человек нуждается в этом прямо СЕЙЧАС. Он не может ждать час, два, три, день, неделю.

-Идентификацию пройти в итоге обязательно. Когда я создавал Яндекс кошелёк, я нуждался в мелких переводах с карты на кошелёк, но дело в том, что как только вы несколько раз пополняете свой кошелёк на сумму больше 500 руб. — вам блокируют кошелёк до тех пор, пока вы не пройдёте идентификацию. Деньги замораживаются и не возвращаются обратно. Пройти идентификацию живя зарубежом и не имея гражданства РФ — невозможно, т.к. необходимо прийти лично в офис Яндекса и заполнить анкету (которую можно было бы заполнить в интернет-форме с таким же успехом, если бы не бюрократия Яндекса). В итоге мои средства были заморожены около 6 месяцев. В тот момент они были нужны мне срочно, но «Спасибо» Яндексу за «заботу».

-Тех.поддержка крайне медленная. Обращаясь в тех.поддержку учитывайте сразу, что период решения вашего вопроса будет около 3-4 дней в среднем. На моём опыте максимальный срок ожидания составил 7 дней. Минимальный срок ожидания 1 день.

Под сроками ожидания я подразумеваю момент наступления прямого диалога между вами и специалистом, т.к. система автоматически всегда высылает вам технические сообщения от робота о разных статусах ваших обращений.

Итого, моя оценка:

-Скорость ответа тех.поддержки 1 балл

-Качество обслуживания специалистами 1 балл (вы даже не пытаетесь вникнуть в суть проблемы и войти в положения своего клиента).

-Процесс идентификации 0 баллов. Такой бюрократии я не видел нигде в мире, чтобы пройти идентификацию нужно было бы ехать в Россию.

В процессе платежа что-то может пойти не так. Например, пользователю может не хватить денег для оплаты, эмитент может быть недоступен, ЮKassa может заподозрить попытку мошенничества. В этом случае платеж будет отменен и перейдет в статус canceled.

Чтобы вы могли лучше понимать, что произошло и что с этим делать, ЮKassa пришлет в 

объекте платежа 

комментарий к отмене платежа (cancellation_details). В нём будут указаны инициатор (cancellation_details.party) и причина отмены (cancellation_details.reason). Вы можете использовать эти данные для анализа и решения проблем, вывода сообщений пользователю и любых других целей.

Значение Описание
merchant Продавец товаров и услуг (вы)
yoo_money ЮKassa
payment_network Любые участники процесса платежа, кроме ЮKassa и вас (например, эмитент, сторонний платежный сервис)
Значение Описание
3d_secure_failed Не пройдена аутентификация по 3-D Secure. При новой попытке оплаты пользователю следует пройти аутентификацию, использовать другое платежное средство или обратиться в банк за уточнениями
call_issuer Оплата данным платежным средством отклонена по неизвестным причинам. Пользователю следует обратиться в организацию, выпустившую платежное средство
canceled_by_merchant Платеж отменен по API при оплате в две стадии
card_expired Истек срок действия банковской карты. При новой попытке оплаты пользователю следует использовать другое платежное средство
country_forbidden Нельзя заплатить банковской картой, выпущенной в этой стране. При новой попытке оплаты пользователю следует использовать другое платежное средство.
Вы можете настроить ограничения на оплату иностранными банковскими картами
deal_expired Для тех, кто использует Безопасную сделку: закончился срок жизни сделки. Если вы еще хотите принять оплату, создайте новую сделку и проведите для нее новый платеж
expired_on_capture Истек срок списания оплаты у двухстадийного платежа. Если вы еще хотите принять оплату, повторите платеж с новым ключом идемпотентности и спишите деньги после подтверждения платежа пользователем
expired_on_confirmation Истек срок оплаты: пользователь не подтвердил платеж за время, отведенное на оплату выбранным способом. Если пользователь еще хочет оплатить, вам необходимо повторить платеж с новым ключом идемпотентности, а пользователю — подтвердить его
fraud_suspected Платеж заблокирован из-за подозрения в мошенничестве. При новой попытке оплаты пользователю следует использовать другое платежное средство
general_decline Причина не детализирована. Пользователю следует обратиться к инициатору отмены платежа за уточнением подробностей
identification_required Превышены ограничения на платежи для кошелька ЮMoney. При новой попытке оплаты пользователю следует идентифицировать кошелек или выбрать другое платежное средство
insufficient_funds Не хватает денег для оплаты. Пользователю следует пополнить баланс или использовать другое платежное средство
internal_timeout Технические неполадки на стороне ЮKassa: не удалось обработать запрос в течение 30 секунд. Повторите платеж с новым ключом идемпотентности
invalid_card_number Неправильно указан номер карты. При новой попытке оплаты пользователю следует ввести корректные данные
invalid_csc Неправильно указан код CVV2 (CVC2, CID). При новой попытке оплаты пользователю следует ввести корректные данные
issuer_unavailable Организация, выпустившая платежное средство, недоступна. При новой попытке оплаты пользователю следует использовать другое платежное средство или повторить оплату позже
payment_method_limit_exceeded Исчерпан лимит платежей для данного платежного средства или вашего магазина. При новой попытке оплаты пользователю следует использовать другое платежное средство или повторить оплату на следующий день
payment_method_restricted Запрещены операции данным платежным средством (например, карта заблокирована из-за утери, кошелек — из-за взлома мошенниками). Пользователю следует обратиться в организацию, выпустившую платежное средство
permission_revoked Нельзя провести безакцептное списание: пользователь отозвал разрешение на автоплатежи. Если пользователь еще хочет оплатить, вам необходимо создать новый платеж, а пользователю — подтвердить оплату
unsupported_mobile_operator Нельзя заплатить с номера телефона этого мобильного оператора. При новой попытке оплаты пользователю следует использовать другое платежное средство. Список поддерживаемых операторов

Пример объекта платежа в статусе canceled

{
  "id": "22979b7b-000f-5000-9000-1a603a795739",
  "status": "canceled",
  "paid": false,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "created_at": "2018-05-23T15:24:43.812Z",
  "metadata": {},
  "payment_method": {
    "type": "bank_card",
    "id": "22979b7b-000f-5000-9000-1a603a795739",
    "saved": false
  },
  "recipient": {
    "account_id": "100500",
    "gateway_id": "100700"
  },
  "refundable": false,
  "test": false,
  "cancellation_details": {
    "party": "payment_network",
    "reason": "payment_method_restricted"
  }
}

Коды ответа (состояния) HTTPПроведение платежейСпособы оплатыТестирование платежей

★★★ Novice

2D_tyano4ka


февраля 2020

Похоже, это техническая ошибка. Попробуйте заплатить ещё раз. Яндекс касса. Не могу пополнить счет. Что делать?


Сообщение 1 из 3

(4 465 просмотров)

Hero

Ancorig


февраля 2020

— последнее изменение


февраля 2020

@2D_tyano4ka но не увлекайтесь частым повторением платежей) Это может вызвать бан аккаунта.
Если проблема повторится, свяжитесь сразу с ТП по телефону:
+7 (495) 660-5317

Или закажите обратный звонок, если проживаете в РФ: http://help.ea.com/ru/contact-us/new/?product=origin&platform=pc (кнопка обратного звонка активна в рабочие часы с понедельника по пятницу с 12:00 до 21:00 по московскому времени).

Если проживаете не в РФ, воспользуйтесь для звонка на этот номер скайпом. Два цента за минуту.

——————————————————————————-
Сталкер багов не боится! Игравшего в народную солянку вылетами на рабочий стол не возьмешь! Wink
Не являюсь сотрудником ЕА. HERO — это статус волонтера. Не являюсь техническим специалистом, нянькой, жилеткой для нытья.  Не отвечаю на вопросы в личных сообщениях. Не сюсюкаю и не утешаю. Все, что я пишу на форуме, является моим субъективным имхо и не отражает чьей-либо официальной позиции.

 Win 10 x64 HP / i5-3550 / asus P8Z77-V LE / DDR3 2x8Gb 1600 МГц Corsair / GTX970 EVGA SSC ACX 2.0+ / SSD 250 Гб Samsung 860 Evo +1.5 Тб Seagate Barracuda + 3Тб Hitachi Deskstar / AeroCool Vx-9 PRO / Corsair TX650W / 23.8″ Philips 242V8A

CCP Hero Banner - Blue.png


Сообщение 3 из 3

(4 411 просмотров)

Hero

beetle_rus


февраля 2020

@2D_tyano4ka 

Добрый.

Вам просто через часик нужно попробовать еще раз

________________________________________________

CCP Hero Banner


Сообщение 2 из 3

(4 442 просмотров)

Hero

Ancorig


февраля 2020

— последнее изменение


февраля 2020

@2D_tyano4ka но не увлекайтесь частым повторением платежей) Это может вызвать бан аккаунта.
Если проблема повторится, свяжитесь сразу с ТП по телефону:
+7 (495) 660-5317

Или закажите обратный звонок, если проживаете в РФ: http://help.ea.com/ru/contact-us/new/?product=origin&platform=pc (кнопка обратного звонка активна в рабочие часы с понедельника по пятницу с 12:00 до 21:00 по московскому времени).

Если проживаете не в РФ, воспользуйтесь для звонка на этот номер скайпом. Два цента за минуту.

——————————————————————————-
Сталкер багов не боится! Игравшего в народную солянку вылетами на рабочий стол не возьмешь! Wink
Не являюсь сотрудником ЕА. HERO — это статус волонтера. Не являюсь техническим специалистом, нянькой, жилеткой для нытья.  Не отвечаю на вопросы в личных сообщениях. Не сюсюкаю и не утешаю. Все, что я пишу на форуме, является моим субъективным имхо и не отражает чьей-либо официальной позиции.

 Win 10 x64 HP / i5-3550 / asus P8Z77-V LE / DDR3 2x8Gb 1600 МГц Corsair / GTX970 EVGA SSC ACX 2.0+ / SSD 250 Гб Samsung 860 Evo +1.5 Тб Seagate Barracuda + 3Тб Hitachi Deskstar / AeroCool Vx-9 PRO / Corsair TX650W / 23.8″ Philips 242V8A

CCP Hero Banner - Blue.png


Сообщение 3 из 3

(4 412 просмотров)

Если при оплате через платежный шлюз ЮMoney возникает ошибка «Не получилось Похоже это техническая ошибка. Попробуйте заплатить еще раз.«:

При оплате банковскими картами эта ошибка может возникать в нескольких случаях:

  • карта выпущена банком высокорисковой страны (в настоящий момент платежным шлюзом ЮMoney поддерживаются карты следующих стран: Россия, Украина, Беларусь, Казахстан, Турция, Азербайджан, Армения, Грузия, Кыргызстан, Латвия, Литва, Молдова, Таджикистан, Туркменистан, Узбекистан, Эстония и некоторые другие);
  • карта не поддерживает современные стандарты безопасности 3-D Secure;
  • эмитент карты (банк, выпустивший карту) по какой-то причине отклоняет транзакцию (например часто отклоняются операции по корпоративным картам и картам отдельных эмитентов, которые как правило решаются обращением с поддержку банка).
  • антифрод эквайера блокирует операцию из-за повышенного риска (несоответствие локации кардхолдера, блеклисты украденных карт, использование средств подмены ip-адресов, VPN, proxy и пр.)

Есть несколько вариантов для решения:

1. Проверьте, что вы не используете средства подмены IP-адреса (VPN, proxy). Попробуйте воспользоваться другим браузером или провести платеж с другого устройства. Если используете мобильную связь — перезагрузите устройство (некоторые shared IP-адреса мобильных операторов могут быть в черных списках антифрод-систем).

2. Обратитесь в поддержку вашего банка для снятия установленных им ограничений или воспользуйтесь картой другого банка.

3. Вы можете завести кошелек ЮMoney, и пополнить его с карты (для пополнений кошельков у них нет жестких ограничений) или другим способом. Это займет всего несколько минут.

4. Вы можете оплатить картой через другой карточный шлюз (например, Qiwi или Digiseller) или любым другим способом, которых у нас доступно более 20.

Метаданные статьи

Связанные статьи

Добрый день. Перестала работать оплата на сайте через Юкасса (дополнение YandexKassa Gateway). Написал в поддержку, их ответ ниже. Подскажите пожалуйста, в чем может быть проблема и как ее можно решить? Спасибо!

На CheckOrder вы ответили корректно.

Вы не можете просматривать опубликованные ссылки

Сейчас мы ожидаем ответа от вашего сервера на запрос PaymentAviso,
согласно документации в рамках технического протокола на запрос PaymentAviso ваш сервер должен ответить так же успехом.
Пример ответа который мы ожидает от вас на наш запрос:

Подробнее:

Вы не можете просматривать опубликованные ссылки

Сейчас же на запрос Payment Aviso нет ответа, ниже лог ЮКасса , как видно в теле ответа пусто, с каждой итерацией время повторной попытки доставить PaymentAviso увеличивается,
[[CommonHttpRequestService] [] sendHttpRequestSync(): merchantResponse=

Вам необходимо скорректировать ответ вашего сервера, и при следующем запросе PaymentAviso получив от вашего сервера корректный ответ, платеж перейдет в статус успеха.

Вы можете обратиться в техническую поддержку вашего модуля, так же уточнить у хостинг провайдера все ли в порядке на их стороне. К сожалению, мы не можем проверить все ли в порядке на вашей стороне.

добрый день, ранее подключение работало нормально?

Андрей CS сказал(а)
добрый день, ранее подключение работало нормально?

Да, работало нормально. Недавно в плагине WP Recall отключились все дополнения (возможно после обновления версии Вордпресс, не заметил точный момент), подключил заново, оплата перестала проходить.

Андрей CS сказал(а)
добрый день, ранее подключение работало нормально?

Подскажите, в чем может быть проблема и как ее можно решить?

проверьте все настройки подключения, как на стороне плагина, так и на стороне платежной системы, если все настроено верно, то проблем быть не должно

Андрей CS сказал(а)
проверьте все настройки подключения, как на стороне плагина, так и на стороне платежной системы, если все настроено верно, то проблем быть не должно

Переподключил дополнение, проверил все настройки в в плагине и платежной системе — та же проблема.

Судя по ответу поддержки платежной системы нет ответа на запрос Payment Aviso, с чем это может быть связано?

какое дополнение вы точно используете? yandex-kassa или yookassa?
откройте файл index.php используемого дополнения, найдите метод result
допишите в начале метода строку
rcl_mail_payment_error();
пробуйте провести платеж, на эл. почту админа пришло письмо?
если пришло, то скидывайте его содержимое
если не пришло, значит запрос от платежной системы не может дойти до сервера вашего сайта, надо выяснять причину

Редакции сообщения

16.03.2022 18:02Андрей CSПричина: не указано

Андрей CS сказал(а)
какое дополнение вы точно используете? yandex-kassa или yookassa?
откройте файл index.php используемого дополнения, найдите метод result
допишите в начале метода строку
rcl_mail_payment_error();
пробуйте провести платеж, на эл. почту админа пришло письмо?
если пришло, то скидывайте его содержимое
если не пришло, значит запрос от платежной системы не может дойти до сервера вашего сайта, надо выяснять причину

Дополнение YandexKassa Gateway, он же раньше работал. Пробовал ставить ЮKassa Gateway, но он просто вылетает при попытке оплаты. Выглядит так:

Вы не можете просматривать опубликованные ссылки

В дополнениях папка commerce насколько я понимаю, других подходящих нет:

Вы не можете просматривать опубликованные ссылки

Нашел result, письмо не пришло, но не уверен, что правильно вставил код, вот так пробовал:
1)

Вы не можете просматривать опубликованные ссылки

2)

Вы не можете просматривать опубликованные ссылки

файлы дополнения находятся в папке /wp-content/wp-recall/add-on/

Андрей CS сказал(а)
файлы дополнения находятся в папке /wp-content/wp-recall/add-on/

Нашел, вставил:

Вы не можете просматривать опубликованные ссылки

Емейл не пришел

значит запрос от платежки не может попасть на ваш сервер, не может быть им обработан, проблема не в дополнении, а в чем то другом
возможные причины:
— указан неверный путь до страницы result
— ваш сервер закрыт для сторонних запросов

Если ранее все работало, значит настройки в порядке, возможно, что вы меняли сами, включали какие то плагины, вносили изменения в htaccess и тп. Вспоминайте.
Смотрите логи access на сервере, ищите там запросы от платежной системы.

Редакции сообщения

17.03.2022 15:03Андрей CSПричина: не указано

Проблема решена — разобрался с дополнением ЮКасса, ранее неправильно указывал настройки, из-за чего оно деактивировалось. После создание нового магазина в платежном сервисе и указания корректных настроек прием оплаты заработал.

Илья сказал(а)
Проблема решена — разобрался с дополнением ЮКасса, ранее неправильно указывал настройки, из-за чего оно деактивировалось. После создание нового магазина в платежном сервисе и указания корректных настроек прием оплаты заработал.

Закройте заявку

Вы не можете просматривать опубликованные ссылки

Пригласить эксперта


Ответы на вопрос 1

sergey-gornostaev

В таких случаях надо обращаться в техническую поддержку. Помочь могут только они.

  • Да я прекрасно это знаю. Но они спят, а сроки тем временем горят. Я просто думал что сама либа не работает также как и их Yandex.Checkout

  • Плюс еще есть предупреждение в личном кабинете, которое я не совсем понимаю:
    Your payment plugin cannot send the details for receipt
    (we recommend checking with developers).

  • sergey-gornostaev

    FulTupFul, на интеграцию с платёжными системами надо закладывать сроки с запасом. У каждого из моих коллег был хоть раз опыт длительного подключения. У меня лично были случаи недельного подключения к сберовскому эквайрингу и двухнедельного к ассисту.


Похожие вопросы


  • Показать ещё
    Загружается…

11 апр. 2023, в 01:06

6000 руб./за проект

11 апр. 2023, в 00:41

15000 руб./за проект

10 апр. 2023, в 23:03

3000 руб./за проект

Минуточку внимания


2

Не получилось Похоже, это техническая ошибка, Юмани, что значит?

Не получилось

Похоже, это техническая ошибка. Попробуйте заплатить ещё раз, что это значит на Юмани? Как исправить?

Ошибка на ЮMoney: Не получилось, техническая ошибка. Как исправить?

Техническая ошибка на Ю Money, попробуйте заплатить еще раз, что означает? Почему всплывает такое предупрежден7ие? Что делать, чтобы исправить?

Ошибка на Юмани, техническая, как зайти и совершить платеж?

Юмани техническая ошибка

2 ответа:



3



0

У меня подобное предупреждение всплывало еще в то время, когда Юмани были Яндекс Деньгами. Интерфейс после смены владельца пока особо не меняли, предупреждение об ошибке по-прежнему появляется.

Чаще всего это происходит после того, как выхожу из аккаунта. Нажимаю на «Выход», далее появляется рамка с ошибкой. Если ошибка появляется после выхода из аккаунта, то переживать по этому поводу не стоит. Это какой-то незначительный баг, который никак не влияет на осуществление действий в системе. Возможно, когда-нибудь его устранят. Я просто закрываю сайт в таких случаях и не акцентирую свое внимание на этом моменте.

Если в процессе операции всплывает рамка, то стоит проверить для начала прошел ли перевод или оплата, обновив страницу или перейдя на страницу своего аккаунта. Если операция прервана и платеж не прошел, то придется повторять все заново. Скорее всего, это ошибка на сайте. Ну или проблема с вашей стороны и можно попробовать, например, зайти в кошелек с другого браузера и провести платеж заново. Обновить браузер или проверить систему на вирусы. Выйти и зайти заново в кошелек. Или просто попробовать оплатить через некоторое время.



1



0

У меня довольно регулярно высвечивается у Youmoney «техническая ошибка, попробуйте заплатить еще раз». Причем, проходит платеж только после нескольких попыток с отказами. Исправить самостоятельно это невозможно, это какой-то баг системы. Но расскажу, что мне помогает.

Если два раза подряд выскакивает техническая ошибка на Юмани, я просто делаю перерыв в несколько минут, затем снова захожу в систему и пробую оплатить услугу. И тогда платеж обычно проходит. Кому-то помогает выйти и снова авторизоваться в аккаунте.

Хочу заметить, что с Яндекс.Деньгами у меня подобного не было, хотя кошельку много лет — около 10. Я думаю, это временные трудности с переходом на новую систему, и в ближайшее время программисты Яндекса все исправят. Хотелось бы надеяться на это.

Читайте также

Заблокировать Яндекс кошелёк можно 2 способами:

  1. Полное удаление вашего личного аккаунта, почты. Вместе со всеми Вашими данными стирается и ВСЯ персональная информация. Процесс необратим, а зарегистрировать новую (такую же) учётную запись с тем же логином, можно будет минимум через месяц;
  2. Блокировка. Она так же бывает двух видов, или самостоятельная, по волеизъявлению владельца, или по воле администрации ввиду нарушения правил и пр.

Для того, что-бы воспользоваться первым способом, необходимо войти в свою учётную запись в Яндекс,→ перейти в раздел «Яндекс Деньги»,→ прокрутить страницу в самый низ,→ найти пункт » Другие настройки»→ нажать «Удалить Аккаунт».

→ Вводите свои персональные данные (Пароль и секретное кодовое слово). Всё. Готово. Следующую аналогичную страницу сможете создать через 30 дней (31);

Способ 2:

Заходите в раздел поддержки: money.yandex.ru/feed­<wbr />back → вводите имя (логин),выбираете один из двух возможных пунктов: «идентификация» или «мошенничество». И описываете конкретно вашу ситуацию, и причину, по которой у вас возникла необходимость блокировки вашего аккаунта ЯД.

Также рекомендую отправить дубликат заявки на адрес supp@money.yandex.ru ( поддержка Яндекс Денег).

Можно ли создать несколько кошельков Яндекс денег?

В системе всё достаточно просто на этот счёт, и к одному зарегистрированному аккаунту привязывается автоматически 1 ЯК. Более 1 кошелька завести невозможно чисто физически. для этого Вам необходимо иметь несколько разных аккаунтов, на каждый из которых будет приходиться 1 ЯК.

Если каждый из своих кошельков в разных аккаунтах вы хотите индивидуально идентифицировать на свои паспортные данные, то проблем не возникнет. Это возможно. Каждый из ваших ЯК может иметь необходимый вам статус: » Идентифицированный» или » профессиональный». Между собой они никак связаны не будут, не смотря на оформление на одно физ.лицо.

Ни один из пользователей никогда не сможет узнать о пренадлежащим вам двум, трём и более кошельков. Это нигде не отображается, и знать будете ТОЛЬКО ВЫ!

Однако есть одно «НО», в случае грубого нарушения правил использования Яндекс кошельков, к примеру такие как мошенничество, могут быть заблокированы все имеющиеся у вас кошельки, т.к. администрация разумеется знает привязву вашего IP и железа. Для этого нужно настроить анонимный доступ.

Я прошла Индефикацию благодаря кабинету Сбербанка и карте. Уже не помню как и что делала, но ищите на сайте кошелька Индефикацию через Сбербанк.

Всё делается быстро и с подсказками. Что-то тут пользователь напутал про Индефикацию за 1 руб. Сколько я имею кошелёк Яндекс, столько и сообщение там висит, что Индефикацию можно пройти в Евросети за 50 руб.

Непосредственно переместить биткоины на Яндекс-кошелек невозможно. однако существует большое количество специализирующихся на переводе средств сайтов (один из них extra-change.ru), где можно обменять по курсу биткоины в том числе и на яндекс-деньги, а их перевести уже на кошелек.

Это совершить нельзя. Ну можно, но только на вебмани, и то сайт тот не сотрудничает со стимом

Я знаю самый простой и эффективный способ вывода с Яндекс денег — это открытие Яндекс карты. Платите за нее 150 и пользуйтесь на здоровье.

При этом нал снимать необязательно.

Расплачивайтесь яндекс-картой в магазинах — вот вам и вывод денег.

Все отзывы >> Компании >> ООО РНКО «Единая касса» — Отзывы

Последний отзыв13:3420.05.2020

0 отзывов
38 отзывов
5 отзывов
5 отзывов
2 отзыва
37 отзывов

87

Телефон: +7 495 640-73-40

Адрес: г Москва, ул Горбунова, д 2 стр 204

Аудит компании для владельцев бизнеса

Наши эксперты проведут бесплатный аудит актуальности контактов и репутации вашей компании в геосервисах.

Не упустите эту возможность и перестаньте терять клиентов из-за отсутствия на картах, ошибок в данных или низкого рейтинга!

Тарифы сервиса Repometr

Мониторинг отзывов с 25 источников

Управление актуальностью информации на геосервисах

Защита данных от изменения третьими лицами

Автоматические отчеты на почту

Мотивация клиентов оставить отзыв

Статистика целевых действий в карточках компании

Настройка и запуск «под ключ»

Обучение по работе с геосервисами и системой Repometr

Персональный менеджер

Добавление индивидуальных источников для мониторинга отзывов

Мониторинг отзывов с 25 источников

Управление актуальностью информации на геосервисах

Защита данных от изменения третьими лицами

Автоматические отчеты на почту

Мотивация клиентов оставить отзыв

Статистика целевых действий в карточках компании

Настройка и запуск «под ключ»

Обучение по работе с геосервисами и системой Repometr

Персональный менеджер

Добавление индивидуальных источников для мониторинга отзывов

Доработка системы под ваши задачи

Доступ к API

Мы нашли 87 отзывов о компании ООО РНКО «Единая касса», расположенной по адресу г Москва, ул Горбунова, д 2 стр 204.

Средний рейтинг компании 2,9 баллов из 5.

Рейтинг компании низкий. За счет обработки негативных отзывов и мотивации довольных клиентов оставлять рекомендацию, можно увеличить рейтинг компании. Согласно исследованиям рекламного агентства Go Fish Digital, организации теряют от 22% клиентов за счет негативного рейтинга в интернете.

Отзывы о компании собраны с сервисов Google Maps, Яндекс Карты, Yell.ru в период с 01.07.2016 по 20.05.2020.

За последние 30 дней о компании не было оставлено отзывов. Мотивировать клиентов оставлять отзыв о вашей компании можно за счет системы поощрений и скидок, почтовых и sms рассылок. Если клиент оставляет положительный отзыв, то вероятность того, что он вернется за услугой повторно, заметно возрастает.

Процент ответов на отзывы — 37%.

Представителям компании ООО РНКО «Единая касса» нужно чаще отвечать на отзывы клиентов, так как только 32 отзыва из 87 с ответами. По исследованиям, 86% пользователей изучают отзывы о компании перед покупкой и для 89% из них имеет значение то, как компания реагирует на отзывы.

Количество отзывов в месяц

Yell —

2 последних отзыва из 87


Да, тоже пользуюсь этим сервисом. Пока все устраивает вполне. Отличная техподдержка, комиссия низкая, зачисления мгновенные. Очень удобное приложение, в частности личный кабинет. За него отдельное спасибо разработчикам)

… Отзыв полностью

Свернуть отзыв

20.05.2020
Yell


Я тоже пользуюсь этим сервисом. Скачал себе на смартфон приложение, идентифицировался, разобрался. Все очень удобно, все понятно в приложении. Переводы проводятся быстро, деньги не теряются и не застревают. Комиссия минимальная по рынку.

… Отзыв полностью

Свернуть отзыв

15.05.2020
Yell

Отзывы со всех популярных сайтов — в одном месте

Удобная навигация, сортировка и фильтрация

Система аналитики поможет понять причины и следствия

Система комментариев поможет улучшить рейтинг

Средняя оценка пользователей:


3

3
1
0
1
3

Добавить свой отзыв

  • 0



    yusherus.com

    17 апреля 2022 08:15

    Единая Касса перестала работать.
    На указанном ресурсе поддержки webasyst.club нет возможности зарегистрироваться.
    Пишу проблему здесь…
    После оформления заказа клиентом, при переходе им на платёжный сервис Единой Кассы для оплаты, выскакивает ошибка 500.
    Техническая поддержка Единой Кассы сообщила следующее:

    Ответ от службы поддержки
    Вами некорректно передается параметры:

    WMI_DESCRIPTION — передается Вами пустым,
    Title — Строка, 128 символов,
    Quantity- Десятичное число с точностью 3 символа после запятой,
    Tax — Десятичное число с точностью 2 символа после запятой.

    Так же получаем от Вас ITEM_NUMBER и WMI_AUTO_ACCEPT, выберите в документации подходящий параметр, в зависимости от того, что Вы хотите передать в них.

    Подробное техническое описание:
    https://www.walletone.com/ru/merchant/documentation/

    Техническая поддержка Wallet One.

    Прошу разработчика срочно исправить ошибку!
    Для пояснений, дополнительной информации прошу разработчика связываться со мной по контактным данным указанным в профиле и на наших сайтах.


    Webasyst.Club
    Разработчик

    Исправлено в версии 2.1.0

  • Продукт «Единая Касса» обновлен до версии 2.1.0 21 октября 2021.
  • 0



    aad

    18 декабря 2015 05:07

    Все мне нравиться, но комиссия очень большая и сразу хрен разберешься. Пример: оплачивают мне 1900 р. с клиента берут 38 р. Мне зачисляется на счет Единной кассы 1862 р. После их вывода на карту Сбера снимается еще раз комиссия и на карту приходит 1809 р.
    Итог: товар стоит 1900 р. С клиента берут 38 р., а я в итоге имею 1809 р. Очень дорого.

  • 0



    Dimon DIS

    11 декабря 2015 11:21

    Здравствуйте!
    Все работает, то что люди пишут плохая касса, не знаю почти 2 года работаю все отлично. Лучше сервиса нет!
    А теперь о минусе:
    Палгин не работает если заказ создна в бэкенде и в результате после оплаты не ставиться статус оплачено!
    Пожалуйста перепроверьте, и обновите его.

  • 0



    Виктор

    2 августа 2015 06:03

    Плюсы:
    — невысокие проценты
    — неплохой современный интерфейс системы
    Недостатки:
    — Пока не подпишешь договор, средства выводить не сможете.
    — Договор на стольких страницах, что я потратил кучу времени на его заполнение, а в итоге просто бросил, так как голову сломаешь пока заполнишь…

  • +2



    Эдуард

    20 июля 2015 09:18

    Касса ужасная! Хотите потерять 20-30% своих денег в Украине и нервы на несколько дней… Пробуйте =)

  • 0



    Stanislav

    29 мая 2015 04:49

    Начал пользоваться плагином еще до публикации его в магазине WebaSyst скачав его по ссылке на сайте W1. Было совсем не много способов оплаты. Сейчас же, после обновления появились все способы оплаты из которых можно выбрать только те, которые будут интересны клиентам и не предлагать клиентам из России оплатить банковским переводом в казахстанских тенге и наоборот. Давно уже об этом писал по плагину для Интеркассы, но там этого так и не сделали в течении длительного времени.

  • 0



    photo@y-net.ru

    25 мая 2015 04:36

    Не работал плагин, сейчас всё исправлено, плагин работает! Спасибо авторам.

  • 0



    samcolor

    30 апреля 2015 03:22

    Господа разработчики! 5 за плагин, 3 — за то, что контакты Ваши искать с собаками по ночной Москве приходится! Обеспечьте нормальную тех поддержку, пожалуйста, и оценка, я верю, будет выше!:) Итоговая средняя — 4

Понравилась статья? Поделить с друзьями:
  • Егэ математика профиль типовые ошибки
  • Его успех доставил мне огромную радость речевая ошибка
  • Е784 ошибка бмв
  • Его язык остолбенел от страха речевая ошибка
  • Егэ ошибка выжившего