주문할때 구매자아이디를 넘기고 싶습니다
SDK 방식으로 (js.tosspayments.com/v2/standard) 버전2 로 결제를 처리하고 있는데 구매자 아이디가 필요할때가 있습니다.
이메일,이름은 같아도 구매자 아이디가 다른 경우를 조회 하려면 구매자 아이디를 넘겨야 할것 같은데 테스트에서 확인해보면
구매자아이디 확인시 orderId 와 같게 되어 있습니다.
그리고 추가적으로 브랜드페이를 쓰고 있는 SDK를 같이 써야 하는 경우 스크립트 충돌이 납니다.
50 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(문제가 발생한 이미지나 전체 결제흐름 동영상을 첨부해주시면 빠른 분석을 받으실 수 있습니다.)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
브랜드페이도 v2 를 사용하시거나 일반결제를 브랜드페이와 같이 v1 으로 사용하셔야 합니다.
구매자아이디 확인시 orderId 와 같게 되어 있습니다.라고 하셨는데 주문번호 알려주세요.
swpiak_1764298916592
구매자 아이디를 넘길 방법은 없는건가요?
답변이 힘든 내용인가요?
주문일자가 언제이신가요?
테스트 주문이구요 11월 28일입니다 근데 주문번호가 중요한가요?
저는 구매자 아이디를 넘기는 방법을 문의 중인건데
,"customerId":"swpiak_1764298916592"
네 제가 어떻게 주문을 요청하신지를 봐야 구매자아이디 확인시 orderId 와 같은지를 확인할수 있어서요.
customerId 가 구매자 아이디인데요.
이값을 주문번호와 동일한 값으로 넘겨주셨습니다.
구매자 ID 파라미터에 왜 주문번호를 넣으셨는지 내부에서 확인해 보시면 될것 같아요.
customerId를 넘긴적이 없습니다.
{"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"토스페이먼츠 JavaScript SDK | 토스페이먼츠 개발자센터
토스페이먼츠 JavaScript SDK를 추가하고 메서드를 사용하는 방법을 알아봅니다.
여기에는 customerId를 파라메터에 대한 내용이 없습니다.
customerId 는 지금 히든 파라미터로 제공하고있습니다.
그래서 문서에는 없구요.
그럼 히든 파라미터 정보는 어디서 보나요?
아마 이전 담당자께서 저희쪽에 문의해서 저희가 알려드린것 같아요.
히든이다 보니 별도로 문서는 없습니다. 필요하다고 문의하신 곳에만 안내드리고 있어요.
들은적이 없는데요
내부에서 내용을 안내받으신 분이 계시니까 저렇게 값을 보내주고 계실겁니다.
일단 customerId 도 안됩니다.
그리고 제가 담당 개발자인데 내용을 안내 받은적이 없습니다.
토스페이먼츠 연동을 직접하셨나요/
네
그럼 결제창 요청은 직접 구현하신거죠?
네
customerId 가 코드에 있으신가요?
아니면 코드에 없는데 저희쪽으로 자동으로 전달되는 건가요?
아니면 customerkey 값을 보내시는지 확인부탁드립니다.
방금 해당 필드로 들어간다고 해서 결제 요청을 했는데 정의되지 않은 파라메터라는데요
v2 결제창 사용하시는거죠?
네 질문에 이미 그렇게 썼는데요
네 문의하시는 가맹점이 xPAY 부터 다양한 연동방식을 사용하시던 곳이라서 착각을 했네요..
저희 질문을 제대로 안 보시는것 같은데?
네 제가 착각하고 답변을 드렸네요.

여기에 들어가는 customerkey 값이 사용자 ID 로 쓰입니다.
payment.requestPayment 씁니다.
그것 호출하시기 전에 저 초기화 코드가 있으실겁니다.
그 초기화 코드에 customerkey 값으로 주문번호를 넣으시는게 아닌가 싶어요.
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가 구매자아이디라는 이야기네요
네 지금 여기 에 전달되는 값이 구매자 ID 로 저장됩니다.
customerKey: fullOrderData.mem_id
추가적인 질문으로 한 브랜드 페이를 쓰고 있는 상황에서 결제창SDK를 호출하는 경우 브랜드페이를 쓸수 없나요?
아니요 사용가능합니다. 다만 v1/v2 sdk는 혼합사용이 불가해서, 1개 버전으로만 통일해주심 좋아요
감사합니다. 하나더 질문이 있는데요 카드 정보를 받아오는데 issuerCode 와 acquirerCode 가 다르게 나옵니다.
롯데카드로 결제했는데 카드 발급사(issuerCode )는 정상적으로 롯데카드 코드가 넘어오는데 매입사(acquirerCode) 코드는 현대카드 코드로 넘어오네요
브랜드페이 테스트 환경에서는 더미 응답이 내려가서 그럴수 있는데요. 브랜드페이 테스트 결제건인지 확ㅇ니부탁드립니다.
SDK 방식입니다.
네 api키를 테스트키로 했는지 확인가능할까요? 테스트키는 더미 데이터로 내려가서요
라이브키로 하셨을 경우에는 customerKey랑 mid알려주세요
테스트키로 했습니다.
테스트키로 할때는 실 결제 카드가 아닌 다른 카드 코드로 넘어오는건가요?
네 브랜드페이 결제수단 정보는 더미데이터로 응답이 내려가요
실제 데이터는 라이브키로 테스트해주시기 바랍니다.
issuerCode 는 올바른데 acquirerCode 는 다른것이 맞는건지요?
그것도 항상 보장 되지 않을 수 있습니다. 라이브키로 검증해주시면 좋을 것 같아요
그리고 브랜드페이가 아니라 SDK로 결제 테스트 중입니다.
주문번호 말씀해주시겠어요?
swpiak_1764659905798
모든 질문은 테스트키로 하고 있습니다.
사용하는 결제모듈은 SDK 버전 2기준이구요
지금 확인해보니 issuerCode 는 71, acquirerCode 는 61로 넘어옵니다.
실제 결제에 사용한 카드는 롯데카드입니다.
api 사용하는 버전 기준으로는 최신 버전인데 직전 버전은 카드명이 넘어오고 있는데 이건 어떤 코드 기준인가요?
네 테스트 환경에서는 정확한 값이 내려가지 않고 있습니다.
이전 버전까지는 카드명은 매입사 기준으로 주셨나요?
이전버전 카드명은 발급사 기준으로 나갔습니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.