
외부결제앱 호출이후 결제결과를 다시 메인앱으로 돌아와 처리될 수 있도록 하기위해~ “앱스킴”명이란 것을 결제호출 웹소스에 적용해주어야만 합니다. PG사마다 적용되는 웹소스가 차이가 있으니 적용된 PG사가 위의 타이틀과 맞는지 확인해주세요.
모바일앱에 적용되는 “앱스킴”명이 만약 “testapp” 이라고 한다면 아래처럼 적용이 되어야 합니다. (앱스킴명은 앱 제작시 이름을 안내드립니다.)
결제모듈 호출 웹소스의 form태그에 “AppUrl, userAgent” 이라는 input태그 변수에 값을 추가
<script>
$(document).ready(function () {
//앱스킴명 = testapp 인경우아래처럼 수정 (ua값을 체크하여 모바일앱인경우만 스킴명등 적용되게 함)
if (navigator.userAgent.toLowerCase().indexOf('iosapp') != -1) {
var interval_chk = setInterval(function () {
var AppUrlInput = document.getElementsByName("AppUrl")[0];
var userAgentInput = document.getElementsByName("userAgent")[0];
// 두 개의 input 태그가 모두 존재할 때만 처리
if (AppUrlInput && userAgentInput) {
AppUrlInput.value = 'testapp://'; // 앱스킴명 = testapp
userAgentInput.value = 'WM'; // 변경하면 안됨.
clearInterval(interval_chk); // 처리 후 반복 중단
console.log("결제 변수 세팅 완료");
}
}, 300); // 0.3초마다 체크
}
});
</script>
....
<!-- 결제 form태그 안에 아래 input태그를 확인하여 없다면 추가함. -->
<input type="hidden" name="AppUrl" value="">
<input type="hidden" name="userAgent" value="">