인프런 커뮤니티 질문&답변

all_one님의 프로필 이미지
all_one

작성한 질문수

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

포트원 결제내역 검증 및 payment_detail 뷰를 통한 결제내역 조회

포트원 UI가 바뀌면서 포트원 404에러가 발생합니다.

작성

·

142

·

수정됨

0

안녕하세요. 강의 잘 듣고 있습니다.

가이드 주신대로
포트원 회원가입을 하고, 테스트 채널을 추가했습니다.

PORTONE_SHOP_ID 를 변경하여 결제를 생성해도
포트원 404 에러가 발생합니다.

포트원에서 UI가 업데이트 되었습니다.

그래서 대표설정을 찾지 못하였습니다.

이 부분 같이 고민해주실 수 있을까요?

image.png

 

https://github.com/pyhub-kr/course-django-payment-basic/tree/10c6d065e401ce6a9daa262d1906d10f2f9e69c3
여기 깃허브를 클론한 뒤 제 .env파일을 넣어서 테스트해도 포트원 404 에러가 발생합니다.


답변 5

1

이진석님의 프로필 이미지
이진석
지식공유자

포트원 기술지원팀으로터 회신을 받았습니다.

대표 채널 기능이 Deprecated되었구요. 기존에 대표 채널 기능을 사용하던 계정에 한해서는 기존 동작이 유지되지만, 이후에 생성된 계정에 대해서는 대표 채널 기능이 지원되지 않는다고 합니다. 그러니, IMP.request_pay API 호출 시에 반드시 "pg" 인지가 지정되어야한다고 하네요.

그리고, pg 인자는 "uplus" 처럼 pg provider 만 지정해도 되지만, "pgprovider.상점id" 포맷을 권장한다고 합니다. 예를 들어, 저의 경우 "uplus.imp94798117" 가 됩니다. 그런데, 테스트해보니 PG 설정 오류가 발생하네요. "uplus" 처럼 pg provider 만 지정하니 동작합니다.

--

이를 현 프로젝트에 적용하실 때에는

1) .env 파일에는 PORTONE_PG_PROVIDER=uplus 처럼 환경변수를 추가하시고,

image.png

2) mysite/settings.py 파일에는 위 환경변수를 읽어 settings에 반영할 수 있도록, PORTONE_PG_PROVIDER = env.str("PORTONE_PG_PROVIDER", default="") 코드를 추가하시고, PORTONE_PG 설정도 추가합니다.

image.png

 

3) payment_props 사전을 생성하는 장고 View에서는 "pg" 키로서 settings.PORTONE_PG 인자를 추가해보세요.


아래 커밋을 참고 부탁드립니다.


살펴보시고 댓글 부탁드립니다. :-)

 

0

all_one님의 프로필 이미지
all_one
질문자

오 강사님,

저 에러 메세지 말대로 일시적인 오류였던 것 같습니다.

오늘 테스트 해보니 PG가 잘 나옵니다.

image.png


친절히 답변해주셔서 감사합니다 🙂
끝까지 완강하겠습니다~!

이진석님의 프로필 이미지
이진석
지식공유자

잘 해결되셔서 다행입니다.

화이팅입니다~!!! ;-)

0

all_one님의 프로필 이미지
all_one
질문자

강사님, 답변해주셔서 감사합니다!

강사님께서 말씀하신 모든 절차에 대해서 확인하였습니다.

image.png


pg: uplus를 추가하여 시도한 결과 404 에러는 나오지 않고 있습니다.

image.png

하지만, 일시적인 오류가 발생했다는 내용이 나옵니다.

 

포트원 측에서 답변이 온다면 그 내용 확인하여 또 진행해보겠습니다!

함께 고민해주셔서 다시 한 번 감사드립니다.

이진석님의 프로필 이미지
이진석
지식공유자

저 에러는 처음 보네요. 결제창 초기에 뜨시나요? 아니면 최종 결제 후에 뜨시나요? // 오류 재현 시나리오를 상세히 알려주시면, 저도 확인해보겠습니다.

현재의 결제 요청 View 와 템플릿이 강의 저장소와 동일하신지요? 현재의 코드를 공유해주시겠어요?

조각코드는 gist.github.com 를 통해 공유하시면 편리합니다.

0

이진석님의 프로필 이미지
이진석
지식공유자

(추가) PORTONE_PG 설정 추가하기 강의에도 내용을 정리해두었으니, 참고 부탁드립니다.

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

포트원 관리자에서 "연동정보" 페이지가 리뉴얼되었고, 이로 인해 PG 대표설정 메뉴를 못 찾고 계시다는 말씀이시죠? // 저도 찾아보고는 있지만 보이질 않네요.

--

먼저 에러 메시지 확인이 필요합니다. IMP.requeset_pay 호출 시에 콜백 응답으로 에러 메시지가 있습니다. 이 에러 메시지를 확인할 수 있도록 아래 코드를 추가해서 에러 메시지를 확인해주시겠어요?

image.png

저는 방금 해보니 "IMP.request_pay() 함수의 pg 파라미터로 잘못된 값이 입력되었습니다. (NOT_READY)" 라는 에러 메시지를 확인했습니다. 혹시 같은 에러 메시지가 확인되시나요?

이 에러 메시지일 경우, IMP.request_pay 호출에서 pg 인자를 지정하지 않고 있는 데요. pg 인자를 지정하시면 결제가 진행되실 것입니다. pg 값은 각 채널의 "채널 정보 수정" 패널에서 "PG Provider" 항목에서 확인하실 수 있습니다. 토스페이먼츠의 경우 "uplus" 입니다.

image.png

이를 장고 View 단에 적용하실려면, payment_props 사전 생성 시에 merchant_uid, name, amount 등을 지정하잖아요. 여기에 "pg": "uplus", 값을 추가하시고 결제를 진행해보시겠어요?

확인해보시고 댓글 부탁드립니다.

--

대표설정 관련해서, 방금 포트원 측에 기술문의를 넣었습니다. 회신이 오면 공유드리겠습니다.

all_one님의 프로필 이미지
all_one

작성한 질문수

질문하기