[스팀샵] 중복 구매 실수 방지를 위한 개선사항 적용

in #kr6 years ago (edited)

안녕하세요. 박세계입니다.

최근 @nomadcanna 님의 백수곰 이모티콘의 많은 구매가 이뤄졌습니다. 저는 플랫폼 제공자의 입장에서 중립을 지키기 위해 특정한 상품만을 별도로 언급하는 것을 극도로 자제하고 있습니다. 상품 홍보가 곧 스팀샵 홍보로 자연스레 이어지는것 또한 알고 있지만, 당장에는 상품 홍보 게시물을 리스팀 하는 정도로만 개입(?)을 하고 있는 상황입니다. 때가 되면 본격적으로 스팀샵과 상품들의 홍보를 적극적으로 할 계획이며, 그 전까지는 동일한 입장을 취할 생각입니다.

그럼에도 @nomadcanna 님의 이모티콘을 여기서 언급하는 이유는 단 하루만에 30여건에 해당하는 구매가 이뤄진 기념비적인 사건(?)이기 때문입니다. 그리고, '원치않는 중복 구매 실수'가 발생할 수 있었던 살짝 치명적인 버그가 존재 하는것을 알고 있었지만 자주 발생하는게 아니라 일단 미루고 있었는데, 이를 바로 개선 할 수 밖에 없는 계기 또한 되었기 때문입니다.

'원치않는 중복 구매'라는 의미를 좀 더 명확히 하자면, 한 번 구매 했더니 원치않게 이중으로 돈이 나가는 식의 상황이 아닙니다. 그런일은 절대 일어나지 않습니다. 구매를 완료 했는데 스팀샵에 바로 반영되지 않아 구매가 잘 안될걸로 착각하여 다시 구매를 하는 경우를 말합니다. '실수'라는 단어를 사용한 이유입니다.


https://tool.steem.world/Shop

중복 구매 실수 방지를 위해 다음과 같이 몇가지 개선사항을 적용해봤습니다.

중복 구매가 발생할 수 있는 결정적인 원인은 현재 스팀커넥트 구조의 제한 때문인데, 간단히 말씀드리면 스팀커넥트로 결제가 이뤄진 직후 이를 바로 조회하는 방법이 제가 아는 선에서 아직 존재하지 않기 때문입니다. 그래서 구매자의 스팀잇 지갑 페이지를 읽어서 판단하고 있는데, 엎친데 덮친격으로 언젠가부터 지갑 페이지의 송금 기록 반영도 1분 정도 지연이 생기고 있어 구매완료 상태를 즉각적으로 판단하는게 더 어려워지고 있습니다. 사실 즉각적인 판단은 현재 불가능합니다. 현재 제가 할 수 있는 최선은, 이를 최대한 티가 덜나게, 그리고 1분 정도의 지연은 피할 수 없지만 암튼 스팀샵에 꼭 반영을 하긴 하는 것입니다.

위와 같은 이유로, 아래에서 설명할 개선사항은 사실 근원적인 완벽한 해결책은 아니며, 그저 몇가지 문구를 적재적소에 추가한 것 뿐입니다. 왜 이럴수 밖에 없었는지에 대해 대략적인 이해에 위의 설명이 조금이나마 도움이 되셨기를 바랍니다.

1. '구매 내역' 페이지 하단에 문구 추가

스팀샵 상품 구매 직후 구매 내역 페이지로 자동으로 이동하는데, 방금 구매한 상품이 나오질 않아 당황하신 분들이 많으실 겁니다. 위에도 설명했듯 당분간은 어쩔 수 없는 상황이며, 스팀잇 웹사이트가 정상적으로 동작한다는 전제하에 보통 1분이내 반영이 됩니다. 조금이나마 이해를 돕고자 페이지 하단에 다음과 같은 문구를 추가했습니다.

구매 완료 후 본 내역에 반영되기까지 1분 내외의 시간이 소요됩니다. 방금 구매하셨다면 잠시 후 다시 확인하세요.

