카카오페이 복합과세 적용

This commit is contained in:
chicpro
2015-09-21 17:28:35 +09:00
parent 3d78ef9d14
commit 72a4046127
9 changed files with 57 additions and 33 deletions

View File

@ -49,12 +49,10 @@ $od_misu = abs($od['od_misu']);
<th scope="row"><label for="mod_tax_mny">과세 취소금액</label></th>
<td><input type="text" name="mod_tax_mny" value="" id="mod_tax_mny" class="frm_input"> 원</td>
</tr>
<?php if($od['od_pg'] != 'KAKAOPAY') { ?>
<tr>
<th scope="row"><label for="mod_free_mny">비과세 취소금액</label></th>
<td><input type="text" name="mod_free_mny" value="" id="mod_free_mny" class="frm_input"> 원</td>
</tr>
<?php } ?>
<tr>
<th scope="row"><label for="mod_memo">요청사유</label></th>
<td><input type="text" name="mod_memo" id="mod_memo" required class="required frm_input" size="50"></td>

View File

@ -1174,6 +1174,10 @@ function pay_approval()
// 카카오페이 지불
if(settle_method == "KAKAOPAY") {
<?php if($default['de_tax_flag_use']) { ?>
pf.SupplyAmt.value = parseInt(pf.comm_tax_mny.value) + parseInt(pf.comm_free_mny.value);
pf.GoodsVat.value = parseInt(pf.comm_vat_mny.value);
<?php } ?>
pf.good_mny.value = f.good_mny.value;
getTxnId(pf);
return false;

View File

@ -485,7 +485,7 @@ if($escw_yn == 'Y')
$od_tax_mny = round($i_price / 1.1);
$od_vat_mny = $i_price - $od_tax_mny;
$od_free_mny = 0;
if($default['de_tax_flag_use'] && $od_pg != 'KAKAOPAY') {
if($default['de_tax_flag_use']) {
$od_tax_mny = (int)$_POST['comm_tax_mny'];
$od_vat_mny = (int)$_POST['comm_vat_mny'];
$od_free_mny = (int)$_POST['comm_free_mny'];
@ -513,9 +513,6 @@ $od_memo = clean_xss_tags($od_memo);
$od_deposit_name = clean_xss_tags($od_deposit_name);
$od_tax_flag = $default['de_tax_flag_use'];
if($od_tax_flag && $od_pg == 'KAKAOPAY')
$od_tax_flag = 0;
// 주문서에 입력
$sql = " insert {$g5['g5_shop_order_table']}
set od_id = '$od_id',

View File

@ -5,15 +5,15 @@ if($od['od_pg'] != 'inicis') return;
include_once(G5_SHOP_PATH.'/settle_inicis.inc.php');
$od_tax_mny = round((int)$mod_tax_mny / 1.1);
$vat_mny = round((int)$tax_mny / 1.1);
$currency = 'WON';
$oldtid = $od['od_tno'];
$price = (int)$mod_tax_mny + (int)$mod_free_mny;
$price = (int)$tax_mny + (int)$free_mny;
$confirm_price = (int)$od['od_receipt_price'] - (int)$od['od_refund_price'] - $price;
$buyeremail = $od['od_email'];
$tax = (int)$mod_tax_mny - $od_tax_mny;
$taxfree = (int)$mod_free_mny;
$tax = (int)$tax_mny - $vat_mny;
$taxfree = (int)$free_mny;
/***********************
* 3. 재승인 정보 설정 *

View File

@ -18,30 +18,37 @@ $kmFunc = new kmpayFunc($LogDir);
$kmFunc->setPhpVersion($phpVersion);
// TXN_ID를 요청하기 위한 PARAMETERR
$REQUESTDEALAPPROVEURL = KMPayRequest("requestDealApproveUrl"); //인증 요청 경로
$PR_TYPE = KMPayRequest("prType"); //결제 요청 타입
$MERCHANT_ID = KMPayRequest("MID"); //가맹점 ID
$MERCHANT_TXN_NUM = KMPayRequest("merchantTxnNum"); //가맹점 거래번호
$REQUESTDEALAPPROVEURL = KMPayRequest("requestDealApproveUrl"); //인증 요청 경로
$PR_TYPE = KMPayRequest("prType"); //결제 요청 타입
$MERCHANT_ID = KMPayRequest("MID"); //가맹점 ID
$MERCHANT_TXN_NUM = KMPayRequest("merchantTxnNum"); //가맹점 거래번호
$channelType = KMPayRequest("channelType");
$PRODUCT_NAME = KMPayRequest("GoodsName"); //상품명
$AMOUNT = KMPayRequest("Amt"); //상품금액(총거래금액) (총거래금액 = 공급가액 + 부가세 + 봉사료)
$PRODUCT_NAME = KMPayRequest("GoodsName"); //상품명
$AMOUNT = KMPayRequest("Amt"); //상품금액(총거래금액) (총거래금액 = 공급가액 + 부가세 + 봉사료)
$CURRENCY = KMPayRequest("currency"); //거래통화(KRW/USD/JPY 등)
$RETURN_URL = KMPayRequest("returnUrl"); //결제승인결과전송URL
$CERTIFIED_FLAG = KMPayRequest("CERTIFIED_FLAG"); //가맹점 인증 구분값 ("N","NC")
$CURRENCY = KMPayRequest("currency"); //거래통화(KRW/USD/JPY 등)
$RETURN_URL = KMPayRequest("returnUrl"); //결제승인결과전송URL
$CERTIFIED_FLAG = KMPayRequest("CERTIFIED_FLAG"); //가맹점 인증 구분값 ("N","NC")
$OFFER_PERIOD_FLAG = KMPayRequest("OFFER_PERIOD_FLAG"); //상품제공기간 플래그
$OFFER_PERIOD = KMPayRequest("OFFER_PERIOD"); //상품제공기간
$OFFER_PERIOD_FLAG = KMPayRequest("OFFER_PERIOD_FLAG"); //상품제공기간 플래그
$OFFER_PERIOD = KMPayRequest("OFFER_PERIOD"); //상품제공기간
//무이자옵션
$NOINTYN = KMPayRequest("noIntYN"); //무이자 설정
$NOINTOPT = KMPayRequest("noIntOpt"); //무이자 옵션
$MAX_INT =KMPayRequest("maxInt"); //최대할부개월
$FIXEDINT = KMPayRequest("fixedInt"); //고정할부개월
$POINT_USE_YN = KMPayRequest("pointUseYn"); //카드사포인트사용여부
$POSSICARD = KMPayRequest("possiCard"); //결제가능카드설정
$BLOCK_CARD = KMPayRequest("blockCard"); //금지카드설정
$NOINTYN = KMPayRequest("noIntYN"); //무이자 설정
$NOINTOPT = KMPayRequest("noIntOpt"); //무이자 옵션
$MAX_INT =KMPayRequest("maxInt"); //최대할부개월
$FIXEDINT = KMPayRequest("fixedInt"); //고정할부개월
$POINT_USE_YN = KMPayRequest("pointUseYn"); //카드사포인트사용여부
$POSSICARD = KMPayRequest("possiCard"); //결제가능카드설정
$BLOCK_CARD = KMPayRequest("blockCard"); //금지카드설정
// 복합과세
if($default['de_tax_flag_use']) {
$SUPPLY_AMT = KMPayRequest("SupplyAmt"); // 공급가액
$GOODS_VAT = KMPayRequest("GoodsVat"); // 부가가치세
$SERVICE_AMT = KMPayRequest("ServiceAmt"); // 봉사료
}
// ENC KEY와 HASH KEY는 가맹점에서 생성한 KEY 로 SETTING 한다.
$merchantEncKey = KMPayRequest("merchantEncKey");
@ -77,6 +84,13 @@ $strJsonString->setValue("POINT_USE_YN", $POINT_USE_YN);
$strJsonString->setValue("POSSI_CARD", $POSSICARD);
$strJsonString->setValue("BLOCK_CARD", $BLOCK_CARD);
// 복합과세
if($default['de_tax_flag_use']) {
$strJsonString->setValue("SUPPLY_AMT", $SUPPLY_AMT);
$strJsonString->setValue("GOODS_VAT", $GOODS_VAT);
$strJsonString->setValue("SERVICE_AMT", $SERVICE_AMT);
}
$strJsonString->setValue("PAYMENT_HASH", $payHash);
// 결과값을 담는 부분

View File

@ -26,6 +26,11 @@ if($is_kakaopay_use) {
<input type="hidden" name="NON_REP_TOKEN" value="">
<input type="hidden" name="EdiDate" value="<?php echo($ediDate); ?>">
<input type="hidden" name="EncryptData" value="">
<?php if($default['de_tax_flag_use']) { ?>
<input type="hidden" name="SupplyAmt" value="<?php echo ((int)$comm_tax_mny + (int)$comm_free_mny); ?>">
<input type="hidden" name="GoodsVat" value="<?php echo $comm_vat_mny; ?>">
<input type="hidden" name="ServiceAmt" value="0">
<?php } ?>
</div>
<?php

View File

@ -9,13 +9,18 @@ include_once(G5_SHOP_PATH.'/kakaopay/incKakaopayCommon.php');
include_once(G5_SHOP_PATH.'/kakaopay/lgcns_CNSpay.php');
$CancelNo = (int)$od['od_casseqno'] + 1;
$vat_mny = round((int)$tax_mny / 1.1);
$_REQUEST['TID'] = $od['od_tno'];
$_REQUEST['Amt'] = (int)$tax_mny;
$_REQUEST['Amt'] = (int)$tax_mny + (int)$free_mny;
$_REQUEST['CancelMsg'] = $mod_memo;
$_REQUEST['PartialCancelCode'] = 1;
$_REQUEST['CheckRemainAmt'] = (int)$od['od_receipt_price'] - (int)$od['od_refund_price'];
$_REQUEST['CancelNo'] = $CancelNo;
$_REQUEST['SupplyAmt'] = ((int)$tax_mny + (int)$free_mny - $vat_mny);
$_REQUEST['GoodsVat'] = $vat_mny;
$_REQUEST['ServiceAmt'] = 0;
// 로그 저장 위치 지정
$connector = new CnsPayWebConnector($LogDir);

View File

@ -1295,6 +1295,10 @@ function forderform_check(f)
// 카카오페이 지불
if(settle_method == "KAKAOPAY") {
<?php if($default['de_tax_flag_use']) { ?>
f.SupplyAmt.value = parseInt(f.comm_tax_mny.value) + parseInt(f.comm_free_mny.value);
f.GoodsVat.value = parseInt(f.comm_vat_mny.value);
<?php } ?>
getTxnId(f);
return false;
}

View File

@ -470,7 +470,7 @@ if($escw_yn == 'Y')
$od_tax_mny = round($i_price / 1.1);
$od_vat_mny = $i_price - $od_tax_mny;
$od_free_mny = 0;
if($default['de_tax_flag_use'] && $od_pg != 'KAKAOPAY') {
if($default['de_tax_flag_use']) {
$od_tax_mny = (int)$_POST['comm_tax_mny'];
$od_vat_mny = (int)$_POST['comm_vat_mny'];
$od_free_mny = (int)$_POST['comm_free_mny'];
@ -498,9 +498,6 @@ $od_memo = clean_xss_tags($od_memo);
$od_deposit_name = clean_xss_tags($od_deposit_name);
$od_tax_flag = $default['de_tax_flag_use'];
if($od_tax_flag && $od_pg == 'KAKAOPAY')
$od_tax_flag = 0;
// 주문서에 입력
$sql = " insert {$g5['g5_shop_order_table']}
set od_id = '$od_id',