카카오페이를 연동중인데 테스트 키로 결제를 테스트할때에는 서비스를 이용할수 없나요?
그리고, 아래와 같은 화면이 떴을때 닫기 버튼을 누르면 저희쪽 페이지로 가지 않고 토스페이먼츠쪽 페이지로 넘어갑니다.
SPA방식의 사이트를 운영중이며 Promise 방식으로 처리중이긴 한데 이런 오류나 장애시에 페이지 이동 없이 동일 화면에서 해당 결제창을 닫을수 있는 방법이 있나요?
18 Replies
UI 가 모바일뷰로 보이는데요 PC에서 모바일로 User Agent 를 넘기시나요?
모바일결제시에는 promise 를 사용할수 없습니다(PC만 지원)
let cardinfo = {
easyPay : 'KAKAOPAY',
useEscrow: false,
flowMode: "DIRECT",
useCardPoint: false,
useAppCardOnly: false,
}
const response = await payment.requestPayment({
method: "CARD", // 카드 및 간편결제
amount: {
currency: "KRW",
value: easypaydata.LGD_AMOUNT,
},
orderId: customerKey,
orderName: easypaydata.LGD_PRODUCTINFO,
customerEmail: easypaydata.LGD_BUYEREMAIL,
customerName: easypaydata.LGD_BUYER,
customerMobilePhone: easypaydata.LGD_PHONE,
card: cardinfo,
});
const { amount, paymentKey, orderId } = response;
await this.createOrder(easypaydata.LGD_PAYMETHOD, orderId, paymentKey, amount.value); 현재 사용하고 있는 코드입니다.
토스페이를 이용할때는 테스트 계정으로 결제가 잘 되고 있습니다.
현재 테스트중하는 환경은 PC 입니다.
카카오페이는 계약한 상점아이디의 테스트키를 사용하셔야하는데요

clientKey 를 어떤값을 사용하셨나요?
api 용 클라이언트키를 이용합니다.
상점아이디도 알려주세요
adpiamall 입니다
test_ck_mnRQoO 이렇게 시작하는 키를 사용하신거죠?
네
테스트키 싱크작업을 지금 해놓았어요 다시 확인해보시겠어요?
네 이제 정상적으로 됩니다.
그런데 추가적인 질문으로 한 오류시 닫기 버튼 누를때 처리 방법이 궁금합니다.
닫기버튼 누르면 failUrl 로 리다이렉트 될거에요
promise 방식에서는 failurl를 사용하지 않아서요
그럼 catch 로 정의해주셔야해요
모바일에서는 promise를 사용할수 없다면 페이지가 PC와 모바일 둘다 작동해야 하는 구조라면 리다이렉트를 사용해야 하나요?
네 맞습니다
무조건 중간에 거쳐가는 페이지가 있어야 하는군요
네