@rasfront
React native разработчик

Не работает android yandex money api. В чем дело?

Я зарегистрировал приложение в yandex.money, получил id клиента. Далее написал пример который есть на github: . Я заменил CLIENT_ID = "[your_client_id]" на полученный при регистрации. Но когда я пытаюсь запустить код, я вижу вот такую картину:
spoiler
3bb88b053f3d4522b279645d242d7049.PNG
. В чем дело и что я делаю не так

Вот код вызова activity:
HashMap<String, String> params = new HashMap<>();
        params.put("shopId", data.optString("shopId"));
        params.put("scid", data.optString("scId"));
        params.put("sum", data.optString("sum"));
        params.put("customerNumber", data.optString("customer"));
        params.put("paymentType", data.optString("pay_type"));
        params.put("saleOrderId", data.optString("number"));
        Intent intent = PaymentActivity.getBuilder(getActivity())
                .setPaymentParams(new ShopParams(data.optString("scId"), params))
                .setClientId(CLIENT_ID)
                .build();
        startActivityForResult(intent, ResponseUtils.PAY);


В логах выходит ошибка ru.yandex.money.android.fragments.ErrorFragment: error=TECHNICAL_ERROR,status=REFUSED
  • Вопрос задан
  • 644 просмотра
Решения вопроса 2
YooMoneyHelp
@YooMoneyHelp
Поможем разобраться. Отправьте, пожалуйста, подробности на api@money.yandex.ru. К письму приложите ссылку на этот пост.
Ответ написан
Комментировать
@rasfront Автор вопроса
React native разработчик
И так опубликую те советы что мне дали и в результате чего все заработало. Первая ошибка, были неправильно указаны scid и shopId. Указывайте их правильно, иначе платеж не удастся. Для их получения ОБЯЗАТЕЛЬНО нужно заключить договор с yandex кассой. Далее client_id должен быть для каждого случая своим. Если вы собираетесь проводить платежи в боевом режиме, то и clietn_id должен быть получен в реальном кошельке приложения зарегистрированного по адресу https://money.yandex.ru/myservices/new.xml если же вы собираете проводить демоплатежи по адресу https://demomoney.yandex.ru то приложение должно быть зарегистрировано по адресу https://demomoney.yandex.ru/myservices/new.xml и client_id указывайте оттуда. Вроде это все что мешало мне проводить платежи. У них хоть и есть репозиторий на github, но указанного примера оттуда недостаточно, к сожалению. Но в любом случае если обратитесь по адресу api@money.yandex.ru, думаю они вам помогут разобраться)))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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