추가로, 기존에 '구매일시' 항목을 UTC로 표기하여 한국 사용자가 직관적으로 이를 알기 어려웠는데, 한국어 선택시 한국 사용자로 임의 판단하여 한국시간을 보여주도록 했습니다.

steemshop-1.png

2. 상품 상세 페이지에서 이미 구매한 상품 표시

이미 구매가 완료된 상품의 상세 페이지 확인 시 구매 버튼 하단에 다음과 같은 문구를 추가하여 실수를 방지했습니다. 실제로 재구매를 원하는 경우가 있을 수 있기에 여전히 추가 구매는 가능하도록 했습니다.

이미 구매한 상품입니다. (구매 내역)

steemshop-2.png

3. 구매 시도 시 중복 구매 최종 확인 및 메시지 출력

위 1번과 2번 항목을 무심결에 지나치고 실수로 중복 구매를 시도하는 상황을 방지하고자 구매 시도 시, 즉 상품 가격이 표시된 버튼을 클릭하는 경우, 최종적으로 또 확인하여 5분 이내 구매 시도를 이미 했을 경우 아예 다음 단계로 넘어가지 않도록 했습니다. 메시지는 다음과 같습니다.

방금 전 이미 구매 시도를 하셨습니다. O분 후 다시 시도하세요.

구매 완료를 체크하는게 아닌 구매 '시도'를 체크하는 이유는, 스팀샵이 보기에는 아직 '구매 중' 상태인데 실제로는 '구매 완료'인 상황이 있을 수 있기 때문이며, 해당 상황에서 발생 할 수 있는 만약을 위한 실수들까지도 최대한 방지하기 위해서입니다.

steemshop-3.png


보시다시피 중복 구매 실수 방지를 위한 완벽 해결책은 아직 존재하지 않습니다. 이를 해결 할 수 있는 좀 더 명확하고 확실한 방법이 뭐가 있을까 항상 고민중에 있으며, 더 나은 개선사항이 생각나면 꼭 반영하도록 하겠습니다.

최근 제 블로그에 와서 댓글 주시는 분들께 거의 대댓글을 드리지 못하고 있습니다. 질문이나 제안같이 꼭 답변이 필요한 경우를 제외하면 일일이 찾아뵙지 못하고 있는데, 진심으로 매우 죄송스럽게 생각합니다. 찾아주시는 분들을 무시해서가 전혀 아니며, 전적으로 제 체력의 한계로 인한 게으름 때문입니다. 이 자리를 빌어 죄송한 마음 전하고 싶습니다.

감사합니다.

Sort:  

Global Biggest Airdrop
1 GIFT = US$0.2,
100 GIFT by registration,
100 Gift by Telegram,
Gain more 100000 GIFT from any activities,
Click link to get GIFT
Win lottery for iPhoneX BTC ETH GIFT everyday!
Please Use My Referral Link! Thanks

account_history의 반영이 정확히 60초 걸리는 것과 비슷한 문제가 있나보네요 ;ㅂ;... 고생하셨습니다.

네 맞습니다. 원래 1분 지연 현상은 기존에 없었는데 한두달 전부터 갑자기 생겨났습니다 ㅜㅜ 이건 사실 스팀샵과 별도로 나름 치명적인 버그(?)인데 스팀잇 전체 사용자에게 영향을 끼치고 있기 때문입니다. 해당 지연시간을 모르던 상황에서 제가 실제로 스팀잇 지갑 페이지에서 스팀달러를 여러번 송금할 뻔 한 상황도 있었구요. 의도적인 수정이라 해도 문제가 있고, 버그라면 하루빨리 고쳐줬으면 합니다.
추가로, 기존에도 있던 상황인데 본문에도 있듯이 스팀커넥트에서 송금 완료 후 연결고리로 사용할 트렌잭션ID 같은것을 리디렉션URL로 보내주지 않습니다. 그래서 송금 즉 결제 완료 상황을 제가 알아서 따로 억지로 조회할 수 밖에 없는 애로사항이 있습니다.
완벽하진 않지만 그래도 방법이 아예 없는건 아니고, 저는 결제 모듈을 제공해주는 것만으로도 감지덕지 하고 있긴 합니다 ㅎㅎ 그래도 약간의 개선은 더해주었으면 하는 바램입니다.

