자동결제 개발중 의문사항입니다.
안녕하세요. 단건 결제 구현 및 연동을 마치고 자동결제 개발에 들어가고 있는 개발자입니다.
다름이 아니라 자동결제시 사용되는 customerKey는
1. 프런트에서 임의로 생성해 백엔드로 전달하고,
이후 사용자 테이블에 별개의 컬럼을 만들어 저장해야 하는 게 맞는 걸까요?
2. 아니면 애초에 customerKey라는 컬럼을 백엔드에서 만들어서 사용자마다 발급해 가지고 있다가
이후에 프런트에서 그 값을 사용하는 걸까요?
이후의 로직에서도 계속 사용되는 걸 보니 그런가 싶어서요.
8 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
1. customerKey 는 가맹점에서 사용자를 식별하는 정보로 사용됩니다.
일반적으로는 가맹점 사용자ID 와 1:1 로 매핑하여 사용하시고, 빌링키 발급 이후에는 customerKey + billingKey 조합으로 승인을 하게 됩니다.
2. 발급 요청시 마다 랜덤하게 만드셔도 되고, 최초에 사용자ID와 매핑해두셔도 되고 이건 가맹점의 구현과 관리 부분에 해당하기 때문에 편하게 사용하시면 됩니다.
단, 가맹점의 사용자 ID와 customerKey 는 일치될 수 있도록 잘 관리해주시면 됩니다.
코어 API | 토스페이먼츠 개발자센터
토스페이먼츠 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
위 문서를 참고해주세요
2. 발급 요청마다 랜덤하게 만든다는 건 거래마다 customerKey가 달라도 상관없다는 뜻인가요?
거래마다는 아니고 발급 시를 의미하고요.
랜덤하게 만들게 되면
가맹점의 user ID : customerKey = 1 : N 이 되겠죠.
그럼 사용자 하나당 customerKey(PG빌링에서 구분하는 사용자ID) 가 여러개 되는데, 이렇게 사용하셔도 무방하지만 굳이 이렇게 하실 필요 없으니
최초에 사용자ID 에 customerKey 하나로 매핑하시는게 관리하시기에 편할 수 있습니다.
그래서 일반적으로 1:1 로 매핑하여 사용하시도록 말씀드린거에요
넵 친절한 답변 감사합니다. 좋은 하루 보내세요!
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.