【问题标题】:PayUmoney payment fails eveytimePayUmoney 支付每次都失败
【发布时间】:2019-02-22 02:36:19
【问题描述】:

我正在使用以下 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 帐户,仅用于测试目的,还没有设置业务资料、泛号和数据。这可能是原因吗?但在文档中,没有编写此类信息来作为开发人员入门。

我得到了错误 toast 发生了一些错误。但无法找到错误原因。评论如果有人可以帮助解决这个问题。

提前致谢。

【问题讨论】:

  • 任何堆栈跟踪?
  • 与此无关,只是祝酒词发生了一些错误。
  • 读取种子文件“/data/data/com.payu.example/app_webview/variations_seed_new”失败:/data/data/com.car.payu.example/app_webview/variations_seed_new:打开失败:ENOENT (没有这样的文件或目录)
  • @Alien 你能帮忙吗

标签: payment-gateway payment payumoney payu


【解决方案1】:

查看payUmoney的这个链接 https://www.payumoney.com/faq-dev-support.html

在此链接中提到指向 在发送付款请求时,我被告知“发生了一些错误”。为什么会这样?

希望这会对你有所帮助。

【讨论】:

    【解决方案2】:

    您不必完全设置您的帐户来使用它的服务。 PayUmoney 集成提供测试密钥,开发人员可以将其用于首次开发过程,并且仅使用 payUmoney 提供的测试卡进行测试付款。

    MERCHANT_KEY = "rjQUPktU"
    MERCHANT_ID = "4934580"
    

    这是初始设置所需的两个测试密钥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 2014-04-26
      • 2015-02-23
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多