在 android 中集成 payU Money 时成功 url 和失败 url 是啥?

Posted

技术标签:

【中文标题】在 android 中集成 payU Money 时成功 url 和失败 url 是啥?【英文标题】:What is success url & failure url while integrating payU Money in android?在 android 中集成 payU Money 时成功 url 和失败 url 是什么? 【发布时间】:2016-08-18 09:58:50 【问题描述】:

这是我的一些活动代码,surl 和 furl 是什么?谁能帮帮我?

提前致谢:)

 Map<String, String> mapParams = new HashMap<>();

            mapParams.put("key", mMerchantKey);
            mapParams.put("txnid", mTXNId);
            mapParams.put("amount", String.valueOf(mAmount));
            mapParams.put("productinfo", mProductInfo);
            mapParams.put("firstname", mFirstName);
            mapParams.put("email", mEmailId);
            mapParams.put("phone", mPhone);
            mapParams.put("surl", mSuccessUrl);
            mapParams.put("furl", mFailedUrl);
            mapParams.put("hash", mHash);
            mapParams.put("service_provider", mServiceProvider);

             System.out.println("mapParams=="+mapParams);

            webViewClientPost(webView, mAction, mapParams.entrySet());

【问题讨论】:

你遇到了什么错误??再解释一下你的问题。 对 surl 和 furl 感到困惑?这两个 url 是什么,我可以从哪里获取并传递它? 以下答案对您有帮助吗? 【参考方案1】:

下图解释了客户如何付款以及流程如何进行:

第 1 步:消费者在您的网站上选择产品并点击“立即付款”按钮。

第 2 步: 然后将消费者从您的网站带到 www.payumoney.com 的交易页面,消费者在其中输入所有与付款相关的详细信息。

第 3 步: Payumoney.com.com 将消费者重定向到 Visa、MasterCard 或相关银行以获得下一级授权。

第 4 步:银行/Visa/MasterCard 授权并确认交易。

第 5 步:消费者被送回 PayUMoney。

第 6 步: PayUMoney 将消费者连同交易状态一起发送回您的网站。

surlfurl 在上述流程的最后一步出现。它只是成功和失败页面 URL,您希望将用户带到成功和失败案例的位置。

例如,如果您有一个感谢页面,您希望用户在成功交易后前往该页面,那么您将该页面的 URL 传递为 surl

同样,如果您有任何错误页面希望用户失败,则将该 URL 传递为 furl

来源: PayUMoney Integration in android.

【讨论】:

【参考方案2】:

payumoney 将用户和交易数据发布到这些urls。所有成功的交易都转到 surl,所有失败的交易数据都作为 post 请求转到 furl。

您可以为您的应用程序逻辑保存这些信息。

here 是显示 POST 请求的链接。

【讨论】:

【参考方案3】:

成功和失败 URI 是一个重定向链接。基本上,当事务成功时,它会重定向到成功的 URI,否则它会重定向到失败的 URI。

【讨论】:

【参考方案4】:

在 PayuMoney 构建器变量中,您需要设置这些参数,其中还提到了成功和失败 URL。

  builder.setAmount(amount)                          // Payment amount
                .setTxnId(txnid)                     // Transaction ID
                .setPhone(phone)                   // User Phone number
                .setProductName(prodname)                   // Product Name or description
                .setFirstName(firstname)                              // User First name
                .setEmail(email)              // User Email ID
                .setsUrl("https://www.payumoney.com/mobileapp/payumoney/success.php")     // Success URL (surl)
                .setfUrl("https://www.payumoney.com/mobileapp/payumoney/failure.php")     //Failure URL (furl)
                .setUdf1("")
                .setUdf2("")
                .setUdf3("")
                .setUdf4("")
                .setUdf5("")
                .setUdf6("")
                .setUdf7("")
                .setUdf8("")
                .setUdf9("")
                .setUdf10("")
                .setIsDebug(true)                              // Integration environment - true (Debug)/ false(Production)
                .setKey(merchantkey)                        // Merchant key
                .setMerchantId(merchantId);

您可以找到完整的 Downloadable tutorial with working app in this link。 PayUmoney 的整合过程非常简单。步骤如下-

第一步获取商家密钥和盐

第 2 步上传服务器端 PHP 文件以进行校验和 HASH

第三步添加依赖

第 4 步获取校验和哈希

第 5 步开始交易

【讨论】:

【参考方案5】:

使用 PayUmoney Android SDK 进行支付时,会给出两种支付响应:

1.回调函数中的客户端响应

2。 Webhook 上的服务器到服务器回调(如果从 PayUmoney 仪表板设置)。

    客户端响应处理: 要知道付款何时完成,请覆盖您的活动中的 onActivityResult,如下面的示例代码所示
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    super.onActivityResult(requestCode, resultCode, data);

    // Result Code is -1 send from Payumoney activity
    Log.d("MainActivity", "request code " + requestCode + " resultcode " + resultCode);
    if (requestCode == PayUmoneyFlowManager.REQUEST_CODE_PAYMENT && resultCode == RESULT_OK && data != null) 
        TransactionResponse transactionResponse = data.getParcelableExtra( PayUmoneyFlowManager.INTENT_EXTRA_TRANSACTION_RESPONSE );

        if (transactionResponse != null && transactionResponse.getPayuResponse() != null) 

            if(transactionResponse.getTransactionStatus().equals( TransactionResponse.TransactionStatus.SUCCESSFUL ))
                //Success Transaction
             else
                //Failure Transaction
            

            // Response from Payumoney
            String payuResponse = transactionResponse.getPayuResponse();

            // Response from SURl and FURL
            String merchantResponse = transactionResponse.getTransactionDetails();
          else if (resultModel != null && resultModel.getError() != null) 
            Log.d(TAG, "Error response : " + resultModel.getError().getTransactionResponse());
         else 
            Log.d(TAG, "Both objects are null!");
        
    

    服务器端响应处理:

随时为您处理payu成功和失败响应。

例如(REST):

网址:https://hostname/REST/service/payusucess

FURL:https://hostname/REST/service/payufailure

付款完成后,它将向您的服务器端相应(成功/失败)发布响应。您必须获取响应并在您的 REST 服务中处理它并显示响应页面。

【讨论】:

以上是关于在 android 中集成 payU Money 时成功 url 和失败 url 是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的应用程序中集成 ATOM 支付网关?

在 wordpress 和 asp.net 网站中集成信用卡借记卡 NetBanking Airtel Money [关闭]

在 Android 中集成 GeckoView

使用Android.mk在Android中集成Crypto ++?

在 Android Phonegap Build 中集成广告

在 Android 中集成 Flutter