버그라고 봐야하나요? ;ㅂ; 제가 history가 기록되는 지연 시간이 어느정도인지 몇 번 테스트해봤었는데 항상 정확히 60초 후에 기록되는 것을 확인했습니다. 그렇게 하게끔 코드를 수정해둔 것 같습니다. 리다이렉션에 대한 내용은 몰랐는데 세계님 덕분에 알게 되었네요 ;ㅂ;... 참.. 뭔가 바꿨으면... 알려주면 좋을텐데 말입니다... ㅎㅎㅎ :D

저도 이게 딱 버그다 라고 하긴 뭐한거 같고 속도개선을 위해 뭔가 의도적인 수정이 가해진거 같다는 생각이 들긴 했습니다. 근데 지갑 히스토리 반영의 1분 지연시간은 좀 치명적이다라는 생각이 들더라구요. 송금이 제대로 안된줄 알고 여러번 시도했던 경험이 실제로 있었거든요. 블록체인 구조상 뭔가 어려움이 있는거 같긴하지만 그래도 뭔가 딱 하고 맞아떨어지면 좋겠습니다 ㅜㅜ

고생하는 것 다들 잘 알고 있습니다.
개인 시간 쪼개서 하는것인데 천천히 가도 아무도 나무라지 않습니다.
응원하고 있습니다.

소요님은 항상 제게 평안을 주시는군요 ㅎㅎ 늘 감사하고 있습니다 :)

10_밥은먹고스팀잇하는곰-.gif

ㅋㅋㅋㅋㅋㅋ 이거 진짜 은근 웃기네요. 진짜 스팀잇에 최적화된 이모티콘 ㅋㅋㅋㅋㅋㅋ

다시한번 감사의 인사를 드려요.

저와 같이 마켓 플랫폼이 필요한 이들이 많이 있을거라 생각해요. 스팀잇 내에서 개인 활동을 한다해도 유연한 플랫폼이 없으면 지속성을 갖기가 힘든데 스팀샷은 정말 고마운 플랫폼입니다.

천천히 하셔도 좋으니까 죄송한 마음을 가지실 필요 전~혀 없으실 것 같아요. 감사한 일인걸요!! 게다가 이번 업데이트가 어떤 부분을 해소하려고 한지 이용을 해봐서 더 와닿는 것 같아요.

감사합니다 :)

06_보팅했곰~.gif

좋은 말씀 넘 감사합니다. 지금 '주문제작' 기능 추가에 집중하고 있는데 열심히 작업하도록 하겠습니다. 같이 커나갔으면 합니다. 앞으로도 잘 부탁드려요 :)

저도 잘 부탁드립니다!
곧 전자책도 업로드할 것 같아요 ㅎㅎ

(이것 저것 아이디어 발현해서 판매할 수 있는 것이 있는지도 연구해볼게요 :)

전자책도 기대되네요. 앞으로도 많은 시도 부탁드립니다 ^^

계속해서 발전해가는 스팀툴의 모습을 지켜보고 있으면
제가 다 막 기분이 좋아집니다!! +_+ ㅎㅎㅎ
너무 급하게 생각하지 마시고 앞으로의 스팀툴도 잘 부탁드립니다(?)!!! ^-^ ㅎㅎㅎㅎ

항상 격하게 응원해주시는 뉴위즈님 항상 감사합니다 +_+

pairplay 가 kr-dev 컨텐츠를 응원합니다! :)

