Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 3.62 KB

kcp-request-billing-key.md

File metadata and controls

61 lines (45 loc) · 3.62 KB

NHN KCP 정기결제(빌링) 연동 가이드 결제창

🌐 EN

KCP의 웹표준 결제창/모바일 결제창을 통해서 빌링키 발급을 요청하여 발급받은 빌링키로 결제를 요청할 수 있습니다.

ℹ️ 자세한 내용은 일반결제창으로 정기결제 연동하기를 참고하세요.

ℹ️ KCP와 별도 협의된 가맹점은 REST API를 사용하여 정기결제(빌링)를 연동할 수 있습니다. 해당 내용은 KCP 정기결제(빌링) 연동 가이드 (REST API 방식)을 참고하세요.

1. PG 설정하기

KCP 정기결제 테스트 모드 설정 페이지의 1) 결제창 방식의 내용를 참고하여 PG 설정을 합니다.

2. 빌링키 발급 요청하기

IMP.request_pay(param, callback)을 호출하여 빌링키 발급을 위한 결제창을 호출합니다.

ℹ️ 자세한 내용은 일반결제창으로 빌링키 요청하기를 참고하세요.

PC의 경우 IMP.request_pay(param, callback) 호출 후 callback으로 실행되고, 모바일의 경우 m_redirect_url로 리디렉션됩니다.

  • pg : 등록된 PG사가 하나일 경우에는 미 설정시 기본 PG사가 자동으로 적용되며, 여러개인 경우에는 kcp_billing으로 지정합니다.
  • customer_uid : 빌링키 등록을 위해서 지정해야 합니다.
  • amount : 결제창에 표시될 금액으로 실제 승인은 이루어지지 않습니다. 빌링키 발급과 함께 최초 결제를 하려면, 결제창에 금액이 표시되도록 금액을 지정하고 발급받은 빌링키로 결제 요청을 합니다.
IMP.request_pay({
	pg : 'kcp_billing',
	pay_method : 'card', // 'card'만 지원됩니다.
	merchant_uid: 'order_monthly_0001', // 상점에서 관리하는 주문 번호
	name : '최초인증결제',
	amount : 0, // 결제창에 표시될 금액. 실제 승인이 이뤄지지는 않습니다. (PC에서는 가격이 표시되지 않음)
	customer_uid : 'your-customer-unique-id', // 필수 입력.
	buyer_email : '[email protected]',
	buyer_name : '아임포트',
	buyer_tel : '02-1234-1234',
	m_redirect_url : '{모바일에서 결제 완료 후 리디렉션 될 URL}', // 예: https://www.my-service.com/payments/complete/mobile
	bypass : {
		site_logo : '{상점의 로고가 있는 정확한 URL}'  // 설정 시 결제 창 왼쪽 상단에 로고를 띄웁니다. 결제 창 호출이 느려질 수 있으며 150 X 50 미만 GIF, JPG 파일만 지원.
	}
}, function(rsp) {
	if ( rsp.success ) {
		alert('빌링키 발급 성공');
	} else {
		alert('빌링키 발급 실패');
	}
});

빌링키 발급이 성공하면 빌링키는 전달된 customer_uid 와 1:1 매칭되어 아임포트에 저장됩니다. 보안상의 이유로 서버는 빌링키에 직접 접근할 수 없기 때문에 customer_uid를 이용해서 재결제(POST /subscribe/payments/again) REST API를 다음과 같이 호출합니다.

curl -H "Content-Type: application/json" \   
     -X POST -d '{"customer_uid":"your-customer-unique-id", "merchant_uid":"order_id_8237352", "amount":3000}' \
     https://api.iamport.kr/subscribe/payments/again