테크노트 [테크노트7] 이니시스 모바일 결제 연동시
페이지 정보
본문
1. 결제페이지 구성 예제
<meta http-equiv=”Content-Type” content=”text/html;charset=euc-kr”/>
<script>
function formSubmit(){
document.getElementById(“form1”).submit();
}
</script>
<form id=”form1” name=”form1” method=”post” action=”지불수단URL”>
<input type=”hidden” name=”P_GOODS” value=”테스트상품” />
<input type=”hidden” name=”P_MID” value=”상점아이디” />
<input type=”hidden” name=”P_AMT” value=”상품가격” />
<input type=”hidden” name=”P_OID” value=”5124213” />
<input type=”hidden” name=”P_EMAIL” value=”abc@abc.com” />
<input type=”hidden” name=”P_UNAME” value=”구매자명” />
<input type=”hidden” name=”P_NOTI_URL” value=”https://가맹점 Noti_Url” /><!-- 1 Transaction 방식 -->
<input type=”hidden” name=”P_RETURN_URL” value=”https://가맹점 Return_Url” /><!-- only 2 Transaction 방식 -->
<input type="hidden" name="P_NOTI" value="주문번호"><!--P_NOTI ... 주문번호로 사용 // 해피정닷컴 -->
2. 인증결과수신
2 Transaction 거래의 경우, “1-2. 결제창 Open (주문정보 전달) – 접속 주소 및 일반필드 장 에 기재된, P_NEXT_URL 로 인증결과를 전달합니다. 이때 이니페이모바일TM 에서 P_NEXT_URL 로 전달하는 Parameter 는 하기와 같습니다.
P_STATUS : 인증상태 : 성공시 00, 그 외 실패
P_RMESG1 : 결과메시지
P_TID : 인증거래번호 : Char(40) / 성공시에만 반환
P_REQ_URL : 승인요청 Url
가맹점에서 이니페이모바일로 승인요청을 할 때, 사용되는 Url 입니다.
거래 건 마다 상이한 URL 이 전달됩니다.
따라서, 절대 고정하여 사용하지 마십시오.
Http Scheme 은 https 를 사용합니다.
P_NOTI : 기타주문정보
최초 거래시 주문정보에 P_NOTI 를 설정하셨다면, 그 값을 전달받을 수 있습니다.
step3_pay_action.php 내용을 이니시스에서 제공한 mx_rnoti.php 내용을 참고해서 수정
// [▨ 6], 결제성공여부 구분 (필수)
if($succ_pay_code =='00'){// 결제 성공시
를 아래와 같이 변경
// [▨ 6], 결제성공여부 구분 (필수)
if($_REQUEST[P_STATUS] =='00'){// 결제 성공시 // 해피정닷컴
//if($succ_pay_code =='00'){// 결제 성공시
$mysql_host = "호스트주소";
$mysql_user = "디비아이디";
$mysql_db = "디비네임";
$mysql_password = "디비비밀번호";
$dbconn = mysql_connect("$mysql_host","$mysql_user","$mysql_password") or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db, $dbconn);
$PGsql = "select * from a_tn4_shop1_ord where od_uid='".$_REQUEST[P_NOTI]."' ";
$PGresult = mysql_query($PGsql);
$PGdata = mysql_fetch_array($PGresult);
$PGsql = "update a_tn4_shop1_ord set "; // 주문정보 table
$PGsql.=" od_pay_sta='1', "; // 입금확인=1
$PGsql.=" od_snd_sta='1', "; // 입금확인=1
$PGsql.=" od_pay_code1='00', "; // 결제성공=0
$PGsql.=" od_pay_fnd='".$PGdata[od_sum_prc]."', "; // 결제금액
$PGsql.=" od_pay_true='1', "; //
$PGsql.=" od_pay_code2='".$_REQUEST[P_TID]."' "; // 거래번호
$PGsql.=" where od_uid='".$_REQUEST[P_NOTI]."' "; // 주문번호
$PGresult = mysql_query($PGsql);
//if(!$PGresult) die(mysql_error());
<meta http-equiv=”Content-Type” content=”text/html;charset=euc-kr”/>
<script>
function formSubmit(){
document.getElementById(“form1”).submit();
}
</script>
<form id=”form1” name=”form1” method=”post” action=”지불수단URL”>
<input type=”hidden” name=”P_GOODS” value=”테스트상품” />
<input type=”hidden” name=”P_MID” value=”상점아이디” />
<input type=”hidden” name=”P_AMT” value=”상품가격” />
<input type=”hidden” name=”P_OID” value=”5124213” />
<input type=”hidden” name=”P_EMAIL” value=”abc@abc.com” />
<input type=”hidden” name=”P_UNAME” value=”구매자명” />
<input type=”hidden” name=”P_NOTI_URL” value=”https://가맹점 Noti_Url” /><!-- 1 Transaction 방식 -->
<input type=”hidden” name=”P_RETURN_URL” value=”https://가맹점 Return_Url” /><!-- only 2 Transaction 방식 -->
<input type="hidden" name="P_NOTI" value="주문번호"><!--P_NOTI ... 주문번호로 사용 // 해피정닷컴 -->
2. 인증결과수신
2 Transaction 거래의 경우, “1-2. 결제창 Open (주문정보 전달) – 접속 주소 및 일반필드 장 에 기재된, P_NEXT_URL 로 인증결과를 전달합니다. 이때 이니페이모바일TM 에서 P_NEXT_URL 로 전달하는 Parameter 는 하기와 같습니다.
P_STATUS : 인증상태 : 성공시 00, 그 외 실패
P_RMESG1 : 결과메시지
P_TID : 인증거래번호 : Char(40) / 성공시에만 반환
P_REQ_URL : 승인요청 Url
가맹점에서 이니페이모바일로 승인요청을 할 때, 사용되는 Url 입니다.
거래 건 마다 상이한 URL 이 전달됩니다.
따라서, 절대 고정하여 사용하지 마십시오.
Http Scheme 은 https 를 사용합니다.
P_NOTI : 기타주문정보
최초 거래시 주문정보에 P_NOTI 를 설정하셨다면, 그 값을 전달받을 수 있습니다.
step3_pay_action.php 내용을 이니시스에서 제공한 mx_rnoti.php 내용을 참고해서 수정
// [▨ 6], 결제성공여부 구분 (필수)
if($succ_pay_code =='00'){// 결제 성공시
를 아래와 같이 변경
// [▨ 6], 결제성공여부 구분 (필수)
if($_REQUEST[P_STATUS] =='00'){// 결제 성공시 // 해피정닷컴
//if($succ_pay_code =='00'){// 결제 성공시
$mysql_host = "호스트주소";
$mysql_user = "디비아이디";
$mysql_db = "디비네임";
$mysql_password = "디비비밀번호";
$dbconn = mysql_connect("$mysql_host","$mysql_user","$mysql_password") or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db, $dbconn);
$PGsql = "select * from a_tn4_shop1_ord where od_uid='".$_REQUEST[P_NOTI]."' ";
$PGresult = mysql_query($PGsql);
$PGdata = mysql_fetch_array($PGresult);
$PGsql = "update a_tn4_shop1_ord set "; // 주문정보 table
$PGsql.=" od_pay_sta='1', "; // 입금확인=1
$PGsql.=" od_snd_sta='1', "; // 입금확인=1
$PGsql.=" od_pay_code1='00', "; // 결제성공=0
$PGsql.=" od_pay_fnd='".$PGdata[od_sum_prc]."', "; // 결제금액
$PGsql.=" od_pay_true='1', "; //
$PGsql.=" od_pay_code2='".$_REQUEST[P_TID]."' "; // 거래번호
$PGsql.=" where od_uid='".$_REQUEST[P_NOTI]."' "; // 주문번호
$PGresult = mysql_query($PGsql);
//if(!$PGresult) die(mysql_error());
댓글목록
등록된 댓글이 없습니다.