UNPKG

flexbiz-server

Version:

Flexible Server

33 lines (31 loc) 3.95 kB
'use strict';module.exports=function($router$$){$router$$.route("/:id_app/:service/:id_transaction/verify").get(async($req$$,$res$$)=>{let $id_app$$=$req$$.params.id_app,$id_transaction$$=$req$$.params.id_transaction,$service$$=$req$$.params.service;try{let $data_check$$=$req$$.query,$results$$=await global.getModel($service$$).verifyReturnUrl($id_app$$,$id_transaction$$,$data_check$$);$res$$.send($results$$)}catch($e$$){console.error($e$$),$res$$.status(400).send({error:$e$$.message})}});$router$$.route("/:id_app/:service/:id_transaction/callback").get(async($_url_req$$, $res$$)=>{let $id_app$$=$_url_req$$.params.id_app,$id_transaction$$=$_url_req$$.params.id_transaction,$service$$=$_url_req$$.params.service;try{let $data_check$$=$_url_req$$.query,$results$$=await global.getModel($service$$).verifyReturnUrl($id_app$$,$id_transaction$$,$data_check$$),$direct_url$$;if($direct_url$$=$results$$.isSuccess?$results$$.result_url:$results$$.error_url||$results$$.result_url){$_url_req$$="";delete $results$$.result_url;delete $results$$.return_url;for(let $key$$ in $results$$)$_url_req$$= $_url_req$$?`${$_url_req$$}&${$key$$}=${encodeURIComponent($results$$[$key$$])}`:`${$key$$}=${encodeURIComponent($results$$[$key$$])}`;$_url_req$$=`${$direct_url$$}?${$_url_req$$}`;console.log("redirect to result page",$_url_req$$);try{$res$$.redirect($_url_req$$)}catch($e$$){console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,url:$_url_req$$})}}else{let $msg$$=$results$$.message,$color$$;$results$$.isSuccess?($msg$$=$results$$.message||"Your transaction was successful", $color$$="blue"):($color$$="red",$msg$$=$msg$$||"Your transaction was not success");$res$$.send(`<html> <head> <title>${$results$$.isSuccess?"success":"error"}</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> <body> <div style="margin-left:auto;margin-right:auto;text-align:center"> <h3 style="color:${$color$$}">${$msg$$}</h3> </div> </body> </html>`)}}catch($e$$){console.error($e$$),$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}});$router$$.route("/:id_app/:service/notify").post(async($req$$,$res$$)=>{let $id_app$$=$req$$.params.id_app,$body_receiver$$=$req$$.body;global.getModel($req$$.params.service).handleNotify($id_app$$,$body_receiver$$,($e$$,$rs$$)=>{if($e$$)return $res$$.status(400).send($e$$);$res$$.status(204).send($rs$$)})});$router$$.route("/:id_app/:service/query/:id_ct").get(async($req$jscomp$3_serviceModel$$, $res$$)=>{let $id_app$$=$req$jscomp$3_serviceModel$$.params.id_app,$id_ct$$=$req$jscomp$3_serviceModel$$.params.id_ct;$req$jscomp$3_serviceModel$$=global.getModel($req$jscomp$3_serviceModel$$.params.service);if($req$jscomp$3_serviceModel$$.queryTransaction)try{let $rs$$=await $req$jscomp$3_serviceModel$$.queryTransaction($id_app$$,$id_ct$$);$res$$.send($rs$$)}catch($e$$){$res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$})}else $res$$.status(400).send({error:"Service n\u00e0y kh\u00f4ng h\u1ed7 tr\u1ee3 truy v\u1ea5n giao d\u1ecbch"})}); $router$$.route("/payment/again").get(async($req$$,$res$$)=>{try{let $results$$=$req$$.query,$msg$$=$results$$.message,$color$$;$results$$.isSuccess?($msg$$=$results$$.message||"Your transaction was successful",$color$$="blue"):$color$$="red";let $html$$=`<html> <head> <title>${$results$$.isSuccess?"success":"error"}</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script> window.postMessage('${JSON.stringify($results$$)}', "*"); </script> </head> <body> <div style="margin-left:auto;margin-right:auto;text-align:center"> <h3 style="color:${$color$$}">${$msg$$}</h3> </div> </body> </html>`;$res$$.send($html$$)}catch($e$$){$res$$.status(400).send($e$$.message)}})};