Ich benutze Angular/Node.JS-Stack für Payumoney-Integration.angular/node.js POST für Payumoney-Integration
auf der Winkelseite wird ein Befehl wie folgt $ http.post an einen Routenendpunkt auf der Serverseite (node.js) unter Verwendung gelegt:
$http.post('/placeOrder',order).success(function(data, status, headers, config){
//handle responses on client side
console.log("Successfully POSTED to payment gateway");
window.location = "https://test.payu.in/_payment";
}).error(function(data, status, headers, config) {
console.log("Error in posting");
});
Die tatsächliche Heben schwerer Lasten auf dem Knoten durchgeführt wird, js (Server-Seite):
router.post('/placeOrder', function(req, res, next){
hash_data = MERCHANT_KEY+'|'+txnid+'|'+amount+'|'+productinfo+'|'+firstname+'|'+email+'|'+udf1+'|'+udf2+'|'+udf3+'|'+udf4+'|'+udf5+'||||||'+SALT;
var data = querystring.stringify({
'key': MERCHANT_KEY,
'txnid': txnid,
'amount': amount,
'productinfo': productinfo,
'firstname': firstname,
'email': email,
'phone': phone,
'surl': SUCCESS_URL,
'furl': FAILURE_URL,
'curl': FAILURE_URL,
'hash': hash,
'service_provider': SERVICE_PROVIDER
//'salt': SALT
});
//POST options
var POST_OPTIONS = {
hostname: PAYU_BASE_URL,
port: 443,
path: '/_payment',
method: 'POST',
//json: true,
agent: false,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
//'Content-Length': Buffer.byteLength(data)
'Content-Length': data.length
}
};
var resp_status = "";
var req = https.request(POST_OPTIONS, function(response) {
console.log('STATUS: ' + response.statusCode);
console.log('HEADERS: ' + JSON.stringify(response.headers));
response.setEncoding('utf8');
response.on('data', function (chunk) {
console.log("body: " + chunk);
resp_status = 200;
res.json(chunk);
});
response.on('error', function (err) {
console.log("Got error: " + err.message);
resp_status = 500;
return res.send(err);
});
});
req.end(data);
Allerdings scheint dies nicht als POST scheint nicht zu funktionieren mit diesem Ansatz zu arbeiten. Während das Debuggen auf dem Browser über das Netzwerk Registerkarte, sehe ich immer:
URL anfordern: https://test.payu.in/_payment anfordern Methode: GET Statuscode: 200 OK
Außerdem zeigt der Test Zahlungsseite (https://test.payu.in/_payment): " Fehlergrund Ein oder mehrere obligatorische Parameter fehlen in der Transaktionsanforderung. "
Jede Hilfe würde geschätzt werden !!
Bitte veröffentlichen Ihre E-Mail-Adresse in Ihren Antworten –