我完全是一个支付网关的新手。我想使用NodeJS将CCAvenue集成到我的web应用程序中。我已经安装了来自npm的CCAvenue包,但我不知道如何付款。
如果有人向我推荐CCAvenue集成手册以外的教程,我将不胜感激。
发布于 2016-07-25 21:35:40
首先,我建议使用CCAvenue提供的nodejs集成工具包(非无缝)。
1)原样将集成工具包中的dataForm添加到您的UI组件中
2)使用ajax调用rest api,方法如下:
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表单,如下所示
// 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支付页面
// HTML Code
<div ng-bind-html='myText'></div>5)从工具包中添加ccavenueResponse处理程序来处理您的响应,解密来自ccavenue的数据,并将您的用户重定向到包含响应数据的链接
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发布于 2017-04-04 15:04:30
您可以使用ccavenue npm包
https://stackoverflow.com/questions/36374159
复制相似问题