<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import = "java.io.*" %>
<%@ page import = "java.util.Calendar" %>
<%
//*********************************************************************************
// 구매자가 입금하면 결제데이터 통보를 수신하여 DB 처리 하는 부분 입니다.
// 수신되는 필드에 대한 DB 작업을 수행하십시오.
// 수신필드 자세한 내용은 메뉴얼 참조
//*********************************************************************************
String PayMethod = request.getParameter("PayMethod"); //지불수단
String MID = request.getParameter("MID"); //상점ID
String MallUserID = request.getParameter("MallUserID"); //회원사 ID
String Amt = request.getParameter("Amt"); //금액
String name = request.getParameter("name"); //구매자명
String GoodsName = request.getParameter("GoodsName"); //상품명
String TID = request.getParameter("TID"); //거래번호
String MOID = request.getParameter("MOID"); //주문번호
String AuthDate = request.getParameter("AuthDate"); //입금일시 (yyMMddHHmmss)
String ResultCode = request.getParameter("ResultCode"); //결과코드 ('4110' 경우 입금통보)
String ResultMsg = request.getParameter("ResultMsg"); //결과메시지
String VbankNum = request.getParameter("VbankNum"); //가상계좌번호
String FnCd = request.getParameter("FnCd"); //가상계좌 은행코드
String VbankName = request.getParameter("VbankName"); //가상계좌 은행명
String VbankInputName = request.getParameter("VbankInputName"); //입금자 명
String CancelDate = request.getParameter("CancelDate"); //취소일시
//*********************************************************************************
//가상계좌채번시 현금영수증 자동발급신청이 되었을경우 전달되며
//RcptTID 에 값이 있는경우만 발급처리 됨
//*********************************************************************************
String RcptTID = request.getParameter("RcptTID"); //현금영수증 거래번호
String RcptType = request.getParameter("RcptType"); //현금 영수증 구분(0:미발행, 1:소득공제용, 2:지출증빙용)
String RcptAuthCode = request.getParameter("RcptAuthCode"); //현금영수증 승인번호
//*********************************************************************************
// 이부분에 로그파일 경로를 수정해주세요.
// 로그는 문제발생시 오류 추적의 중요데이터 이므로 반드시 적용해주시기 바랍니다.
//*********************************************************************************
String file_path = "/usr/local/jboss/jboss-as/server/pay/log/nice_vacct_noti_result.log";
File file = new File(file_path);
file.createNewFile();
FileWriter fw = new FileWriter(file_path, true);
fw.write("************************************************\r\n");
fw.write("PayMethod : " + PayMethod + "\r\n");
fw.write("MID : " + MID + "\r\n");
fw.write("MallUserID : "+ MallUserID + "\r\n");
fw.write("Amt : " + Amt + "\r\n");
fw.write("name : " + name + "\r\n");
fw.write("GoodsName : " + GoodsName + "\r\n");
fw.write("TID : "+ TID + "\r\n");
fw.write("MOID : "+ MOID + "\r\n");
fw.write("AuthDate : "+ AuthDate + "\r\n");
fw.write("ResultCode : "+ ResultCode + "\r\n");
fw.write("ResultMsg : "+ ResultMsg + "\r\n");
fw.write("VbankNum : "+ VbankNum + "\r\n");
fw.write("FnCd : "+ FnCd + "\r\n");
fw.write("VbankName : "+ VbankName + "\r\n");
fw.write("VbankInputName : "+ VbankInputName + "\r\n");
fw.write("RcptTID : "+ RcptTID + "\r\n");
fw.write("RcptType : "+ RcptType + "\r\n");
fw.write("RcptAuthCode : "+ RcptAuthCode + "\r\n");
fw.write("CancelDate : "+ CancelDate + "\r\n");
fw.write("************************************************\r\n");
fw.close();
//가맹점 DB처리
//**************************************************************************************************
//**************************************************************************************************
//결제 데이터 통보 설정 > “OK” 체크박스에 체크한 경우" 만 처리 하시기 바랍니다.
//**************************************************************************************************
//TCP인 경우 OK 문자열 뒤에 라인피드 추가
//위에서 상점 데이터베이스에 등록 성공유무에 따라서 성공시에는 "OK"를 NICEPAY로
//리턴하셔야합니다. 아래 조건에 데이터베이스 성공시 받는 FLAG 변수를 넣으세요
//(주의) OK를 리턴하지 않으시면 NICEPAY 서버는 "OK"를 수신할때까지 계속 재전송을 시도합니다
//기타 다른 형태의 PRINT(out.print)는 하지 않으시기 바랍니다
//if (데이터베이스 등록 성공 유무 조건변수 = true)
// {
// out.print("OK"); // 절대로 지우지 마세요
// }
// else
// {
// out.print("FAIL"); // 절대로 지우지 마세요
// }
//*************************************************************************************************
//*************************************************************************************************
%>
<?php
//'**********************************************************************************
//' 구매자가 입금하면 결제데이터 통보를 수신하여 DB 처리 하는 부분 입니다.
//' 수신되는 필드에 대한 DB 작업을 수행하십시오.
//' 수신필드 자세한 내용은 메뉴얼 참조
//'**********************************************************************************
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
$PayMethod = $PayMethod; //지불수단
$M_ID = $MID; //상점ID
$MallUserID = $MallUserID; //회원사 ID
$Amt = $Amt; //금액
$name = $name; //구매자명
$GoodsName = $GoodsName; //상품명
$TID = $TID; //거래번호
$MOID = $MOID; //주문번호
$AuthDate = $AuthDate; //입금일시 (yyMMddHHmmss)
$ResultCode = $ResultCode; //결과코드 ('4110' 경우 입금통보)
$ResultMsg = $ResultMsg; //결과메시지
$VbankNum = $VbankNum; //가상계좌번호
$FnCd = $FnCd; //가상계좌 은행코드
$VbankName = $VbankName; //가상계좌 은행명
$VbankInputName = $VbankInputName; //입금자 명
$CancelDate = $CancelDate; //취소일시
//가상계좌채번시 현금영수증 자동발급신청이 되었을경우 전달되며
//RcptTID 에 값이 있는경우만 발급처리 됨
$RcptTID = $RcptTID; //현금영수증 거래번호
$RcptType = $RcptType; //현금 영수증 구분(0:미발행, 1:소득공제용, 2:지출증빙용)
$RcptAuthCode = $RcptAuthCode; //현금영수증 승인번호
//**********************************************************************************
//이부분에 로그파일 경로를 수정해주세요.
$logfile = fopen("C:\\NICEPAY20\\log\\nice_vacct_noti_result.log", "a+" );
//로그는 문제발생시 오류 추적의 중요데이터 이므로 반드시 적용해주시기 바랍니다.
//**********************************************************************************
fwrite( $logfile,"************************************************\r\n");
fwrite( $logfile,"PayMethod : ".$PayMethod."\r\n");
fwrite( $logfile,"MID : ".$MID."\r\n");
fwrite( $logfile,"MallUserID : ".$MallUserID."\r\n");
fwrite( $logfile,"Amt : ".$Amt."\r\n");
fwrite( $logfile,"name : ".$name."\r\n");
fwrite( $logfile,"GoodsName : ".$GoodsName."\r\n");
fwrite( $logfile,"TID : ".$TID."\r\n");
fwrite( $logfile,"MOID : ".$MOID."\r\n");
fwrite( $logfile,"AuthDate : ".$AuthDate."\r\n");
fwrite( $logfile,"ResultCode : ".$ResultCode."\r\n");
fwrite( $logfile,"ResultMsg : ".$ResultMsg."\r\n");
fwrite( $logfile,"VbankNum : ".$VbankNum."\r\n");
fwrite( $logfile,"FnCd : ".$FnCd."\r\n");
fwrite( $logfile,"VbankName : ".$VbankName."\r\n");
fwrite( $logfile,"VbankInputName : ".$VbankInputName."\r\n");
fwrite( $logfile,"RcptTID : ".$RcptTID."\r\n");
fwrite( $logfile,"RcptType : ".$RcptType."\r\n");
fwrite( $logfile,"RcptAuthCode : ".$RcptAuthCode."\r\n");
fwrite( $logfile,"CancelDate : ".$CancelDate."\r\n");
fwrite( $logfile,"************************************************\r\n");
fclose( $logfile );
//가맹점 DB처리
//**************************************************************************************************
//**************************************************************************************************
//결제 데이터 통보 설정 > “OK” 체크박스에 체크한 경우" 만 처리 하시기 바랍니다.
//**************************************************************************************************
//TCP인 경우 OK 문자열 뒤에 라인피드 추가
//위에서 상점 데이터베이스에 등록 성공유무에 따라서 성공시에는 "OK"를 NICEPAY로
//리턴하셔야합니다. 아래 조건에 데이터베이스 성공시 받는 FLAG 변수를 넣으세요
//(주의) OK를 리턴하지 않으시면 NICEPAY 서버는 "OK"를 수신할때까지 계속 재전송을 시도합니다
//기타 다른 형태의 PRINT(out.print)는 하지 않으시기 바랍니다
//if (데이터베이스 등록 성공 유무 조건변수 = true)
//{
// echo "OK"; // 절대로 지우지마세요
//}
//else
//{
// echo "FAIL"; // 절대로 지우지마세요
//}
//*************************************************************************************************
//*************************************************************************************************
?>
using System;
using System.Web.UI;
using System.IO;
public partial class niceVacctNoti : System.Web.UI.Page
{
protected string LogPath;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
responseVacctNoti();
}
}
protected void responseVacctNoti()
{
String sPayMethod = Request.Params["PayMethod"]; // 지불수단
String sMID = Request.Params["MID"]; // 상점ID
String sMallUserID = Request.Params["MallUserID"]; // 회원사 ID
String sAmt = Request.Params["Amt"]; // 금액
String sName = Request.Params["name"]; // 구매자명
String sGoodsName = Request.Params["GoodsName"]; // 상품명
String sTID = Request.Params["TID"]; // 거래번호
String sMOID = Request.Params["MOID"]; // 주문번호
String sAuthDate = Request.Params["AuthDate"]; // 입금일시 (yyMMddHHmmss)
String sResultCode = Request.Params["ResultCode"]; // 결과코드 ('4110' 경우 입금통보)
String sResultMsg = Request.Params["ResultMsg"]; // 결과메시지
String sVbankNum = Request.Params["VbankNum"]; // 가상계좌번호
String sFnCd = Request.Params["FnCd"]; // 가상계좌 은행코드
String sVbankName = Request.Params["VbankName"]; // 가상계좌 은행명
String sVbankInputName = Request.Params["VbankInputName"]; // 입금자 명
String sCancelDate = Request.Params["CancelDate"]; // 취소일시
// 가상계좌채번시 현금영수증 자동발급신청이 되었을경우 전달 (RcptTID, RcptType, RcptAuthCode)
String sRcptTID = Request.Params["RcptTID"]; // 현금영수증 거래번호
String sRcptType = Request.Params["RcptType"]; // 현금 영수증 구분(0:미발행, 1:소득공제용, 2:지출증빙용)
String sRcptAuthCode = Request.Params["RcptAuthCode"]; // 현금영수증 승인번호
// 로그파일
FileInfo file = new FileInfo(@"C:\log\nice_vacct_noti_result.log");
StreamWriter sw = file.AppendText();
sw.WriteLine("************************************************");
sw.WriteLine("PayMethod : " + sPayMethod);
sw.WriteLine("M_ID : " + sMID);
sw.WriteLine("MallUserID : " + sMallUserID);
sw.WriteLine("Amt : " + sAmt);
sw.WriteLine("name : " + sName);
sw.WriteLine("GoodsName : " + sGoodsName);
sw.WriteLine("TID : " + sTID);
sw.WriteLine("MOID : " + sMOID);
sw.WriteLine("AuthDate : " + sAuthDate);
sw.WriteLine("ResultCode : " + sResultCode);
sw.WriteLine("ResultMsg : " + sResultMsg);
sw.WriteLine("VbankNum : " + sVbankNum);
sw.WriteLine("FnCd : " + sFnCd);
sw.WriteLine("VbankName : " + sVbankName);
sw.WriteLine("VbankInputName : " + sVbankInputName);
sw.WriteLine("RcptTID : " + sRcptTID);
sw.WriteLine("RcptType : " + sRcptType);
sw.WriteLine("RcptAuthCode : " + sRcptAuthCode);
sw.WriteLine("CancelDate : " + sCancelDate);
sw.WriteLine("************************************************");
sw.WriteLine("");
sw.Flush();
sw.Close();
/****************************************************
* <결제 결과 가맹점 데이터베이스 처리>
*
* 가상계좌 입금결과를 가맹점 입금완료 처리를 위해
* 데이터베이스 처리를 하시기 바랍니다.
*
****************************************************/
bool insertSuccess = true; // 가맹점 데이터베이스 처리가 완료된 것으로 가정합니다.
// 가맹점 DB처리 - 결제 데이터 통보 설정 > “OK” 체크박스에 체크한 경우" 만 처리 하시기 바랍니다.
// TCP인 경우 OK 문자열 뒤에 라인피드 추가
if (insertSuccess == true) {
Response.Write("OK");
Response.End();
} else {
Response.Write("FAIL");
Response.End();
}
}
}