모바일 자동결제(빌링) 카드등록만 할 때 returnurl 오류
모바일에서 자동결제(빌링) 에서 카드등록하는 부분만 따로 구현하려고 합니다.
PC 버전에서 카드등록 부분만 구현했을 때 아무 문제없이 등록이 되어 모바일도 동일한 방법으로 구현했는데 인증번호 발송 후 returnurl에서
3000라고만 뜨고 진행되는 부분이 없습니다.
카드등록 후 바로 결제되는 자동결제 부분에서도 같은 returnurl을 사용하는데 거기선 빌링키 발급까지 되지만 $LGD_CARDNUM이 저장되지 않습니다.
(실거래 계정입니다)
혹시 어떤게 문제인지 알 수 있을까요?

21 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
XPAY 로 연동하신건가요?
네 맞습니다!
XPAY 는 모바일과 PC 가 따로 있습니다.
모바일용 빌링 결제 모듈로 연동해 주셔야 합니다.
모바일용 빌링 결제 모듈로 연동했는데 저렇게 뜨네요!
상점아이디 알려주시겠어요?
theuf 입니다
지금 결제가 발생하는 거래들은 PC 에서 하신건가요?
빌링키 발급 후 결제는 문제가 없으신거고
모바일에서 빌링키 발급만 인거죠? xpay 를 사용중이시고
xpay 빌링키 발급 가이드인데요 이걸 보고 계신건지 확인한번 해주세요
https://docs.google.com/document/d/1rtpyF15JBRCu-FJMFI2IiVUpEYpDHXd1G-AA37eNZvc/edit?usp=drive_link
Google Docs
XPAY[MOBILE]통합결제창-카드빌링_v.1.0.3
Xpay-MOBILE-통합결제창-카드빌링결제 Protocol and Core Function Specification Version 1.0.3 2022.09 목차 XPay 연동 샘플 파일 구조 3 XPay 빌링 서비스 파라미터 5 ▪ 빌링인증창 호출 요청 파라미터 5 ▪ 빌링인증창 인증 응답 파라미터 6 ▪ 결제 승인 요청 파라미터 6 ▪ ...
네 보통 모바일 보다는 PC 거래가 많긴 합니다.
250512130422244 제가 확인했을 때 해당 주문번호가 모바일 자동결제(빌링) 사용한 것으로 파악됩니다.
네 보내주신 가이드 보고 구현했습니다!
returnURL 쪽을 모바일코드로 구현 안하신것 같아요.
모바일 코드면 저기서 다른페이지로 이동해야 합니다.
혹시 바로 결제를 진행하시나요?
빌링키를 받고 결제 진행하실때 발생하신거라면 에러 메시지를 받으셨을겁니다.
계좌잔액부족 또는 해지계좌
로 에러 발생한 것으로 보이는데요.
상품 결제하는 화면 상에선 카드등록 후 바로 결제 진행되고, 카드등록만 할 수 있는 화면을 따로 뺐습니다. returnurl은 동일한 코드입니다.
해당 에러 발생한 것은 상품 결제하는 화면에서도 혹시 정보가 안들어오는지 확인차 해본 것입니다!
카드등록만 할 수 있게 빼놓은 화면에서 카드등록 하려고 할 때 화면에 3000 이라고 뜹니다.
테스트 상점을 사용하시나요?
라이브에서는 theuf 에서 3000 에러는 제가 말씀드린 1건만 확인이 되서요.
라이브 입니다!
혹시 3000에러가 계좌잔액부족 또는 해지계좌 오류랑 같은걸까요?
네 보통 그렇습니다. 혹시 3000 이라고 표시된 페이지의 URL 을 알수 있을까요?
<?php
/*
payreq_crossplatform 에서 세션에 저장했던 파라미터 값이 유효한지 체크
세션 유지 시간(로그인 유지시간)을 적당히 유지 하거나 세션을 사용하지 않는 경우 DB처리 하시기 바랍니다.
*/
?>
<html>
<head>
<script type="text/javascript">
function setLGDResult() {
document.getElementById('LGD_PAYINFO').submit();
}
</script>
</head>
<body onload="setLGDResult()">
<?php
$LGD_RESPCODE = $_REQUEST['LGD_RESPCODE'];
$LGD_RESPMSG = $_REQUEST['LGD_RESPMSG'];
$LGD_BILLKEY = "";
if($LGD_RESPCODE == "0000"){
$LGD_BILLKEY = $_REQUEST['LGD_BILLKEY'];
?>
<form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action="SmartXpay_CardBillingAuth_payres.php">
<input type="hidden" id="LGD_RESPCODE" name="LGD_RESPCODE" value="<?= $LGD_RESPCODE ?>"/>
<input type="hidden" id="LGD_RESPMSG" name="LGD_RESPMSG" value="<?= $LGD_RESPMSG ?>"/>
<input type="hidden" id="LGD_BILLKEY" name="LGD_BILLKEY" value="<?= $LGD_PAYKEY ?>"/>
</form>
<?php
}
else{
echo "LGD_RESPCODE:" + $LGD_RESPCODE + " ,LGD_RESPMSG:" + $LGD_RESPMSG; //인증 실패에 대한 처리 로직 추가
}
?>
</body>
</html>
이런식으로 구현되어 있는지 확인부탁드립니다.
저 내용으로 봐서는 여기에서 form 전송이 안되고 있는것 처럼 보입니다.혹시 이렇게 되면 PC 코드로 구현된걸까요?
네 PC 코드로 구현하셨네요.
제가 보내드린 파일로 내용 변경부탁드립니다.
네 확인 감사합니다!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.