首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NodeJS集成CCAvenue

使用NodeJS集成CCAvenue
EN

Stack Overflow用户
提问于 2016-04-02 21:55:54
回答 2查看 5.5K关注 0票数 2

我完全是一个支付网关的新手。我想使用NodeJS将CCAvenue集成到我的web应用程序中。我已经安装了来自npm的CCAvenue包,但我不知道如何付款。

如果有人向我推荐CCAvenue集成手册以外的教程,我将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-07-25 21:35:40

首先,我建议使用CCAvenue提供的nodejs集成工具包(非无缝)。

1)原样将集成工具包中的dataForm添加到您的UI组件中

2)使用ajax调用rest api,方法如下:

代码语言:javascript
复制
app.controller("changeProfileController", function($scope, $sce){
  var dataObject = $("#paymentDataForm").serializeArray();
  $.ajax({
      type: "POST",
      url: restApiServer.ReSTFulAPIHost + '/ccavRequestHandler',
      data: dataObject,
      cache : false,
      processData: false,
      success: function (res) {
        //console.log(data);
        $scope.myText = $sce.trustAsHtml(res.data);
      },
      dataType: 'json'
  });
});

3)调用集成工具包中的ccAvenueRequestHandler代码,生成html表单,如下所示

代码语言:javascript
复制
// Use your own credentials
var workingKey = "AECGKJBBSERVFBG";
var accessCode = "ab4512vhvweb56g784433";
// formObject is data send from client
var contentArray = [];
_.each(formObject, function(value, key, data){
     contentArray.push(key+"="+data[key]);
});
body = contentArray.join("&");
encRequest = ccav.encrypt(body,workingKey);
var formBody = '<form id="nonseamless" method="post" name="redirect" action="https://secure.ccavenue.com/transaction/transaction.do?command=initiateTransaction"  ><input type="text" name="access_code" id="access_code" value="'+ accessCode +'" style="display:none;" ><input type="text" id="encRequest" name="encRequest" value="'+ encRequest +'" style="display:none;" ><script language="javascript">document.redirect.submit();</script></form>';
return reply(formBody);

4)因为Angularjs不提供到另一个url的直接路由。您必须在UI中创建一个DOM,您可以在其中呈现响应(2)中的html表单,它将重定向到ccavenue支付页面

代码语言:javascript
复制
// HTML Code
<div ng-bind-html='myText'></div>

5)从工具包中添加ccavenueResponse处理程序来处理您的响应,解密来自ccavenue的数据,并将您的用户重定向到包含响应数据的链接

代码语言:javascript
复制
var workingKey = "AECGKJBBSERVFBG", //Put in the 32-Bit key shared by CCAvenues.
ccavResponse = ccav.decrypt(request.payload.encResp,workingKey);
var strArray = ccavResponse.split("&");
var resObject =  {};
for(var i=0; i< strArray.length; i++){
  var tempArray = strArray[i].split("=");
  resObject[tempArray[0]] = tempArray[1]; 
}
// resObject will contains the payment information
// You can use this data as you want
票数 2
EN

Stack Overflow用户

发布于 2017-04-04 15:04:30

您可以使用ccavenue npm包

https://www.npmjs.com/package/ccavenue

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36374159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档