Зачисления с данными о точках пополнения
Для банковских платежных агентов при зачислении переводов необходимо передавать идентификатор точки, в которой пополнен кошелек ЮMoney. Для этого:
  1. Проверьте возможность зачисления перевода
  2. Проверьте наличие данных о точке пополнения
  3. Зачислите перевод с данными о точке пополнения
 
Шаг 1. Проверьте возможность зачисления (testDeposition)
Передайте запрос testDeposition с идентификатором точки пополнения (depositionPointId).
Пример запроса testDeposition
XML
<testDepositionRequest  
  agentId="123"
  clientOrderId="12345"
  requestDT="2011-07-01T20:38:00.000Z"
  dstAccount="410011234567"
  amount="10.00"
  currency="643"
  contract="Зачисление на кошелек"
  depositionPointId="12345"
/>
Шаг 2. Проверьте наличие данных о точке пополнения
При получении ответа от ЮMoney проверьте, что данные о точках пополнения корректны. Возможны три ситуации: данные найдены, с данными что-то не так, данные отсутствуют.
Идентификатор передан, данные найдены
Если вы передали идентификатор точки пополнения и ЮMoney нашли в вашем списке соответствующие данные, ответ будет стандартным.
Пример успешного ответа
XML
<testDepositionResponse  
  clientOrderId="12345"
  status="0"
  processedDT="2020-05-27T19:02:10.112+03:00"
/>
Идентификатор передан, но что-то не так
Если вы передали идентификатор точки пополнения, но ЮMoney не нашли данные, которые ему соответствуют, к ответу будет добавлено сообщение: «Зачисление прошло успешно, но точка пополнения с таким идентификатором отсутствует в базе данных. Добавьте данные новой точки в базу — передайте в запросе addDepositionPoints ее идентификатор, тип и другие обязательные параметры».
Пример ответа, если не переданы данные о точке пополнения
XML
<testDepositionResponse
  clientOrderId="12345"
  status="0"
  processedDT="2020-05-27T19:02:10.112+03:00"
  techMessage="Deposition was successful but the database doesn't have a deposit location with this identifier. Add the information about this location to the database by specifying its identifier, type, and other mandatory parameters in the addDepositionPoints request"
/>
Проверьте корректность переданного идентификатора, при необходимости добавьте данные о точке в список и повторите запрос testDeposition.
Идентификатор не передан
Если в запросе отсутствовал идентификатор точки пополнения, к ответу будет добавлено сообщение: «Зачисление прошло успешно, но нет данных точки пополнения. В запросе на зачисление перевода необходимо передавать идентификатор точки, в которой пользователь пополнил кошелек. Чтобы добавить данные о точке, используйте запрос addDepositionPoints».
Пример ответа, если не переданы данные о точке пополнения
XML
<testDepositionResponse  
  clientOrderId="12345"
  status="0"
  processedDT="2020-05-27T19:02:10.112+03:00"
  techMessage="Deposition was successful but the deposit location data is missing. The request for transfer deposition should contain the identifier of the location where the user added money to the wallet. Use the addDepositionPoints request to add information about the location"
/>
При необходимости добавьте данные о точке в список и повторите запрос testDeposition с идентификатором точки пополнения.
Шаг 3. Зачислите перевод (makeDeposition)
Передайте запрос makeDeposition с идентификатором точки пополнения.
Пример запроса makeDeposition
XML
<makeDepositionRequest  
  agentId="123"
  clientOrderId="12345"
  requestDT="2011-07-01T20:38:00.000Z"
  dstAccount="410011234567"
  amount="10.00"
  currency="643"
  contract="Зачисление на кошелек"
  depositionPointId="12345"
/>
Пример успешного ответа
XML
<makeDepositionResponse  
  clientOrderId="12345"
  status="0"
  processedDT="2020-05-27T19:02:10.112+03:00"
  balance="-1215.51"
/>
Если в запросе makeDeposition будут отсутствовать данные о точке пополнения или с ними будет что-то не так, ЮMoney зачислят перевод, но сообщат об отсутствии данных о точке пополнения. Чтобы при следующем зачислении всё было корректно, обновите список точек пополнения и при переводе передайте существующий идентификатор.
See also
Формат взаимодействия Зачисление переводов (makeDeposition, testDeposition) Формирование списка точек пополнения