이원표
이원표5d ago

XPAY 부분취소 실패 시 발생할 문제 문의

안녕하세요. 서비스에서 클레임처리를 통해 주문 취소 또는 환불처리를 할 때 XPAY 매출전표취소 API -> 토스결제모듈 PG 취소와 같은 순서로 API 통신을 하고있는데요. XPAY 매출전표취소는 각 입점사별 매출전표를 취소하는 것으로 알고 있고 토스 결제모듈은 주문건(거래번호) 기준으로 취소하는 것으로 알고 있습니다. 여기서 혹시 클레임 처리 통해 부분취소가 발생했는데 XPAY는 실패하고 PG취소는 성공햇다면 (트랜잭션 분리) XPAY 매출전표의 금액과 PG에 남아있는 결제액 싱크가 맞을까요? 또 그 외의 문제는 없을지 문의 드립니다.
35 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이원표
이원표OP4d ago
클레임(취소,환불)이 발생해서 XPAY 모듈을 호출하여 취소매출전표를 발행할때 실제 결제액을 차감시키지 않고 차감된 매출전표만 발행하는 방법도 있나요...? 시스템에서 PG결제취소를 따로 사용하고 있길래 문의 드립니다.
유부장
유부장3d ago
조금 이상하게 운영하시는것 같은데요 XPAY 매출전표 취소 API 라는게 무엇인가요?
OMG
OMG3d ago
아마도 매출전표 분할건 취소를 의미하시는건가 보네요. 매출전표 분할 API 는 발생한 거래건의 매출전표만 분리해서 표기해주는 용도일 뿐이라서요. 실거래건 취소 여부가 먼저이기 때문에 취소 순서를 바꿔서 부분취소 응답을 먼저 받은 이후에 매출전표 분할 취소를 해주시면 될 것 같네요.
이원표
이원표OP3d ago
첨부드린 이미지에서 보이는 XPAY API가 무슨역할을 하는지 알 수 있을까요? 제가 이해한건 입점사별 기발행된 매출전표에 부분취소액을 차감하는 것으로 알고 있습니다.
No description
이원표
이원표OP3d ago
실제로 결제 금액에서 차감하는 것 같아 문의 드립니다.
유부장
유부장3d ago
LGD_TXNAME 에 뭐가 들어가는지 알려주세요
이원표
이원표OP3d ago
'PartialCancel' 이 들어갑니다
유부장
유부장3d ago
그러면 XPay의 "부분취소" 입니다
이원표
이원표OP3d ago
그럼 제가 문의한것처럼 운영을 하게되면 총 2번 취소가 이루어지는것이 맞겠네요
유부장
유부장3d ago
문의를 다시 정리해서 주시겠어요? 문의 내용으로는 이해가 안되어서요
이원표
이원표OP3d ago
혹시 위 로직에서 실제로 취소 처리는 하지않고 입점사별 매출전표에 금액만 변경되게 할 수 있나요?
Kimoon Lee
Kimoon Lee3d ago
API 로 부분취소 하신후에 저 코드를 실행하시면 2번 취소 되는게 맞습니다. 매출전표 금액만 변경하는것은 내부에서 코드를 찾아보셔야 할것 같아요.
이원표
이원표OP3d ago
혹시 참고 가능한 문서 있으면 공유 부탁 드립니다.
Kimoon Lee
Kimoon Lee3d ago
Google Docs
XPAY[API]매출전표분할_v.1.0.3
Xpay-API-매출전표분할 Protocol and Core Function Specification Version 1.0.3 2022.09 목차 XPay 매출전표 분할 가맹점 정보 3 ▪ 매출전표 분할 가맹점정보 요청 파라미터 3 ▪ LGD_HASHDATA 생성 방식 3 ▪ 매출전표 분할 가맹점정보 응답 파라미터 3 XPay 매출전표 분할 4 ▪ 매출전표 분할 요청 파라미터 4 ▪ LGD_HASHDATA 생성 방식 5 ▪ 매출전표 분할 요청 파라미터 5 XPay 매출전표 분할을 위한...
Kimoon Lee
Kimoon Lee3d ago
가이드는 이것 참고하시면 됩니다.
이원표
이원표OP3d ago
xPayClientForSlip.Set("LGD_TXNAME", "ReceiptTrxDivide"); 이게 발행만 시도하는 것 같은데 문제는 STEP ID를 받아올 수가 없어서 혹시 토스 결제모듈에서 취소 처리를 하면 XPAY모듈에 넘겨줄 STEP ID를 받을 수 있는 방법이 있나요?
Kimoon Lee
Kimoon Lee3d ago
기존에는 매출전표 분할은 안쓰셨었나요?
이원표
이원표OP3d ago
아이스크림몰 사이트를 리뉴얼 하는 작업을 하고 있는데요.. 보니까 결제모듈은 토스결제모듈을 쓰고 XPAY는 매출전표 발행만 하고있습니다
이원표
이원표OP3d ago
혹시 XPAY에서 첨부된 이미지처럼 통신을하면 매출전표 발행 뿐만 아니라 실제 결제처리도 하나요?
No description
Kimoon Lee
Kimoon Lee3d ago
아뇨 저건 단순히 매출전표만 발행하는 겁니다. 근데 아이스크림 미디어 쪽 로그를 확인해 보는데 부분취소는 매출전표 분할 처리를 그동안 안하셨었나 보네요.
이원표
이원표OP3d ago
...? 제가 전달받은 내용이랑은 상이하네요.. 혹시 마지막 로그가 언제인지 알 수 있을까요?
Kimoon Lee
Kimoon Lee3d ago
어떤 마지막 로그를 말씀하시는 걸까요?
이원표
이원표OP3d ago
말씀하신 부분취소는 매출전표 분할 처리 이 부분입니다
Kimoon Lee
Kimoon Lee3d ago
로그상으로는 분할된 매출전표에 대해 취소 요청이 들어온적이 없어 보입니다. 제가 확인한 30일 동안은 없네요.
이원표
이원표OP3d ago
흠... 확인 감사합니다. 위 문의 내용도 확인 되었습니다. 바쁘신 와중에 답변 감사드립니다 ~!
Kimoon Lee
Kimoon Lee3d ago
네 지금 보니까 부분취소 할때 매출전표쪽 seq 전달이 필요한데 이부분 확인해 보겠습니다.
이원표
이원표OP3d ago
넵 확인 부탁 드립니다.
Kimoon Lee
Kimoon Lee3d ago
@이원표 님 이거 저희가 특정 MID 에만 보내드리도록 설정해 드려야 할것 같은데ㅛ. 사용하시는 MID 알려주시면 결제와 취소 응답에 포함해 드리도록 하겠습니다.
이원표
이원표OP3d ago
xpay.pc.mall.mid=gb_mall_pc xpay.mo.mall.mid=gb_mall_mo xpay.pc.hi.mid=gb_hi_pc xpay.mo.hi.mid=gb_hi_mo 이렇게 MID 를 사용하고 있습니다. 말씀하신 결제와 취소 응답에 매출전표 SEQ전달을 해주신다는건 토스 결제모듈 통신 후를 말씀하신건가요?
Kimoon Lee
Kimoon Lee3d ago
네 맞습니다. 취소 API 와 조회 API 에 관련 정보가 내려갈겁니다. 바로 반영해 드려도 문제 없을까요? cancels 내용안에 partialCancelId 이 파라미터가 추가 될거구요.( STEP ID 입니다) 그리고 최상단에 pgTransactionId 라고 paymentkey 와 동일한 값의 파라미터가 추가 됩니다.
이원표
이원표OP3d ago
해당부분은 따로 논의를 해봐야하는 부분이라 제가 확인해보고 말씀드려도 괜찮을까요 말씀하신대로 작업이 이루이지면 xpay로 부분취소 api를 날릴 필요가 없겠네요(stepId를 받기위해 사용했던것같음)
Kimoon Lee
Kimoon Lee3d ago
네 맞습니다. 부분취소는 API 방식으로 해주시고 저희가 정보 드리면 그걸로 매출전표도 부분취소 해주시면 됩니다.
이원표
이원표OP3d ago
네 그렇다면 현 문의건은 클로즈하고 추후에 의사결정이 되면 그때 다시 문의드리겠습니다 친절한 답변 감사합니다 !
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?