결제 위젯 요청시 웹뷰 빈화면
최근 해외결제가 가능한 신규 MID를 발급받아 clientkey를 교체하여 결제 위젯을 호출하면 첨부한 이미지와 같이 결제 화면이 빈화면으로 표기됩니다. 물론 기존 Mid clientkey로 진행시 정상 표기됩니다. 혹시 신규 mid의 경우 결제 위젯창을 정상적으로 확인하려면 따른 설정을 진행해야하는게 있을까요?
- 구 MID clientkey : test_ck_N5OWRapdA8.....
- 신규 MID clientkey : test_ck_Z61JOxRQVE9b.....

25 Replies
위 진행 결과로 아래 실패 메세지가 확인되었습니다.
[INFO:CONSOLE:38] "Unknown Error Error: 존재하지 않는 멀티 결제위젯입니다.", source: https://js.tosspayments.com/v1/payment-widget (38)
기존 구 mid 사용시에 ck를 사용했습니다만... 이 사용 자체가 잘못된 형태일까요? ^^; r기존에 ck로 적용된 형태로 아직도 잘 사용하고 있습니다만...
아, 네 그렇군요 ㅠ 추가로 신규키의 경우 해외 결제가 포함된 결제 UI 설정은 gck로 variantKey가 설정되어야하겠군요?
신규로 만든 상점에 대해 gck로 추가했지만 실제 연동시에 위와 같은 신규 설정한 결제 UI로 보이지 않고 구 결제 UI로 보이고 있습니다. 혹시 이런 경우에는 어떤 문제가 있을가요? 아니면 결제 위젯 반영시 시간이 조금 필요한지 궁금합니다.


네 가이드대로 진행했습니다만..
현재 사용중인 구 등록한 DEFAULT의 경우 정상적으로 설정한 UI로 나오고 배리언트키를 수정 못하도록 확정되어 설정되어 있습니다. 하지만 신규로 등록한 DEFAULT-NEW의 경우 배리언트키가 수정할수 있으며 설정한 결제 UI가 아닌 계속해서 구 결제 UI로 표기되는 문제가 있습니다. 혹시 추가로 설정해야하는 작업이 있을까요?



그리고 아래 코드와 같이 언어 설정은 영어로 한후 "useInternationalCardOnly"를 true로 설정하였지만 기존대로 한글로만 표기됩니다.
if (it.orderId != null && it.orderName != null) {
viewModel.resultLoading(true)
Timber.d("renderPayment PaymentInfo}")
val paymentInfo = PaymentMethod.PaymentInfo(it.orderId, it.orderName).apply {
customerName = it.userName
customerEmail = viewModel.email
// 다국어 결제창(해외 카드 전용) 설정
useInternationalCardOnly = true
}
paymentWidget.requestPayment(
paymentInfo,
object : PaymentCallback {
override fun onPaymentFailed(fail: TossPaymentResult.Fail) {
Timber.d("renderPayment onPaymentFailed() : ${fail.errorCode} ${fail.errorMessage}")
showToast(fail.errorMessage)
viewModel.resultLoading(false)
binding.buttonPayment.isEnabled = true
}
override fun onPaymentSuccess(success: TossPaymentResult.Success) {
Timber.d("renderPayment onPaymentSuccess()")
viewModel.requestApproval(success.paymentKey, success.orderId)
binding.buttonPayment.isEnabled = true
}
}
)
}
혹시 첨부한 이미지와 같이 상점 어드민에서 API 버전을 1.0으로 변경해야할까요? 현재는 2022-11-16입니다. 변경시 운영중인 결제에 문제가 발생하진 않는지 염려되네요 ㅠ

아니라면... 혹시 해외 결제 카드 심사가 진행중인데 이것과 연관이 있는지 궁금합니다.
일단 하나씩 확인해보시죠
mid알려주세요
넵
신규 mid : rn1apps21j 입니다.
지금기대와 다르게 렌더링되는 varinatKey와
렌더링된 캡처화면 보내ㅜㅈ세요
넵
variantKey: DEFAULT-NEW
입니다.

default-new로 한건 확실한거죠?
음.. 코드상에서 varientkey를 사용하지 않았습니다만...
아뇨 어딘가 있을거에요
아예 안보냈으면
DEFAULT가 될수도있고요
연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠의 간편한 결제 연동 과정을 한눈에 볼 수 있습니다. 각 단계별 설명과 함께 달라지는 UI와 코드를 확인해보세요.
여기 확인햊수에ㅛ
아 기존에 DEFAULT로 설정하고 안보내서 그럴수 있겠네요 ㅠ 다시 확인해보겠습니ㅏㄷ.
감사합니다. 위 설명대로 varientkey 전달하여 이제 의도한 신규 결제 UI 확인되었습니다.
하지만 useInternationalCardOnly를 true로 전달하였지만 영문으로 표기되지 않습니다. 물론 디바이스 및 앱 언어 설정을 영어로 지정된 상태입니다.
아래 관련 적용된 코드입니다.
원래 표기 안되요
useInternationalCardOnly는 해외카드일때만 동작합니다.
해외카드일때만 동작한다는게... 해외 카드용 위젯 설정일때를 말하는걸까요?
현재는 국내+해외카드 형태라 안되는게 맞구요?
바쁘시겠지만 조금만 자세히 설명해주시면 감사드리겠습니다

지금 한글로 뜬다고 하시는 부분이 이부분이시죠?
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
네 맞습니다 해당 화면은 영문 표기는 원래 없는 기능일까요?
네
국내결제수단은 어차피 원천사 화면에서 영어를 지원안합니다.