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

all_one님의 프로필 이미지

작성한 질문수

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

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

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

24.08.28 20:32 작성

·

71

·

수정됨

0

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

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

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

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

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

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

image.png

 

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


답변 5

1

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

2024. 08. 29. 12:17

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

대표 채널 기능이 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
질문자

2024. 08. 30. 13:30

오 강사님,

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

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

image.png


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

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

2024. 08. 30. 13:35

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

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

0

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

2024. 08. 29. 20:51

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

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

image.png


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

image.png

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

 

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

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

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

2024. 08. 29. 21:06

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

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

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

0

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

2024. 08. 29. 13:21

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

0

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

2024. 08. 29. 10:01

안녕하세요.

포트원 관리자에서 "연동정보" 페이지가 리뉴얼되었고, 이로 인해 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님의 프로필 이미지

작성한 질문수

질문하기