모바일 브라우저로 카드결제 및 가상계좌 처리시 promise로 하면 결제창이 뜨지 않습니다.
0. 테스트환경입니다.
1. 모바일 브라우저로 카드결제 및 가상계좌 결제시도
2. 결제창이 잘 뜨고 이상이 없는 pc버전과 소스가 똑같음
3. Promise로 응답을 처리함.
4. 그러므로, successUrl과 failUrl을 payment객체에 전달하지 않음.
5. 이러한 상태에서 모바일 브라우저로 결제버튼을 클릭하면 아무런 액션이 없음.
6. 그래서 Promise처리 상태에서 payment객체에 successUrl과 failUrl을 전달하면 결체창이 뜨지 않고 successUrl로 넘어가버립니다.
7. 확인부탁드립니다.
모바일 브라우저의 네트워크 logs보니
https://event.tosspayments.com/api/v1/logs를 post로 호출하는게 있는데 payload가 다음과 같습니다.
{"host":"localhost:5001","phase":"live","log_name":"payment_window::tosspayments_init","schema_id":1006096,"screen_name":"payment_window","log_type":"event","event_type":"background","event_name":"tosspayments_init","value":"xacdvxibqkg"}
6 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
모바일에서는 promise 를 지원하지 않습니다.
결론부터 말씀드리자면 Promise 방식은 모바일에서는 사용 불가능한게 맞습니다.
Promise를 만든 이유는 PC 버전만 사용하면서 + 페이지 이동 없이 결제 정보를 한번에 서버로 넘기고 싶은 가맹점들이 있어서 이 부분에 대한 편의를 제공하기 위해 만들어졌습니다.
Promise를 사용하고 싶은 가맹점은 어차피 PC 버전에서만 Promise를 사용할 수 있고 Mobile 버전에서는 redirect를 사용해야해요. 결국 둘 다 개발해야하는 불편한 지점은 저희쪽에서도 인지를 하고 있습니다.
그리고 docs 에 이에 대한 설명이 없어서 docs 에 조금 더 명확하게 표기를 할지는 테크니컬 라이터 분들이 고민해주고 계세요.
정확한 답변 감사드립니다. 배송지 정보 값을 함께 넘겨줄려고 하다보니 promise가 편할것 같아서 사용했는데 모바일은 어렵네요~~redirect로 다시 확인해보겠습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
모바일 브라우저에서 redirect로 하니 정상처리 되네요~~