2016-04-02 12 views
1

Ödeme ağ geçitleri için yeni bir kullanıcıyım. CCAvenue’yi web uygulamasına NodeJS’i kullanarak entegre etmek istiyorum. CCAvenue paketini npm'den yükledim, ancak ödeme yapma konusunda hiçbir fikrim yok.NodeJS'yi kullanarak CCAvenue'yi bütünleştirme

Bana başka biri CCAvenue entegrasyon kılavuzundan başka bir öğreticiye işaret ettiysem harika olurdum. Her şeyden

+0

ccavenue angularjs ile entegre edilmesinde herhangi bir başarı elde ettiniz mi? –

cevap

2

Birincisi, o

olduğu gibi

1) UI bileşeninde entegrasyon kitinden dataform ekleyin (eksiz olmayan) CCAvenue tarafından sağlanmaktadır nodejs için entegrasyon kiti kullanılarak önermek istiyorum

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' 
    }); 
}); 
aşağıdaki gibi hTML formunu oluşturur Entegrasyon kiti ccAvenueRequestHandler kodu çağrı) aşağıdaki gibidir:

2) ajax kullanarak geri kalan API çağrısı

// 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 başka bir URL'ye doğrudan yol sağlamadığından. Eğer yanıt olarak html formu işleyebilen arayüzünde bir DOM oluşturmak zorunda (2), hangi verileri) ödeme sayfasını

// HTML Code 
<div ng-bind-html='myText'></div> 

5 CCAvenue yanıtınızı işlemek için kitinden ccavenueResponse işleyicisi ekleyin, azalmak için yönlendirir CCAvenue ve yanıt verilerini içeren bağlamak için kullanıcıyı yönlendirme

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 
+0

HTML, başarı yanıtında div içinde oluşturulduğunda, yönlendirme otomatik olarak gerçekleşecek mi? Evet ise, koddaki tam olarak bu formun ne olduğunu söyler? Hayır ise, kullanıcı müdahalesi olmadan nasıl bir evet yapabilirim? –

+0

Yeniden yönlendirme, oluşturduğunuz html formu post yöntemi ve otomatik gönderme komut dosyası içerdiğinden otomatik olarak gerçekleşir. Bkz. "FormBody". – user3639680

+0

CCAvenue ile de entegre ediyorum. Sadece bir soru: form verilerini doğrudan bir düğüm sürecinden CCAvenue'ye gönderebilir miyiz? –

İlgili konular