ryanman
ryanman4d ago

주문할때 구매자아이디를 넘기고 싶습니다

SDK 방식으로 (js.tosspayments.com/v2/standard) 버전2 로 결제를 처리하고 있는데 구매자 아이디가 필요할때가 있습니다. 이메일,이름은 같아도 구매자 아이디가 다른 경우를 조회 하려면 구매자 아이디를 넘겨야 할것 같은데 테스트에서 확인해보면 구매자아이디 확인시 orderId 와 같게 되어 있습니다. 그리고 추가적으로 브랜드페이를 쓰고 있는 SDK를 같이 써야 하는 경우 스크립트 충돌이 납니다.
50 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(문제가 발생한 이미지나 전체 결제흐름 동영상을 첨부해주시면 빠른 분석을 받으실 수 있습니다.)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee4d ago
브랜드페이도 v2 를 사용하시거나 일반결제를 브랜드페이와 같이 v1 으로 사용하셔야 합니다.
구매자아이디 확인시 orderId 와 같게 되어 있습니다.
라고 하셨는데 주문번호 알려주세요.
ryanman
ryanmanOP4d ago
swpiak_1764298916592 구매자 아이디를 넘길 방법은 없는건가요? 답변이 힘든 내용인가요?
Kimoon Lee
Kimoon Lee4d ago
주문일자가 언제이신가요?
ryanman
ryanmanOP4d ago
테스트 주문이구요 11월 28일입니다 근데 주문번호가 중요한가요? 저는 구매자 아이디를 넘기는 방법을 문의 중인건데
Kimoon Lee
Kimoon Lee4d ago
,"customerId":"swpiak_1764298916592" 네 제가 어떻게 주문을 요청하신지를 봐야 구매자아이디 확인시 orderId 와 같은지를 확인할수 있어서요. customerId 가 구매자 아이디인데요. 이값을 주문번호와 동일한 값으로 넘겨주셨습니다. 구매자 ID 파라미터에 왜 주문번호를 넣으셨는지 내부에서 확인해 보시면 될것 같아요.
ryanman
ryanmanOP4d ago
customerId를 넘긴적이 없습니다.
Kimoon Lee
Kimoon Lee4d ago
{"easyPay":"KAKAOPAY","useEscrow":false,"flowMode":"DIRECT","useCardPoint":false,"useAppCardOnly":false,"orderId":"swpiak_1764298916592","orderName":"샘플북","successUrl":"http://dev-m.adpiamall.com/modules/api/common/openpay/returnurl.php?action=confirm","failUrl":"http://dev-m.adpiamall.com/modules/api/common/openpay/returnurl.php?action=fail","customerEmail":"uju@swadpia.co.kr","customerName":"홍길동","customerMobilePhone":"01012364568","windowTarget":"self","customerId":"swpiak_1764298916592","amount":2200,"currency":"KRW","methodType":"CARD" 해당 주문에 대해 저희 로그에 남아있는 내용입니다.
ryanman
ryanmanOP4d ago
토스페이먼츠 JavaScript SDK | 토스페이먼츠 개발자센터
토스페이먼츠 JavaScript SDK를 추가하고 메서드를 사용하는 방법을 알아봅니다.
ryanman
ryanmanOP4d ago
여기에는 customerId를 파라메터에 대한 내용이 없습니다.
Kimoon Lee
Kimoon Lee4d ago
customerId 는 지금 히든 파라미터로 제공하고있습니다. 그래서 문서에는 없구요.
ryanman
ryanmanOP4d ago
그럼 히든 파라미터 정보는 어디서 보나요?
Kimoon Lee
Kimoon Lee4d ago
아마 이전 담당자께서 저희쪽에 문의해서 저희가 알려드린것 같아요. 히든이다 보니 별도로 문서는 없습니다. 필요하다고 문의하신 곳에만 안내드리고 있어요.
ryanman
ryanmanOP4d ago
들은적이 없는데요
Kimoon Lee
Kimoon Lee4d ago
내부에서 내용을 안내받으신 분이 계시니까 저렇게 값을 보내주고 계실겁니다.
ryanman
ryanmanOP4d ago
일단 customerId 도 안됩니다. 그리고 제가 담당 개발자인데 내용을 안내 받은적이 없습니다.
Kimoon Lee
Kimoon Lee4d ago
토스페이먼츠 연동을 직접하셨나요/
ryanman
ryanmanOP4d ago
Kimoon Lee
Kimoon Lee4d ago
그럼 결제창 요청은 직접 구현하신거죠?
ryanman
ryanmanOP4d ago
Kimoon Lee
Kimoon Lee4d ago
customerId 가 코드에 있으신가요? 아니면 코드에 없는데 저희쪽으로 자동으로 전달되는 건가요? 아니면 customerkey 값을 보내시는지 확인부탁드립니다.
ryanman
ryanmanOP4d ago
방금 해당 필드로 들어간다고 해서 결제 요청을 했는데 정의되지 않은 파라메터라는데요
Kimoon Lee
Kimoon Lee4d ago
v2 결제창 사용하시는거죠?
ryanman
ryanmanOP4d ago
네 질문에 이미 그렇게 썼는데요
Kimoon Lee
Kimoon Lee4d ago
네 문의하시는 가맹점이 xPAY 부터 다양한 연동방식을 사용하시던 곳이라서 착각을 했네요..
ryanman
ryanmanOP4d ago
저희 질문을 제대로 안 보시는것 같은데?
Kimoon Lee
Kimoon Lee4d ago
네 제가 착각하고 답변을 드렸네요.
Kimoon Lee
Kimoon Lee4d ago
No description
Kimoon Lee
Kimoon Lee4d ago
여기에 들어가는 customerkey 값이 사용자 ID 로 쓰입니다.
ryanman
ryanmanOP4d ago
payment.requestPayment 씁니다.
Kimoon Lee
Kimoon Lee4d ago
그것 호출하시기 전에 저 초기화 코드가 있으실겁니다. 그 초기화 코드에 customerkey 값으로 주문번호를 넣으시는게 아닌가 싶어요.
ryanman
ryanmanOP4d ago
const tossPayments = TossPayments(clientKey); const payment = tossPayments.payment({ customerKey: fullOrderData.mem_id }); // 현재 파일(payment.html)을 콜백으로 재사용 // action=callback 파라미터를 붙여서 자기 자신에게 돌아오게 함 const callbackUrl = window.location.origin + window.location.pathname + "?action=callback"; try { await payment.requestPayment({ method: 'CARD', amount: { currency: "KRW", value: amount }, orderId: customerKey, orderName: orderName, successUrl: callbackUrl, // 성공 시 다시 이 파일로 (action=callback) failUrl: callbackUrl, // 실패 시 다시 이 파일로 card: baseInfo, customerEmail: fullOrderData.mem_email, customerName: fullOrderData.mem_name, customerMobilePhone: fullOrderData.mem_mobile_1 + fullOrderData.mem_mobile_2 + fullOrderData.mem_mobile_3, windowTarget: 'self' }); } catch (error) { console.error(error); alert("결제 요청 중 오류: " + error.message); window.close(); } 여기에서 위에 customerKey가 구매자아이디라는 이야기네요
Kimoon Lee
Kimoon Lee4d ago
네 지금 여기 에 전달되는 값이 구매자 ID 로 저장됩니다. customerKey: fullOrderData.mem_id
ryanman
ryanmanOP4d ago
추가적인 질문으로 한 브랜드 페이를 쓰고 있는 상황에서 결제창SDK를 호출하는 경우 브랜드페이를 쓸수 없나요?
이실장
이실장4d ago
아니요 사용가능합니다. 다만 v1/v2 sdk는 혼합사용이 불가해서, 1개 버전으로만 통일해주심 좋아요
ryanman
ryanmanOP4d ago
감사합니다. 하나더 질문이 있는데요 카드 정보를 받아오는데 issuerCode 와 acquirerCode 가 다르게 나옵니다. 롯데카드로 결제했는데 카드 발급사(issuerCode )는 정상적으로 롯데카드 코드가 넘어오는데 매입사(acquirerCode) 코드는 현대카드 코드로 넘어오네요
Kimoon Lee
Kimoon Lee4d ago
브랜드페이 테스트 환경에서는 더미 응답이 내려가서 그럴수 있는데요. 브랜드페이 테스트 결제건인지 확ㅇ니부탁드립니다.
ryanman
ryanmanOP4d ago
SDK 방식입니다.
이실장
이실장4d ago
네 api키를 테스트키로 했는지 확인가능할까요? 테스트키는 더미 데이터로 내려가서요 라이브키로 하셨을 경우에는 customerKey랑 mid알려주세요
ryanman
ryanmanOP4d ago
테스트키로 했습니다. 테스트키로 할때는 실 결제 카드가 아닌 다른 카드 코드로 넘어오는건가요?
이실장
이실장4d ago
네 브랜드페이 결제수단 정보는 더미데이터로 응답이 내려가요 실제 데이터는 라이브키로 테스트해주시기 바랍니다.
ryanman
ryanmanOP4d ago
issuerCode 는 올바른데 acquirerCode 는 다른것이 맞는건지요?
이실장
이실장4d ago
그것도 항상 보장 되지 않을 수 있습니다. 라이브키로 검증해주시면 좋을 것 같아요
ryanman
ryanmanOP4d ago
그리고 브랜드페이가 아니라 SDK로 결제 테스트 중입니다.
이실장
이실장4d ago
주문번호 말씀해주시겠어요?
ryanman
ryanmanOP4d ago
swpiak_1764659905798 모든 질문은 테스트키로 하고 있습니다. 사용하는 결제모듈은 SDK 버전 2기준이구요 지금 확인해보니 issuerCode 는 71, acquirerCode 는 61로 넘어옵니다. 실제 결제에 사용한 카드는 롯데카드입니다. api 사용하는 버전 기준으로는 최신 버전인데 직전 버전은 카드명이 넘어오고 있는데 이건 어떤 코드 기준인가요?
Kimoon Lee
Kimoon Lee4d ago
네 테스트 환경에서는 정확한 값이 내려가지 않고 있습니다.
ryanman
ryanmanOP4d ago
이전 버전까지는 카드명은 매입사 기준으로 주셨나요?
Kimoon Lee
Kimoon Lee4d ago
이전버전 카드명은 발급사 기준으로 나갔습니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?