Платеж PayUmoney не проходит каждый день - PullRequest
0 голосов
/ 18 сентября 2018

Я использую следующий код Java для запуска платежного шлюза

String hashKey = hashCal(MERCHANT_KEY + "|" + String.valueOf(System.currentTimeMillis()) + "|" + Double.parseDouble("1") + "|" + "productName" + "|" + FIRST_NAME + "|" + EMAIL + "|" + "" + "|" + "" + "|" + "" + "|" + "" + "|" + "" + "|" + salt);
PayUmoneySdkInitializer.PaymentParam.Builder builder = new PayUmoneySdkInitializer.PaymentParam.Builder();
        builder.setAmount(Double.parseDouble("1"))
                .setTxnId(String.valueOf(System.currentTimeMillis()))
                .setPhone(Constants.MOBILE)
                .setProductName("productName")
                .setFirstName(FIRST_NAME)
                .setEmail(EMAIL)
                .setsUrl(SURL)
                .setfUrl(FURL)
                .setUdf1("")
                .setUdf2("")
                .setUdf3("")
                .setUdf4("")
                .setUdf5("")
                .setIsDebug(DEBUG)
                .setKey(MERCHANT_KEY)
                .setMerchantId(MERCHANT_ID);
        final PayUmoneySdkInitializer.PaymentParam paymentParam = builder.build();
        paymentParam.setMerchantHash(hashKey);
        String url = Constants.MONEY_HASH;
        PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, this, R.style.AppTheme, true);

Для вычисления ключа хеша только в Java, я использую следующий код:

public static String hashCal(String str) {
        byte[] hashseq = str.getBytes();
        StringBuilder hexString = new StringBuilder();
        try {
            MessageDigest algorithm = MessageDigest.getInstance("SHA-512");
            algorithm.reset();
            algorithm.update(hashseq);
            byte messageDigest[] = algorithm.digest();
            for (byte aMessageDigest : messageDigest) {
                String hex = Integer.toHexString(0xFF & aMessageDigest);
                if (hex.length() == 1) {
                    hexString.append("0");
                }
                hexString.append(hex);
            }
        } catch (NoSuchAlgorithmException ignored) {
        }
        return hexString.toString();
    }

Пожалуйста, дайте мне знать, если я делаю какую-то ошибку в коде или иным образом.

Я использую библиотеку payUmoney:

implementation 'com.payumoney.sdkui:plug-n-play:1.2.0'

И я недавно создал свою учетную запись payUmoney только для целей тестирования и не настроил бизнес-профиль, номер панорамы и данные. Может ли это быть причиной? Но в документации нет такой информации, чтобы начать как разработчик.

Я получил тост за ошибку Произошла какая-то ошибка. но не смог найти причину ошибки. Комментарий Если кто-то может помочь с этой проблемой.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Нет необходимости полностью настраивать учетную запись, чтобы использовать ее службы.Интеграция с PayUmoney предоставляет тестовые ключи, которые могут использоваться разработчиками для первого процесса разработки, и использовать тестовые карты, предоставляемые payUmoney, только для проведения тестовых платежей.

MERCHANT_KEY = "rjQUPktU"
MERCHANT_ID = "4934580"

это два тестовых ключа, необходимых для начальной настройки.

0 голосов
/ 19 сентября 2018

Отметьте эту ссылку payUmoney https://www.payumoney.com/faq-dev-support.html

в этой ссылке, чтобы упомянуть точку Во время отправки запроса на оплату я получаю уведомление, что «произошла некоторая ошибка».Почему это происходит?

Надеюсь, это поможет вам.

...