적광
적광3mo ago

에스크로 구매확정의 개념 질문

A라는 주문에 각각 다른 3개의 상품이 셀러가 다 달라서 송장번호가 다 다르다 할경우 에스크로 배송정보등록은 하나의 송장만 하는거 같은데.. 이러면 A주문중에 하나라도 먼저 배송완료가 되면 3일뒤에 해당 주문에 대해 남은 배송전 2개 상품에 대해서도 구매확정이 되버리는건가요?
125 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
적광
적광OP3mo ago
구매확정을 주문번호 단위가 아닌...셀러가 다른 주문 상품별로는 안되는건가보죠....? 주문 a에 상품2개가 각각 셀러가 달라서 각각의 택배사와 송장번호로 운영이 되는데 이 경우 토스 상점관리자에서 에스크로 배송정보 등록시 둘중 어떤 상품의 송장번호를 넣어야 하는건가요 1개가 먼저 출발하고 남은 1개는 사유가 있어 아직 배송전인데 보낸 송장으로 에스크로를 등록해버리면 아직 하나는 나가지도 않았는데 구매확정이 되어버릴수 있는거자나요 너무 궁금하네요
today.lastday
today.lastday3mo ago
죄송합니다. 에스크로는 오래된 API라 주문번호1개당 배송추적이 1개만 지원됩니다. 대표상품 1개만 송장번호 등록을 추천드려요.
Ayaan
Ayaan3mo ago
아니면 송장 등록하지 않고, 직접 배송상태를 관리하셔도 될것 같습니다.
Ayaan
Ayaan3mo ago
No description
Kimoon Lee
Kimoon Lee3mo ago
박수습님이 답변을 잘못 주신것 같네요. 결제 요청하실때 에스크로 관련해서 product 정보를 여러개 보낼수 있습니다.
Kimoon Lee
Kimoon Lee3mo ago
결제창 JavaScript SDK | 토스페이먼츠 개발자센터
토스페이먼츠 결제창 JavaScript SDK 사용에 필요한 준비와 메서드 사용법, 결제 실패 및 에러 처리 방법을 알아봅니다.
Kimoon Lee
Kimoon Lee3mo ago
SDK v1 통결창 방식으로 requestpayment 호출시에 아래 파라미터를 보내주시면 됩니다.
Kimoon Lee
Kimoon Lee3mo ago
No description
Kimoon Lee
Kimoon Lee3mo ago
이렇게 하신후에 배송정보 등록시에 productID 를 기존에 등록하셨던 productid 중에 하나로 설정해서 배송정보를 등록하시면 됩니다. 다만 이경우 하위에 모든 product 에 배송정보를 등록하셔야 하고, 모든 배송이 완료되어야 해당 결제에 대한 배송 완료처리가 됩니다. 하나라도 누락되면 배송완료처리가 되지 않으므로 주의해 주시기 바랍니다.
적광
적광OP3mo ago
안녕하세요 냥과장님 우선 이해가 안가는게 토스 상점관리자에서 배송정보 등록을 운송장 기반/ 수령자 기반으로 하게 되있는데 배송정보 등록 플로우에는 productId 에 대한 설정은 없는걸로 보입니다만
적광
적광OP3mo ago
No description
Kimoon Lee
Kimoon Lee3mo ago
네 해당 방식은 API 로만 가능합니다.
적광
적광OP3mo ago
그러다 보니 저희가 포트원을 이용하는데 포트원이 제공하는 에스크로 api들이 토스랑만은 제휴가 안맺어져 있다 합니다. 그래서 토스에서 자체 제공하는 에스크로 관련 api 문서를 찾아봐도 xpay?? 너무 old한 jsp,php이런 방식만 제공하는거 같은데 rest api가 존재 하는거 같지 않습니다 아무리 찾아봐도 혹시 관련 문서 링크가 있을까요? 이러면 저희는 에스크로 결제가 더 많은데 데이터를 자동화를 못시키니 매번 상점관리자 가서 수동으로 배송정보 및 수령인 등록하고 구매확정 또는 구매취소가 되도 싱크를 못마추니 매번 사람이 모니터링 해서 저희쪽 구매확정 상태도 바꿔줘야 하고...이게...너무 노가다성이 커서 pg사를 바꿔야 되는 상황이다 보니 답답합니다 ㅠㅠ
Kimoon Lee
Kimoon Lee3mo ago
에스크로 API 는 XPAY 만 제공하고 있습니다. 이부분은 포트원이 저희를 연동하지 않아서 발생하는 것 같네요. 자동화 하시려면 XPAY 방식을 사용하시는 수밖에 없어 보입니다. 다만 XPAY 방식이 restful 이 아닐뿐이지 그냥 파라미터를 get 으로 보내는 방식이라 해보시면 그렇게 어렵지는 않으실겁니다. 다만 포트원에서 저희가 관리하는 주문번호를 그대로 확인 가능한지는 확인해 보셔야 할겁니다. 아마 저희 주문번호를 포트원에서 안보내주는 것으로 알고 있어서요.
적광
적광OP3mo ago
https://docs.google.com/document/d/1N8oe5uzUcAbds-xADKquz2aFJld-yzhk/edit 아 그말은 xpay를 저희는 reactjs 환경인데 따로 jsp나 php로 화면을 구축하는게 아니라 저 문서에 있는 https://pgweb.tosspayments.com/pg/wmp/mertadmin/jsp/escrow/rcvdlvinfo.jsp 해당 url을 이용해 백엔드 단에서 가능하다는 말씀이신거죠?
Google Docs
XPAY[기타]에스크로_v.2.0.docx
Xpay-기타-에스크로 Protocol and Core Function Specification Version 2.0 2023.07 목차 에스크로 서비스의 개요 3 연동 샘플 파일 구조 4 API를 통한 배송정보 등록 및 배송완료 등록 4 API URL 4 배송정보 등록 요청 파라미터 5 배송완료 등록 요청 파라미터 6 ▪ 배송정보 등록 및 배송완료 등록 응답 파라미터 6 처리결과 수신 7 처리결과 수신페이지 URL 등록 7 처리결과 전송 파라미터 7 Appendix. 발송택배사 코드...
Kimoon Lee
Kimoon Lee3mo ago
네 에스크로는 별도의 모듈 없이 URL 에 파라미터만 호출해 주시면 됩니다. 다만 말씀드린대로 포트원 주문번호하고 저희 주문번호가 다를 것으로 보이는데 이부분 확인해주시면 됩니다. 파라미터 값으로 저희 주문번호를 보내주셔야 해요.
적광
적광OP3mo ago
포트원 자체에 저희가 생성한 유니크한 아이디를 주문 아이디로 보고 토스토 그 주문아이디 동일한걸로 압니다 첫번째가 포트원 결제내역 두번째가 토스페이먼츠
No description
No description
Ayaan
Ayaan3mo ago
포트원 이용하고 계신건가요? 포트원의 경우 현재 제가 포트원 담당자님과 확인중입니다. 제휴쪽은 문제가 없다고 하는데, V2 모듈에서 에스크로 연동 개발이 아직 안되어 이용이 불가능한 부분이라고 확인되어 V1 모듈로 연동하실 경우 정상 이용가능한지 여부 내부확인 요청드렸습니다. 오전 10:25 [포트원 Benny] 내부적으로 추가 확인 시 토스페이먼츠는 현재 개발이 되어 있지 않아 V2모듈로 연동하시는 경우 KG이니시스와 KCP를 통해 에스크로 사용이 가능합니다. 오전 10:40 [나] V2 모듈로 개발이 안되어있는 경우, V1 모듈로는 이용이 가능한 걸까요? V1 으로도 이용이 불가능한 경우에는 XPAY를 이용하셔도 될 것 같습니다만, 그럴 경우 V1에 있는 (구)토스페이먼츠 를 쓰시는게 개발공수가 적고 우너활히 이용가능할 것 같습니다. (개인적인 의견입니다.)
적광
적광OP3mo ago
네..저도 그랬던 히스토리를 3개월전인가 들었어서 근데 저 xpay가 제가 오해를 했었는데 저희도 뭔가 화면단을 jsp 나 php로 구축하는게 아닌 걍 토스의 jsp 링크에 파라메터를 던지는 식이면 백엔드단에서 해볼만 할거 같습니다 저희가 짐 포트원 모듈 버전 바꾸는 공수보다
Ayaan
Ayaan3mo ago
현재 포트원 JS파일을 어떻게 불러오고 계세요?
적광
적광OP3mo ago
앗 저는 백엔드 개발자라 정확히 짐 소스를 볼수는 없어서
Ayaan
Ayaan3mo ago
그러면 PortOne API 호출하시는 URL주소 하나만 공유해주세요. 이미 V1을 이용하고 있을 수도 있어서, 포트원에 전달하여서 확인해보려고 합니다.
Ayaan
Ayaan3mo ago
restapi v2로 이용하셨군요. 그러면 일단, 포트원에서 에스크로 연동 되기 전까지는 XPAY로 이용해 주셔야할것 같네요.
적광
적광OP3mo ago
ㅠㅠ 넵 그래서 포트원한테 토스 빠르게좀 지원해달라 했었는데 아직 안되길래 방법을 찾을려고 했는데 xpay가 오해였군요 가능할것 같네요 함 해보겠습니다
Ayaan
Ayaan3mo ago
저도 포트원 개발담당자님께 강력히 요청하겠습니다. 제가 에스크로 이용이 가능했던 것도 V1이어서 가능한것으로 보여서요.
적광
적광OP3mo ago
도움주신분들 감사합니다 일단 xpay로 해봐야 겠네요 하나만 번외 질문합니다 우선 가상계좌(에스크로) 는 구매확정 전에 전체 취소는 되는데 부분취소는 안되는걸 테스트를 통해 확인했습니다. 근데 개인신용카드는 간혹 카드사에 따라 선택적으로 사용자가 에스크로를 적용할수 있는데 개인신용카드(에스크로)는 구매확정전에도 부분취소가 되고 있더라구요 이게.. 정책적으로 맞는걸까요?
Ayaan
Ayaan3mo ago
@적광 님, 일단 정책쪽인 부분은 1544-7772로 확인하시는게 더 정확할 것으로 보입니다.
토스페이먼츠 BOT
토스페이먼츠 결제연동팀
빠르고 정확한 결제연동 경험을 위해, 디스코드에서는 기술 문의만 받고 있습니다. 계약 및 운영 관련 문의는 1544-7772나 홈페이지 상담을 이용해주세요. 감사합니다.
Ayaan
Ayaan3mo ago
포트원에서 확인하여서 답변이 도착하였는데요. V2 이용시에는 현재 이용이 불가능 한게 맞고, 토스페이먼츠에서 XPAY 형태로 이용할 수 있도록 가이드 중인 것으로 확인되고 있다고 전달받았습니다. 포트원 모듈을 변경하기 어려운 상황이시면 일단 XPAY로 이용해 주세요. V1 에서는 계속 이용이 가능하다고 합니다. https://developers.portone.io/opi/ko/integration/pg/v1/newtoss/warning?v=v1 포트원 모듈 변경하셔도 무관하신 상황이시면 위 API 확인해서 V1으로 재연동을 해주셔야 합니다. V2에서 지원하는건 최대한 빠르게 개발될 수 있도록 요청드렸습니다.
연동 유의사항
토스페이먼츠 (신 모듈) 연동 유의사항을 소개합니다.
적광
적광OP3mo ago
아 넵 감사합니다 혹시 xpay는 테스트 에스크로 결제에 대해서도 가능한걸까요?
Ayaan
Ayaan3mo ago
원래는 가능한데 포트원 통해서 계약하신 경우에는 테스트 MID가 iamporttest로 시작하는 MID로 고정되어버려서 이용이 불가능합니다. 양해부탁드립니다.
적광
적광OP3mo ago
아 넵 그래서 운영으로 함 해봤는데요 에러 메세지 이해가 잘 안가서요 ㅠㅠ 이렇게 보냈는데 { "mId": "im_pdevus601a", "lastTransactionKey": "C91AA50DD3C40A8CBB00FC992C09FE1F", "paymentKey": "im_pd20240925144807CrHj3", "orderId": "20240925144805889_32137", "orderName": "포스트제너럴 브라스 후크 & 코드릴", "taxExemptionAmount": 0, "status": "WAITING_FOR_DEPOSIT", "requestedAt": "2024-09-25T14:48:07+09:00", "approvedAt": null, "useEscrow": true, "cultureExpense": false, "card": null, "virtualAccount": { "accountNumber": "56389073771242", "accountType": "일반", "bank": "국민", "bankCode": "06", "customerName": "기형남", "dueDate": "2024-09-26T14:48:03+09:00", "expired": false, "settlementStatus": "INCOMPLETED", "refundStatus": "NONE", "refundReceiveAccount": null }, "transfer": null, "mobilePhone": null, "giftCertificate": null, "cashReceipt": null, "cashReceipts": null, "discount": null, "cancels": null, "secret": "ps_yZqmkKeP8gakPKpkDO2KVbQRxB9l", "type": "NORMAL", "easyPay": null, "country": "KR", "failure": null, "isPartialCancelable": true, "receipt": { "url": "https://pgweb.tosspayments.com:9091/MpFlowCtrl?eventDiv1=search&eventDiv2=getCasReceiptList&trxid=im_pd20240925144807CrHj3&SYSTEM=NEW" }, "checkout": { "url": "https://api.tosspayments.com/v1/payments/im_pd20240925144807CrHj3/checkout" }, "transactionKey": "C91AA50DD3C40A8CBB00FC992C09FE1F", "currency": "KRW", "totalAmount": 8500, "balanceAmount": 8500, "suppliedAmount": 7727, "vat": 773, "taxFreeAmount": 0, "method": "가상계좌", "version": "2022-07-27", "metadata": null } 이게 토스 개발자 센터의 저 주문에 대한 토스측 api 로그인데요 productId를 어떤걸 넘겨야 하나요? 저기서 말하는 productId가 뭘 넘겨야 하나요? 저희 상품아이디일까요? 저희는 프론트단에서 에스크로 결제시에 뭐 저희 상품고유아이디를 넘기고 그런게 없었던걸로 알아서 참고로 저희는 프론트엔드단도 v2를 쓰긴합니다만...
Ayaan
Ayaan3mo ago
아... 에스크로 상품 정보 필드가 들어가야하는데 응답에 빠져있는거 같은데요
적광
적광OP3mo ago
그게..정확히..뭔지.. 결제할때부터 뭐 넘겨야 하는건가요 자바스크립트로..? 혹시 프론트단도 xpay를 이용할려면 v1으로 했어야 하나요?
Ayaan
Ayaan3mo ago
하나씩 확인해 가봐야할 것 같아요. 포트원에서 xpay escrow를 이용하는 케이스가 드물어서 확인을 하나씩 해보아야 될 것 같네요 PortOne v2 SDK로 프론트에서 결제 발생하셨고, 이때 파라미터 어떻게 넘겨주셨나요?
적광
적광OP3mo ago
잠시만요 프론트 개발자 분께 문의해볼게요
Ayaan
Ayaan3mo ago
네네 기다리겠습니다 @냥과장 님, 포트원에서 따로 제가 연락을 받았는데요, (저도 에스크로 이용이 필요해서 제 사업자로 문의 남기고 회신받음) [박재은] 오후 02:59 안녕하세요. 토스페이먼츠에 관련 API 제공 가능한지 문의해 두었는데, 아직까지 토스페이먼츠 신모듈로 에스크로 등록 API를 제공하고 있지 않아서 신모듈 이용을 위한 정보만 입력받는 포트원 V2에서 사용이 불가능한 상태입니다. 신모듈에 에스크로 API가 추가되면 포트원도 바로 연동하는 것으로 계획하고 있습니다. 불편을 드려 죄송합니다. 라고 합니다. API신모듈에 에스크로 등록 API이용이 가능할지 내부에서 확인해주셨으면 좋겠습니다.
적광
적광OP3mo ago
흑흑 저게...javascript sdk 마저 v1이용하는거면 안될텐데...ㅠㅠ 일단 짐 보고 있습니다
Ayaan
Ayaan3mo ago
아마도 그냥 v1을 써야할 것 같이 응답이 오긴했습니다. 한번 파라미터 확인해주시면 마저 확인해볼께요 프론트엔드 개발자분도 디스코드 가입하시면 이 문의 같이 f/u 가능하십니다.
적광
적광OP3mo ago
{ "storeId": "store-2d4101a7-b710-4287-abff-e184d60a663a", "channelKey": "channel-key-992d44e7-a979-4fa4-8d0d-ab37b0d7cac5", "orderName": "포스트제너럴 행잉 키 홀더 울프 브라운", "totalAmount": 12000, "isEscrow": false, "currency": "CURRENCY_KRW", "redirectUrl": "http://localhost:3001/order/complete", "customer": { "customerId": "7", "fullName": "", "phoneNumber": "01043465227" }, "appScheme": "poinappdev://", "card": {}, "payMethod": "CARD" } 이게 현재 포트원 v2 sdk 에 넘기고 있는 정보였다 합니다
Ayaan
Ayaan3mo ago
No description
적광
적광OP3mo ago
근데 포트원에도 위와 같은 저희 상품 객체를 넘기는게 존재는 했는데 보내고 있지는 않았다 합니다
No description
Ayaan
Ayaan3mo ago
isEscrow를 true로 하고 위 상품 객체 넘겨보시겠어요 넘기고 나서도 응답이 저렇게 온다면 V1으로 재작업하시는거 말고 답이 없습니다. 이 점 양해 부탁드립니다.
적광
적광OP3mo ago
아 넵넵 저 객체 넘겨 보라 할게요
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
적광
적광OP3mo ago
운영에서 해봐야 하니 배포까지..좀 시간이 걸려서.. 아 로컬에서 저희 운영바라보고 해보겠다 하네요
Kimoon Lee
Kimoon Lee3mo ago
참고로 SDK 방식의 에스크로는 시간이 좀 리는 것으로 알고 있습니다.
적광
적광OP3mo ago
윽..포트원 sdk상에서 v2에 에스크로일경우 저 product 객체를 넘기면 포트원측에서 에러가 토스페이먼츠 에러가 내려온다고 하네요 400에 잘못된 요청이라고 나온다네요 { "storeId": "store-2d4101a7-b710-4287-abff-e184d60a663a", "channelKey": "channel-key-992d44e7-a979-4fa4-8d0d-ab37b0d7cac5", "products": [ { "amount": 12000, "id": "1376", "name": "포스트제너럴 유니버셜 클립 실버", "quantity": 1 } ], "orderName": "포스트제너럴 유니버셜 클립 실버", "totalAmount": 12000, "isEscrow": true, "currency": "CURRENCY_KRW", "redirectUrl": "http://localhost:3001/order/complete", "customer": { "customerId": "7", "fullName": "", "phoneNumber": "01043465227" }, "appScheme": "poinappdev://", "card": {}, "payMethod": "CARD" } INVALID_REQUEST 잘못된 요청입니다. The bad request. 포트원 v2가 지원을 안하는걸까요..? 신용카드는 저 products를 넘기면 잘된다는데
Kimoon Lee
Kimoon Lee3mo ago
포트원측에 이 요청에 따라 저희쪽으로 넘긴 주문번호를 확인해 주시기 바랍니다. 지금 보내주신 정보로는 저희가 로그를 확인할수가 없네요.
적광
적광OP3mo ago
tranjactionId말하는걸까요? 에초에 클라이언트 단에서 bad request인거 보니 어디에도 로그가 안남았을거 같아요
Kimoon Lee
Kimoon Lee3mo ago
그럼 결제를 시도하신 시점은 정확히 아시나요ㅕ?
적광
적광OP3mo ago
마지막 실패한 시점이 15:53 51초라 합니다
Kimoon Lee
Kimoon Lee3mo ago
흠 저희 로그상으로는 INVALID_REQUEST 가 해당 시간대에 나간 로그가 확인되지 않습니다. 포트원이 저희쪽으로 문의 하도록 해주세요. 지금 가맹점쪽 정보로는 저희가 로그를 트래킹 할수가 없습니다 (중간에 포트원이 자체적으로 정보를 생성해서 저희와 comm 하고 있어서요)
적광
적광OP3mo ago
일단 신용카드 에스크로 일경우는 저 products 넘겨서 잘되고 있더라구요
적광
적광OP3mo ago
{ "mId": "im_pdevus601a", "lastTransactionKey": "6A5AC1B6D0E7A577546719B5208C649C", "paymentKey": "im_pd20240925155845CNLx3", "orderId": "20240925155844603_82433", "orderName": "포스트제너럴 유니버셜 클립 화이트", "taxExemptionAmount": 0, "status": "DONE", "requestedAt": "2024-09-25T15:58:45+09:00", "approvedAt": "2024-09-25T16:01:12+09:00", "useEscrow": true, "cultureExpense": false, "card": { "company": "국민", "issuerCode": "11", "acquirerCode": "11", "number": "94912374**703*", "installmentPlanMonths": 0, "isInterestFree": false, "interestPayer": null, "approveNo": "30000028", "useCardPoint": false, "cardType": "체크", "ownerType": "법인", "acquireStatus": "READY", "receiptUrl": "https://dashboard.tosspayments.com/receipt/redirection?transactionId=im_pd20240925155845CNLx3&ref=PX", "amount": 12000 }, "virtualAccount": null, "transfer": null, "mobilePhone": null, "giftCertificate": null, "cashReceipt": null, "cashReceipts": null, "discount": null, "cancels": null, "secret": "ps_PBal2vxj81LwbRPX6mokr5RQgOAN", "type": "NORMAL", "easyPay": null, "country": "KR", "failure": null, "isPartialCancelable": true, "receipt": { "url": "https://dashboard.tosspayments.com/receipt/redirection?transactionId=im_pd20240925155845CNLx3&ref=PX" }, "checkout": { "url": "https://api.tosspayments.com/v1/payments/im_pd20240925155845CNLx3/checkout" }, "transactionKey": "6A5AC1B6D0E7A577546719B5208C649C", "currency": "KRW", "totalAmount": 12000, "balanceAmount": 12000, "suppliedAmount": 10909, "vat": 1091, "taxFreeAmount": 0, "method": "카드", "version": "2022-07-27", "metadata": null }
적광
적광OP3mo ago
근데 넘겼던 productId정보는 토스 api 로그에도 안보이기는 하는데.. 걍 저희가 넘겼던 id를 xpay 파라메터에 넘겨볼까요?
Kimoon Lee
Kimoon Lee3mo ago
신용카드는 잘된다면 저희는 신용카드와 다른 결제 수단의 파라미터가 다르지 않기 때문에 포트원쪽에서 구현을 잘못하셨을 가능성이 높아 보입니다. 이부분은 말씀 드린대로 포트원쪽에서 저희 쪽으로 직접 문의 하도록 해주세요.
Ayaan
Ayaan3mo ago
냥과장님, 포트원쪽에서 이미 ㅌ스페이먼츠에 문의했는데 신모듈 API방식으로 에스크로 제공을 안한다고 하여서 포트원 API v2에서 에스크로를 지원을 못하고 있어서 토스페이먼츠에 저희가 문의하라고 답변이 왔습니다.
Kimoon Lee
Kimoon Lee3mo ago
에스크로 배송 정보 등록하는 걸 지원하지 않는거지 지금 적광님이 문의 하고 계신건 결제 생성시에 product 정보를 넣는 부분이라 다른 내용입니다.
Ayaan
Ayaan3mo ago
네, 그런데 포트원에서는 배송정보 등록이 안되다보니 해당 API 정상적으로 이용이 불가능할것이다, 토스페이먼츠 쪽에 문의하라고 아까 답변받긴하였습니다. 저도 해당 담당자분께 product 정보 넣는 부분 이야기 해볼게요.
적광
적광OP3mo ago
히스토리가 xpay를 이용해 배송정보를 등록시 파라메터중에 productId가 있어서 이거를 문의하다보니 애초에 결제시부터 product정보를 넘겨야 한다라고 해서 짐 추가적으로 넘겨보고 있는 상황인데 신용카드는 넘겼을시 에러 없이 다 잘 되고 있고 가상계좌는 포트원측에서 400 bad request를 내려주고 있습니다 그래서 우선 신용카드 product 넘겨서 잘된 토스의 api 로그을 봐도 위에처럼 useEscrw true로 잘갔는데 뭔가 내려오는것중에 저희가 넘긴 products 정보는 안보여서 일단 xpay jsp에 한번 시도해보려 합니다
Kimoon Lee
Kimoon Lee3mo ago
그런데 이거 product ID 는 어떻게 넣으신건가요?
Ayaan
Ayaan3mo ago
저도 포트원에 내용 전달해서 다시 확인해보겠다고 하십니다. 포트원 SDK에 넣는 파라미터가 있습니다.
적광
적광OP3mo ago
No description
Kimoon Lee
Kimoon Lee3mo ago
저에러는 해시코드를 잘못 넣으신 겁니다.
적광
적광OP3mo ago
이미지 다시 보냈습니다 이전거여서 상품아이디를 찾을수 없다 합니다
Ayaan
Ayaan3mo ago
이렇게 응답받으신거 아닌가요?
적광
적광OP3mo ago
넵 맞아요
Ayaan
Ayaan3mo ago
hashdata가 잘못된거입니다. im_pdevus601a20240925155844603_82433012024092514009012d0f2ebcd8bf3185d3052a794d688 이게 잘못들어갔어요
Kimoon Lee
Kimoon Lee3mo ago
@적광 님 지금 보면 포트원에서 저희쪽으로 product ID 정보가 안넘어 오고 있습니다.
Ayaan
Ayaan3mo ago
@적광 님 이게 포트원에 전달하신 요청 전문 맞을까요?
Kimoon Lee
Kimoon Lee3mo ago
포트원에서 안넘겨서 에러가 발생하지 않은 겁니다.
적광
적광OP3mo ago
저희 프론트 개발자분을 초대해보겠습니다
Kimoon Lee
Kimoon Lee3mo ago
포트원에서 안보내신거라 개발자분 초대하셔도 하실수 있는 게 없습니다.
Ayaan
Ayaan3mo ago
지금 저랑 같이 포트원 기술지원팀에서 이 채널 봐주고 계십니다. (마침 운이 좋게도, 포트원 기술지원팀이랑 다른 문의 건을 진행하고 있었어서, 간단히 확인해주신다고 하네요.) 실시간으로 f/u주실거 같습니다.
적광
적광OP3mo ago
넵 위에 전문이 포트원에 가상계좌이면서 에스크로이면서 product객체 넘기면 애초에 400 bad request
Kimoon Lee
Kimoon Lee3mo ago
네 그부분은 포트원에서 저희쪽으로 데이터를 잘못 보내시는 것 같아요. 그래서 포트원 개발자가 요청하신 데이터를 가지고 저희한테 문의를 해주셔야 합니다.
Ayaan
Ayaan3mo ago
포트원 개발자분이 실시간으로 확인해보고 계시니, 조금만 기다려 보는게 좋을 것 같아요. 확인해보고 필요시 그 분이 따로 별도채널로 토스페이먼츠에 문의한다고 하십니다.
Kimoon Lee
Kimoon Lee3mo ago
네 내부 슬랙 채널이 있어서 포트원에서 확인하신후 저희쪽에 문의 할게 있으시면 연락 주실겁니다. 그 이후에 @적광 님 쪽에서 추가 테스트를 진행하셔야 합니다.
upship
upship3mo ago
안녕하세요 ~! 더블루아워 프론트개발자 입니다 ~!
Kimoon Lee
Kimoon Lee3mo ago
지금은 가맹점 쪽에서는 하실수 있는게 없어요.
적광
적광OP3mo ago
넵 이방에서 대기해보고 있겠습니다
Ayaan
Ayaan3mo ago
네네 일단 요청 전문 확인해야해서, 이 디스코드 화면도 같이 보고계십니다. 따로 내용 전달은 슬랙으로 하실것 같습니다. @적광 님 확인하는데 시간 양해 부탁드리겠습니다. 오늘 내로 확인이 안될 수도 있습니다.
적광
적광OP3mo ago
아 번외 질문이 제가 저 xpay jsp에 파라메터 hash데이터를 잘못한거죠? 전 걍 문서대로 스트링 붙힌건데 저걸 md5인코딩해서 로직으로 해서 보내야 했던거죠?
Ayaan
Ayaan3mo ago
네네 md5인코딩해야해요
적광
적광OP3mo ago
im_pdevus601a //상점아이디 20240925155844603_82433 //주문번호 01 //구분값 202409251400 //실수령일자 해서 jsp에 파라메터 다 제대로 보낸거 같은데 위와 같이 에러가 떠서요 제가 뭐 잘못한게 있나 싶네요 ㅠㅠ
No description
Ayaan
Ayaan3mo ago
@적광 머트키는 노출되면 안되어서, 그 부분만 메시지에서 수정해주세요.
적광
적광OP3mo ago
아 mertkey만 조합하지 말고 다시 md5 인코딩해서 넘겨보란 말씀이시죠? 넵 잠시만요
Ayaan
Ayaan3mo ago
아니요 여기 메시지에 머트키가 노출이 되어있어서요. 머트키가 있으면 마음대로 누구나 상점 결제정보(결제발생, 취소,,,)를 다 조작할 수 있습니다.
적광
적광OP3mo ago
앗 아항 넵 얼른 지웠어요 ㅠㅠ
Ayaan
Ayaan3mo ago
머트키가 끝자리에 있으니까, im_pdevus~~~ 이것도 지워주세요
적광
적광OP3mo ago
얍얍 감사
Ayaan
Ayaan3mo ago
기존에 보내신 메시지에도 저런 부분 있으면 다 마스킹해두시는게 좋을겁니다. 여기는 공개된 장소이고 구글에 검색노출이 되는 페이지라서요.
적광
적광OP3mo ago
일단 왜 fail이 뜰까요 ㅠㅠ
Ayaan
Ayaan3mo ago
제가 보았을 때는 문자열 조합은 잘 되어있으세요. 뭔가 MD5 암호화가 안되었거나 파라미터랑 매치가 안되는거같은데요. 넘기신 MID, OID, DLVTYPE, RCVDATE랑 암호화 전문에 있는 값이랑 맞는지 확인해보세요
적광
적광OP3mo ago
ㅠㅠ 넵..다 맞는데....흠..
Ayaan
Ayaan3mo ago
맞다면 냥과장님이나 다른 토스팀 직원분들이 로그 확인을 해보아야합니다.
적광
적광OP3mo ago
넵넵
Ayaan
Ayaan3mo ago
저는 토스팀에서 일하는 직원은 아니라서, 로그 권한이 없어요. 기다리시는동안 현재 포트원쪽이랑 같이 확인해보고 있는 부분떄문에, 질문 몇가지만 드리겠습니다. INVALID_REQUEST 잘못된 요청입니다. The bad request. 이거는 언제(어떤 프로세스 진행 중에) 발생한 걸까요? requestPayment 프론트에서 호출한 상태에서 발생한것이 맞으실까요?
upship
upship3mo ago
포트원 v2 sdk 를 통해서 가상계좌 선택 + 에스크로 적용 + payload 내 products 배열 을 넣었을 경우 발생합니다 위와 같은 조건에서 products 배열을 빼면 정상 동작 하구요 네네
Ayaan
Ayaan3mo ago
네, 일단 확인에 시간 걸리는 점 시간양해 부탁드려요.
적광
적광OP3mo ago
오우 저희쪽에 상품정보 넘기면서 성공했던 신용카드(에스크로)는 xpay 로 성공했네요 배송완료로도 잘 바뀌었네요 아까 제가 mertkey를 다른 상점아이디껄 쓰고 있었네요 ㅠㅠ
No description
No description
적광
적광OP3mo ago
이제 그 가상계좌시 상품아이디 넘기는거 포트원측 안되는것만..해결되면.. 허허 이게 제가 혹시나 해서 productId 안넘기던 버전으로 가상계좌 에스크로 결제 일으키고 xpay로 배송정보 등록 해보니 잘됬어여... 애초에 제가 xpay 잘 못해서 에러나던거였는데 productId가 없다는 메세지에 여기까지 온거 같긴한데...
Ayaan
Ayaan3mo ago
상품아이디값이 필수 값이긴하여서요. 일단 이슈해소되면 공유드리겠습니다. 토스페이먼츠와 같이 확인이 필요한것 같아 시간이 걸린다고 하네요.
적광
적광OP3mo ago
아 넵 혹시나 해서 가상계좌로 구매했던 상품이 두개라 &productId=111,222 일케 xpay에 넘겨봤더니..딱히 에러 없이 ok 떨어지긴해서... 저희 이전 상품정보 안넘기던...버전으로 넵 그래도 되면 정석이 맞을거 같으니..답 기다리겠습니다
Kimoon Lee
Kimoon Lee3mo ago
일단 포트원에서 카드는 상품정보를 안넘기시는 것으로 보입니다. 가상계좌쪽은 지금확인중인데 연동에 좀 이슈가 있어서 포트원에서 수정하시면 될것 같아요.
Ayaan
Ayaan3mo ago
@적광 @냥과장 [holden] 오후 5:39 토스페이먼츠 측 답변 받아 다시 안내드립니다. products에는, id, name, code, quantity, amount를 모두 보내주셔야 정상 작동한다고 답변 받았습니다. 위의 요청 본문에서는 code가 없어 에러가 발생했습니다. code의 의미는 다음과 같아 해당 방식대로 수정하시면 정상 작동할 것으로 보입니다.
Ayaan
Ayaan3mo ago
No description
Ayaan
Ayaan3mo ago
라고 포트원에서 안내가 들어왔는데, 한번 반영해보시겠어요?
적광
적광OP3mo ago
네 잠시만요 프엔 개발자분 다시 들어오라 할게요
upship
upship3mo ago
맞습니다 코드 옵셔널한 값인거같아서 안보내고 있었는데 보내볼게요 !
Ayaan
Ayaan3mo ago
Id와 code는 같아도 된다고 합니다.
적광
적광OP3mo ago
오우 잘 됬네요 포트원에..가능하시면 문서에 필수라고 좀 수정좀..
upship
upship3mo ago
code 값 추가하고서는 아까 에러나던 부분에서 정상 동작 했습니다 ~! 🙂 감사합니다 !
Ayaan
Ayaan3mo ago
문서에 추가 요청은 드리겠습니다. 토스쪽 문서에서도 옵셔널이라서 표기가 안된거 같은데요. 토스 수정되면 같이 반영하겠다고 하십니다.
적광
적광OP3mo ago
그럼 저희가 하나의 주문에 판매자 a 상품과 b 상품이 송장이 다를경우 저 xpay 파라메터에 productId를 두개 콤마 구분해서 넣아야 두 제품이 모두 배송완료시 판단되서 구매확정 프로세스가 진행되나요?
Ayaan
Ayaan3mo ago
Dlvtype을 뭐로 넣어서 보내고 계세요? 03으로 넘기고 계시나요?
적광
적광OP3mo ago
아직 뭘로 할지 정하진 않았는데 03은 송장을 하나만 넣는거 같아서 이러면 제가 말하는 개념이 안될거 같아서요 그래서 어제 비슷한 질문하니 그럼 이런케이스는 걍 주문의 마지막 상품이 배송완료시 01개념으로 하라고 하긴 하시더라구요 짐 이문제는 저 파라메터 producId와는 전혀 무관한건지..
Ayaan
Ayaan3mo ago
아하 그렇군요. 이 부분은 냥과장님이 다시 컨펌을 드리는게 맞는것 같습니다. (여러 송장으로 나뉘는 경우가 드물어서, 제가 잘 알지 못합니다.)
적광
적광OP3mo ago
넵 주문 A 에 판매자 a,b 제품이 배송이 택배사 송장부터 각각 이루어져야 되는데 배송정보 등록을 송장기반으로 하면 하나만 등록해야 해서 시스템이건 수동이건 마지막 배송나간 판매자 제품이 배송완료되는걸 저희가 판단해서 xpay를 01이건 03이건 해야하는 수밖에..없는거 같은데..제가 이해한게 맞는지.. 넵 아무튼 위 문제는 도움주셔서 정말 감사합니다 모두
Ayaan
Ayaan3mo ago
(개인적인 의견입니다) 아마도 01로 하시고, 가장 늦게 배송되는 송장이 배송완료되면 배송완료 등록을 Call하시면 될 거 같긴합니다만 확신이 안서네요.