앞으로도 지속적인 kr-dev 컨텐츠 올리도록 하겠습니다. 감사합니다 :)

항상 감사합니다!!

감사합니다!!

앗~그런 버그가 있었군요:) 계속 업그레이드 되는 과정이 멋지네요!

좋은 말씀 감사합니다. 앞으로도 많은 기대 부탁드려요 :)

안녕하세요.^^ 몇몇 분들이 스팀샷을 추천해 주셔서 왔습니다.
https://steemit.com/kr/@woolgom/5a4idw-2
저 이거 이모티콘 만들었는데 등록 될까요??

안녕하세요. 울곰님!

판매자로 등록했습니다. 앞으로 많은 활동 기대하겠습니다 ^^
(혹시 이미 스팀샵에 로그인 하셨다면, 로그아웃 후 다시 로그인 하셔야 합니다.)

앞으로 상품관리는 아무때나 직접 하실 수 있습니다. 다음글을 참조 바랍니다.
https://steemit.com/kr/@segyepark/jf9pp

와아~!! 벌써 이렇게나 빨리!!!!!>ㅁ<
감사합니다~ 빠른 시일내에 수정해서 등록하도록 하겠습니다. 감사합니다.(- -)(_ _) 꾸벅!

처음 뵙겠습니다! 뵙기를 기대합니다! !

Nice to meet you! I'm looking forward to seeing you! !

Nice to meet you Yotaro! I'm also excited to see you.

You can use English only if that's familiar to you :)

안녕하세요
스팀샵 입점은 어떻게 하는건가요?
조건이나 기준이 있는지 문의 드립니다~

안녕하세요. 특별한 조건은 딱히 없으며 정말 문제가 심각하다고 생각되는 극소수만 거르는 식입니다. 아직까지 그런 분은 없긴 했습니다 ㅎㅎ

아래 글을 참조하신 후 입점을 원하시면 말씀해주세요. 바로 판매자로 등록 하겠습니다.

https://steemit.com/kr/@segyepark/jf9pp

판매자 등록이 돼야 되는군요
그럼 판매자 등록 부탁드립니다~ ^^
지금은 다른분이 진행중인 이벤트 진행 중이라
조만간 이벤트 끝나는대로 준비해보겠습니다
수고하세요

등록했습니다. 혹시 이미 로그인 하셨다면 로그아웃 후 재로그인 하시면 되겠습니다. 앞으로 많은 애용 바랍니다 ^^

감사합니다~

매번 이렇게 스팀툴을 쓰다가 문제가 생길때만 댓글 하는것 같아서 송구스럽네요.
다름이 아니라 제가 이 글에서 언급된 백수곰을 구매했습니다. 근데 구매내역에 리스트가 보이지 않아서 다운을 할수가 없네요.^^
제 지갑에서는 이미 출금이 완료되었구요.

확인을 좀 부탁드릴께요.
항상 감사드립니다.

불편을 끼쳐드려 죄송합니다. 아무래도 뭔가 버그가 있었나봅니다 ㅜㅜ 확인후 수동으로 적용했으며 이제 다운로드가 가능하실 겁니다. 본 사항은 더 살펴서 동일한 상황이 다음 업데이트 버전에서는 없도록 더 주의를 기울이도록 하겠습니다.
문제가 있을때 말씀을 바로 해주셔서 오히려 큰 도움 됩니다. 항상 감사합니다 :)

꺄!!! 매번 정말 정말 감사합니다.!!

안녕하세요. 전자책을 올리고 싶은데 pdf 파일도 가능한지요?

안녕하세요. 네 물론 가능합니다. 샵 자체에서 형식을 제한하지는 않습니다. @krgame 님을 판매자로 등록했으니 로그아웃 후 재로그인 하시면 상품관리가 가능하십니다. 전자책 파일 형식은 예비 구매자분들을 위해 상품 설명에 명시하시면 될듯 합니다. 앞으로 많은 애용 바랍니다. 감사합니다 :)