한 달 내내 수많은 오류(Dwolla Customer error(중복된 customer ID로 인해 발생한 에러였음. email을 다르게 하면 해결됨), connect bank button error(오탈자로 인해 database에 제대로 정보 전송이 되지 않아서 발생한 에러였음, 해결됨) 등..)와 함께한 프로젝트가 거의 완성될 때 쯤 원인을 전혀 모르겠는 에러 문제에 봉착하게 된다.
사용된 API는 dwolla와 Plaid라는 프로그램이었는데 두 개 중, Plaid에서 Sandbox 측 오류였다.
ADDITIONAL_CONSENT_REQUIRED라는 오류로, 이는 현재 클라이언트가 거래 정보 (PRODUCT_TRANSACTIONS)에 접근할 수 있는 사용자 동의를 받지 못했음을 의미하는 오류이다.터미널 상으로 보이는 문제는
Plaid 문제였기 때문에 Plaid 설정에서 권한을 주면 되는 줄 알고 온갖 도움말을 보며 해결방안을 모색했으나 뾰족한 해결방법을 알아낼 수 없어 머리를 싸매고 고민하던 중, component 페이지 중 Transation History 페이지에서도
map에 관한 에러가 발생한다.
Plaid 가상 데이터가 들어와야 하는데 들어오지 않아서 생긴 문제였다.
아무래도 6개월 전 영상이다보니 그 사이에 Plaid의 정책이 변경되거나 하면서 원래의 코드로는 데이터가 불러와지지 않는 모양이었다.
같은 오류를 겪고 있는 사람이 있을까 하여 서칭을 통해 알아봤더니 생각보다 간단한 해결방법이었다.
파일 중 user.action.ts 파일의 코드 중 createLinkToken 함수의 prodects 부분이 ["auth"] as Products[ ], 뿐인 것을
products: ["auth", "transactions"] as Products[], 로 고쳐주고
appwrite의 auth에 저장된 가입한 회원정보를 전부 지우고 dwolla에 등록된 email 아이디를 전부 비활성화 시킨 다음,
새로 가입해주면,
원래 들어오지 않았던 Recent transations 데이터와 비어있던 Top categories에 데이터가 들어오는 것을 확인할 수 있다.
또한, 원래 run time error 창이 떴던 Transation History 페이지까지
제대로 동작하는 것을 확인할 수 있다.
이런 간단한 문제를 가지고 3일이나 고생했다니. 진짜 믿기지가 않는다.
그래도 수많은 에러를 거쳐 완성한 프로젝트의 끝을 봐서 기쁘고 감격스러울 따름이다.