개발자센터

페이먼트월

페이먼트월 결제창 연동가이드를 확인 합니다.

1. 페이먼트월 PG 설정하기

페이먼트월 설정 페이지의 내용을 참고하여 PG 설정을 진행합니다.

2.결제 요청하기

JavaScript SDK IMP.request_pay(param, callback)을 호출하여 페이먼트월 결제창을 호출할 수 있습니다. 결제결과는 PC의 경우 IMP.request_pay(param, callback) 호출 후 callback 으로 수신되며 모바일의 경우m_redirect_url 로 리디렉션됩니다.

Javascript SDK
IMP.request_pay({
  pg: "paymentwall.{project_key}",
  pay_method: "card", // 페이먼트월은 국가IP에 따라 결제수단이 활성화 됩니다.(생략가능)
  merchant_uid: "order_no_0001", //상점에서 생성한 고유 주문번호
  name: "주문명:결제테스트",
  amount: 1004,
  currency: "KRW", // 필수 파라미터
  buyer_email: "test@portone.io", //필수 파라미터 
  buyer_name: "Jack Son", // 반드시 Firstname Lastname 이 빈칸으로 구분되어야 
  buyer_tel: "010-1234-5678",
  buyer_addr: "서울특별시 강남구 삼성동",
  buyer_postcode: "123-456",
  m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}",
  use_test_method : true, // 테스트 결제 수단을 활성화하는 파라미터,
  bypass: {
    // 터미날3 인경우 해당 파라미터 설정, 미 설정시 Defualt(일반) 결제창 활성화
    widget_code: "t3_1",
    // 특정 결제수단만 활성화 하는 경우 사용 all 인 경우(default) 국가 지원 결제수단 모두 표
    ps: "all",
    country_code: "DE" // 코드가 지정되면 지정된 국가에서 지원하는 결제수단이 활성화됩니다.
  },
}, function (rsp) { // callback 로직
  /* ...중략... */
});

주요 파라미터 설명

pg *string

PG사 구분코드

paymentwall 로 지정하면 됩니다.

pay_method string

결제수단 구분코드 (생략가능)

결제수단 제어는 페이먼트월 홈페이지 안에서 Project를 활성화 하여 제어 할수 있습니다.

(별도로 제어하지 않으시면 국가IP에 맞는 결제수단이 기본으로 노출됩니다)

merchant_uid * string

주문번호

매번 고유하게 채번되어야 합니다.

amount *integer

결제금액

string 이 아닌점에 유의하세요

buyer_name * string

구매자 이름

buyer_email * string

구매자 email 주소

필수로 유입되어야 합니다.

currency * string

통화구분코드

use_test_method boolean

테스트 결제수단 활성화 여부

LIVE 프로젝트에서 테스트 결제수단을 활성화 하는 경우 사용합니다.

만약 LIVE 프로젝트가 아니라면(페이먼트월 심사 완료 전 단계), use_test_method 파라미터 설정과 동시에 bypass의 ps 파라미터를 test로 설정해야 테스트 결제수단 사용이 가능합니다.

Javascript SDK
IMP.request_pay({
  use_test_method: true,
  bypass: {
    ps: "test", // LIVE 프로젝트가 아닌 경우, ps도 test로 설정해야만 테스트 결제수단이 활성화됩니다.
  },
});

bypass

페이먼트월 전용 파라미터

  • widget_code: 터미날3 인 경우 t3_1 파라미터 설정, 미 설정시 Defualt(일반) 결제창 활성화
  • ps: 특정 결제수단만 활성화 하는 경우 사용합니다. 해당 파라미터에 설정할 코드표는 링크를 참조해 주세요. ex) kakaopaykr = 카카오페이
  • country_code: 지정된 코드 값에 해당하는 국가 지원 결제수단이 위젯상에 노출됩니다.(코드확인)

인증결제창 호출 파라미터에서 customer_uid 값을 추가하면 비 인증 결제창을 호출할 수 있습니다. 비 인증 결제창에서 빌링키를 발급받은 후 해당 빌링키로 결제를 요청합니다.

Javascript SDK
IMP.request_pay(
  {
    pg: "paymentwall.{project_key}",
    pay_method: "card", // 빌링키 결제는 오직 신용카드만 가능합니다.
    merchant_uid: "order_monthly_0001", // 상점에서 관리하는 주문 번호
    name: "최초인증결제",
    amount: 20, // 결제창에 표시될 금액. 실제 승인이 이뤄지지는 않습니다.
    currency: "USD", // 필수 파라미터
    customer_uid: "your-customer-unique-id", // 필수 입력
    buyer_email: "test@portone.io", // 빌링키 발급시 기재한 주소와 빌링키 결제할때 기재한 주소가 동일해야 합니다.
    buyer_name: "Jack Son", // 반드시 Firstname Lastname 이 빈칸으로 구분되어야 합니다.
    buyer_tel: "02-1234-1234",
    m_redirect_url: "{모바일에서 결제 완료 후 리디렉션 될 URL}",
  },
  function (rsp) {
    if (rsp.success) {
      alert("빌링키 발급 성공");
    } else {
      alert("빌링키 발급 실패");
    }
  }
);

주요 파라미터 설명

pg *string

PG사 구분코드

paymentwall.{projectkey} 형태로 기재(project_key는 페이먼트월 관리자페이지에서 확인 가능)

customer_uid *string

카드 빌링키

비 인증 결제창에서 고객이 입력한 카드정보와 1:1로 매칭될 빌링키를 지정합니다.

buyer_email *string

구매자 이메일 주소

필수 입력되어야 하며 빌링키 발급시 기재한 주소와 발급된 빌링키로 결제시 기입한 이메일주소가 일치해야 합니다.

buyer_name *string

구매자명 First_name Last_name 형태로 중간에 띄어쓰기로 각각을 구분되도록 기재해야 합니다.

amount *Integer

결제금액

설정된 금액으로 최초 승인이 무조건 발생됩니다.

빌링키(customer_uid)로 결제 요청하기

빌링키 발급이 성공하면 실 빌링키는 customer_uid 와 1:1 매칭되어 포트원 서버에 저장됩니다. customer_uid를 가맹점 내부서버에 저장하시고 비 인증 결제요청 REST API를 호출하시면 결제를 발생시킬 수 있습니다.

server-side
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

배송정보 등록 API

페이먼트월을 통한 이커머스 (실물상품) 결제인 경우 아래 배송정보등록 API 를 반드시 연동해주셔야 합니다. 해당 연동 누락시 정산에 문제가 발생합니다.

https://api.iamport.kr/#!/paymentwall/paymentwall_delivery