【问题标题】:Integrating PayU with PhoneGap app将 PayU 与 PhoneGap 应用程序集成
【发布时间】:2015-10-21 10:13:18
【问题描述】:

如何将 PayU 支付网关与 PhoneGap 应用程序集成?

哪种方法是正确的?

如果是安卓

  1. 为android添加cordova平台后,在eclipse中导出,从payu android sdk注册activity,然后从javascript调用这个activity
  2. 由于应用程序使用 php webservice API 从 Webservice api 调用 payu Rest API
  3. 使用 github 中提供的 iframe

如果有人对此提供一些意见会很有帮助。

【问题讨论】:

  • 我们使用了PayU团队提供的php SDK,它使用cordova的inappbrowser插件为手机屏幕创建支付页面,我们需要发送isMobileView = 1或true,这个标志负责使用手机模板用于支付页面。您可以从 payu github 获取代码库,github.com/payu-india/PayU_PHP_kit

标签: cordova phonegap-build payu


【解决方案1】:

这里是sample app,用于将 payu 集成到电话间隙 你可以找到html和javascript代码here。 此示例应用使用的是不带 SDK 的 payu。

更新: 如果您使用的是角度

$scope.payuOrder = function(form) {
        $scope.payu_params = {
            key: "xx@#EX",
            salt: "Dda3dqCx",
            txnid:"qw"+Math.floor(Math.random() * 100000000000),
            amount:"1230",
            productinfo:"Product info",
            firstname:"Ankit",
            email:customer."sf.ankit@gmail.com",
            user_credentials:"xx@#EX:unique_id",
            udf1:"",
            udf2:"",
            udf3:"",
            udf4:"",
            udf5:"",
            offer_key:"",
            card_bin:"",
            surl: encodeURI("https://payu.herokuapp.com/success"), //url needs to be encode
            furl: encodeURI("https://payu.herokuapp.com/failure") // url needs to be encode
        };

        var hash_string = $scope.payu_params.key+"|"+$scope.payu_params.txnid+"|"+$scope.payu_params.amount+"|"+
        $scope.payu_params.productinfo+"|"+$scope.payu_params.firstname+"|"+
        $scope.payu_params.email+"|"+$scope.payu_params.udf1+"|"+$scope.payu_params.udf2+"|"+
        $scope.payu_params.udf3+"|"+$scope.payu_params.udf4+"|"+$scope.payu_params.udf5+"||||||"+$scope.payu_params.salt;

        console.log("HashString = "+hash_string);

        $scope.payu_params.hash = CryptoJS.SHA512(hash_string).toString(CryptoJS.enc.Base64);

        console.log("Hash = "+$scope.payu_params.hash);

        var payu_params_string = '';
        for (var key in $scope.payu_params) {
          payu_params_string += key + "=" + $scope.payu_params[key] + "&";
        }

        payu_params_string = payu_params_string.slice(0,-1);
        console.log(payu_params_string);
        var bytes = [];
        for (var i = 0; i < payu_params_string.length; ++i) {
            bytes.push(payu_params_string.charCodeAt(i));
        }
             payu_params_string.toString().getBytes());         
             var winURL = "https://test.payu.in/_payment";
             var form = document.createElement("form");
             form.setAttribute("method", "post");
             form.setAttribute("action", winURL);
             for (var i in $scope.payu_params) {
                 if ($scope.payu_params.hasOwnProperty(i)) {
                     var input = document.createElement('input');
                     input.type = 'hidden';
                     input.name = i;
                     input.value = $scope.payu_params[i];
                     form.appendChild(input);
                 }
             }
          var options = {
              location: 'no',
              clearcache: 'yes',
              toolbar: 'no'
            };
            $cordovaInAppBrowser.open(winURL, '_blank', options)
              .then(function(event) {
                  $rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
                    // insert form on loaded window
                        document.body.appendChild(form);                     
                        form.submit();               
                        document.body.removeChild(form);           
                  });

              })
              .catch(function(event) {
                // error
              });
       }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2015-02-03
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 2016-07-21
    相关资源
    最近更新 更多