고객사 주문페이지에 결제수단별 버튼을 만들어 해당 결제수단을 바로 호출합니다.
명시적으로 버튼에 특정 PSP의 결제수단을 연결할 수 있으며 파라미터 변경을 통해 멀티PG를 구현 할 수 있습니다.

콜백 또는 redirect url로 결과처리하기

결제완료 이후 success_url 또는 failure_url로 결제결과가 리디렉션 됩니다.
리디렉션되는 페이지에 아래의 쿼리 스트링(Query String)값을 파싱하여 결과처리를 진행합니다.
리디렉션되는 결과값에 대한 위변조 여부 검증로직을 통해 무결성을 확인할 수 있습니다.

PSP 또는 간편결제사의 결제창 또는 간편결제 앱호출을 위한 QR코드를 표시하여 결제가 진행됩니다.
모바일에서 간편결제를 진행하는 경우 딥링크를 통해 간편결제 앱을 호출합니다.

order_ref

string
포트원 거래번호
결제에 대해 포트원에서 채번한 거래번호입니다.
거래조회, 결제취소(환불)시에 활용됩니다.

channel_order_ref

string
결제채널 거래번호
결제가 진행된 결제채널(PSP)에서 채번한 거래번호입니다.

merchant_order_ref

string
고객사 주문번호
고객사가 유니크하게 채번하여 거래에 부여한 주문번호입니다.

status

string
결제상태
결제상태 코드에 대한 설명입니다.

status_code

number
결제상태 코드
결제상태를 코드로 분류한 값입니다.

status_reason

string
결제실패 사유
결제실패 시 사유에 대한 설명입니다.

signature_hash

string
해쉬검증값
리디렉션 값의 위변조를 검증하기 위한 값입니다.
해쉬값 검증로직을 참고해 주세요.
창 닫음, 새로고침, 뒤로가기, 네트워크 오류 등으로 리디렉션은 유실될 수 있습니다.
최종 결제결과 로직처리는 반드시 웹훅을 이용하여 안정적으로 처리해 주셔야 합니다.

KOMOJU의 편의점, ATM 결제의 경우 입금안내 페이지로 이동하는데, 해당 페이지에서 리디렉션 기능을 제공하지 않습니다.
이 경우 callback 함수로 입금안내를 위한 결과를 내려받아 화면에 표시하고 다음 페이지로 리디렉션할 수 있습니다.


        		IMP.request_pay(data,
                     // 콜백함수 구현부
			    	  rsp => {
						 if(rsp != null) {
							// axios로 고객사 내부서버로 포트원 거래번호와 고객사 주문번호를 전송합니다.
							// 벡엔드 서버에서 rsp.order_ref를 인자로 결제조회 API를 전송하여 결제결과를 수신할 수 있습니다.
							axios ({
								url:"{고객사 벡엔드 서버의 결제결과 정보를 받는 endpoint}",
								method:"post",
								headers:{"Content-Type": "application/json"},
								data:{
									merchant_order_ref: rsp.merchant_order_ref,
									order_ref: rsp.order_ref
								}
							}).then ((result_data) => {
								// 고객사 서버에서 처리한 결과를 결제자에게 표시할 수 있습니다.
							})
						 else{
							alert ('결제결과 수신에 실패 하였습니다.');
						 }
					 });
		
창 닫음, 새로고침, 뒤로가기, 네트워크 오류 등으로 콜백은 유실될 수 있습니다.
최종 결제결과 로직처리는 반드시 웹훅을 이용하여 안정적으로 처리해 주셔야 합니다.