박다정
박다정2w ago

해외 간편결제(알리페이) 연동 관련 문의드립니다.

안녕하세요 저번에 알리페이 관련 문의드렸을 때 받은 가이드로 개발을 진행 중입니다. 중국 및 동남아 간편결제에는 pendingUrl이 필요하다고 해서 추가했는데, 로그를 확인해보니 pendingUrl을 거치지 않고 바로 웹훅을 호출하고 있습니다. 그래서 첨부한 사진의 페이팔처럼 혹시 알리페이에도 요청 파라미터가 필요한 건지 궁금합니다.
No description
43 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2w ago
pendingurl로는 이동하시죠?
박다정
박다정OP2w ago
아뇨 pendingurl로 데이터가 넘어오지 않습니다
이실장
이실장2w ago
그럼 알리페이 화면에 계쏙 남아있나요? 화면이pendingUrl로 이동한건지 여쭤본거에요~
박다정
박다정OP2w ago
아 알리페이에서는 결제 완료까지 진행했습니다
이실장
이실장2w ago
pc에서 테스트중인가요 모바일에서 테스트중인가요
박다정
박다정OP2w ago
모바일에서 테스트 중입니다
이실장
이실장2w ago
웹훅이 먼저 호출된것도 질문을 주신건가요? paypal파라미터는 알리페이에는 안보내주셔도 됩니다.
박다정
박다정OP2w ago
페이팔처럼 알리페이에도 추가로 넣어야 하는 파라미터는 없는건가요? 필요한 파라미터가 없어서 pendingUrl이 호출이 안되는 건가 싶어서 질문 남겨봤습니다
이실장
이실장2w ago
조금 더 상황을 명확하게 설명해주시면 좋을 것 같아요 awallet까지는 이동했고, 결제 웹훅도 받았는데 다시 주문서로 돌아와서 pendingurl로 이동안해서 문제인거죠?
박다정
박다정OP2w ago
이 이미지를 보고 알리페이 결제를 위해 AWallet으로 진입하면 pendingUrl이 호출된다고 이해했습니다. 그게 아니라 결제 완료후에 pendingUrl이 호출되는 건가요?
No description
이실장
이실장2w ago
일단 현재 상황을 이해하고 싶습니다. 현재 발생하는 현상을 설명해주시겠어요? 영상도 좋습니다. 그래야 상황에 맞춰 설명드릴 수 있을 거 ㅅ같아요
박다정
박다정OP2w ago
먼저 말씀드린대로 제가 이해한 알리페이 프로세스는 'AWallet 진입 -> pendingUrl 호출 -> 결제 완료 -> 웹훅' 이렇게입니다. 그래서 pendingUrl을 처리할 때 저희 서버에서 '예약 대기'로 등록하고, 웹훅이 오면 '예약 성공'으로 처리하고 있습니다. 그런데 현재 상황에서는 알리페이 진입 -> 결제 완료 -> 웹훅 이런 식으로 진행이 되어서 pendingUrl이 호출이 안된다고 이해하고 있습니다. (pendingUrl이 호출이 안되니 예약이 안되어 웹훅이 제대로 처리가 안되고 있습니다)
이실장
이실장2w ago
먼저 개념부터 설명드리면, 기존 국내/페이팔은 동기 방식입니다. 그래서 결제완료 후 successUrl로 이동한후에, 승인 API를 호출해야 결제가 완료됩니다. 알리는 비동기 방식입니다. awallet 진입 > pin 입력 성공 > (결제완료 > 웹훅 | PendingUrl이동) 이 2가지가 동시에 진행됩니다. awallet에서 pendingUrl이동안하는건, 앤텀 테스트앱이라 그렇습니다. 못돌려보내줘서 그래요 지금 개발하시는 서비스가 앱인가요? 아니면 모바일 브라우저에서 제공하게 되시나요?
박다정
박다정OP2w ago
앱입니다
이실장
이실장2w ago
pc에서도 제공하나요?
박다정
박다정OP2w ago
아뇨 앱으로만 제공합니다
이실장
이실장2w ago
일단 실제 알리페이앱이라면 모바일 브라우저에서는 위 영상과 같이 동작하게 되는데요
이실장
이실장2w ago
우선 한번 보고 이후에 앱에서는 어떻게 구현하셔야하는지 설명드릴게요 마지막에 보시면 pendingUrl이라고 보이느 ㄴ화면이 보일겁니다
박다정
박다정OP2w ago
네네
이실장
이실장2w ago
영상보시면 모바일브라우저에서 호출해서, 모바일브라우저로 돌아간 거 보이시죠?
박다정
박다정OP2w ago
이실장
이실장2w ago
앱에서 호출하면 앱 > 알리페이 > 앱 을 기대하실텐데요. 알리페이가 돌아갈 앱 주소를 모릅니다. 그래서 앱 > 알리페이 > 모바일브라우저(pendingUrl)로 동작할거에요
박다정
박다정OP2w ago
감사합니다 덕분에 정말 잘 이해했습니다 그러면 혹시 웹훅은 '앱 > 알리페이 > 모바일브라우저(pendingUrl) ' 이 프로세스와 별개로 진행되는거 맞나요?
이실장
이실장2w ago
네 알리페이는 비동기 방식이에요. 그래서 pendingurl이동과는 무관하게 결제가 됩니다. 알리페이앱에서 pin 번호 인증만되면, 극단적인 예로 동시에 귀사서버가 공격을 받아 터져도 결제가 되요 비동기 방식이라 알리페이 앱으로 넘어간 이후에는 비밀번호 인증만되면 결제까지 그냥 나버리거든요 pendingUrl은 그냥 결제완료 페이지를 띄워주는 용도이고요 앱 > 알리페이 > 모바일브라우저(pendingUrl) >>>>>> 다시 앱으로 돌아가셔야할텐데요 이 부분은 브라우저에서 직접 귀사 앱스킴 혹은 deeplink를 호출해서 돌아갈 수 있도록 구현해주시면 됩니다.
박다정
박다정OP2w ago
넵 말씀해주신 대로 수정해보겠습니다 정말감사합니다!
이실장
이실장2w ago
위에 설명드렸지만 awallet앱이슈로 테스트호나경에서는 정상적인 확인이 어려우실거에요
박다정
박다정OP2w ago
네 참고하겠습니다 고생많으셨습니다
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
박다정
박다정OP2w ago
@이실장 정말 죄송하지만 알리페이에서 결제 실패했을 때 pendingUrl로 실패 관련 값을 받을 수 있을까요?
이실장
이실장2w ago
아니요 웹훅으로 받으셔야해요 비동기라 알수가 없습니다.
박다정
박다정OP2w ago
알리페이에 카드 등록 안하고 결제 시도했더니 아래 사진처럼 나오면서 Go Back 버튼 누르면 pendingUrl이 실행되고 있습니다. 결제 성공/실패 여부에 따라 pendingUrl을 분기 태울 순 없는건가요?
No description
유부장
유부장2w ago
pendingUrl 에 결제 성공했다, 라고 구현 해두셨어요?
박다정
박다정OP2w ago
예약 대기로 구현해두었는데, 결제 실패되면 예약 대기 처리하면 안되지 않나요?
유부장
유부장2w ago
그렇죠? 저희도 알리페이 쪽에서 안내를 받아야 성공 / 실패 여부로 분기가 될텐데 알리페이 측으로 부터 통보 받는거 없어서 이거 분기 해드리기가 불가 하네요
박다정
박다정OP2w ago
혹시 그러면 pendingUrl이 앱으로 가기 위해 딥링크를 실행하는 url이 아니라 결제 성공/실패를 기다리는 url인가요?
유부장
유부장2w ago
정확해요 pending 이니까요
박다정
박다정OP2w ago
그러면 혹시 pending 일 때 지원하는 웹뷰가 있으신가요?
유부장
유부장2w ago
지원하는 웹뷰라는 의미를 조금만더 자세히 설명 가능하세요?
박다정
박다정OP2w ago
웹뷰 질문은 이해를 잘못해서 넘어가주셔도 될 것 같습니다.. 지금 pendingUrl에 도착해서 대기하고 있을 때 웹훅이 오는 걸 어떻게 인식할지 감이 안오네요.. 혹시 pendingUrl 관련 레퍼런스가 있을까요?
유부장
유부장2w ago
그렇죠.. 케이스마다 운이 나쁘면 10분까지도 기다려야 하니까요. 일반적인 결제 케이스라면 pendingUrl 에서 고객에게는 대기 안내 페이지를 보여주면서 기술적으로는 해당 페이지에서 웹훅 수신 여부 확인 pooling 하고, 결제완료 웹훅 수신하면, pooling 하고 있던 페이지에 변화주기를 하면 될거고 조금 오래 기다리는 케이스 까지 고려한다면, pendingUrl 에서는, 결제완료 여부는 별도 안내한다고 보여주고 웹훅 수신하면, 고객에게 안내할수 있는 방법을 구현해서 안내 이 부분은 가맹점에 따라 방법이 다를것 같고요
Ayaan이안
Ayaan이안2w ago
제가 조금 해외 가맹점 사례 간접적으로 언급해서 설명드려도 될까요? 저는 베트남에 거주중이고, 그래서 배트남 내 ewallet으로 여러 결제를 해보았는데, 거의 다 비동기로 처리가 됩니다. 그렇다보니 pendingUrl과 비슷한 페이지들 구현한 레퍼런스가 많은데요. 보통 결제완료 페이지와 비슷한 UI를 가져가나 처리중이라는 아이콘과 함께 Your payment is now processing. We'll notify you when the payment is processed successfully. 혹은 Your payment will be processed shortly. You can safely close the app. 이런식의 안내문구를 결제 성공 대신 띄우고, 웹훅이 오는데로 이메일이나 푸시 알림으로 결제 완료를 알립니다.
박다정
박다정OP2w ago
네 참고해서 처리해보도록 하겠습니다 정말 감사합니다! 🙏🙏🙏

Did you find this page helpful?