결제 링크 생성

서버에서 REST API로 결제 링크를 생성하면, 고객에게 자동으로 알림이 전송됩니다.

주문서 호출과 마찬가지로 일반 상품, 구독 상품 등을 쉽게 결제 링크로 전송할 수 있습니다. 링크 생성 시 고객의 email, phone 정보를 함께 전달하면, 알림 설정에 따라 이메일, 알림톡(카카오), 문자(SMS) 등으로 고객에게 자동 발송됩니다. 고객이 링크를 통해 결제를 완료하면 redirect_url로 이동합니다.

1
결제 링크 생성
Server

서버에서 부트페이 API를 호출하여 결제 링크를 생성합니다. 상품 정보와 결제 금액을 포함하여 요청합니다.

결제 링크는 일정 시간이 지나면 만료됩니다. 만료 시간을 설정하여 보안을 강화하세요.
API 요청 파라미터
  • name주문명 (예: "Professional 플랜")
  • price결제 금액
  • order_id가맹점 주문 고유 ID
  • redirect_url결제 완료 후 이동할 URL
  • user.email고객 이메일 (이메일 발송에 필요)
  • user.phone고객 전화번호 (SMS/알림톡 발송에 필요)
products 배열

구독할 상품 정보를 배열로 전달합니다.

  • product_idCommerce에 등록된 상품 ID
  • duration구독 기간 (-1은 무기한)
  • quantity수량
2
고객에게 자동 알림 발송
Server

결제 링크가 생성되면 알림 설정에 따라 고객에게 자동으로 발송됩니다.

자동 알림 발송: 고객 정보(email, phone)가 있으면 이메일, SMS, 카카오 알림톡으로 자동 전송됩니다. 부트페이 관리자에서 알림 채널을 설정할 수 있습니다.
응답 데이터
  • payment_url결제 페이지 URL (직접 전송이 필요한 경우 활용)
  • invoice_id생성된 청구서 ID
  • expired_at링크 만료 시간
3
고객 결제 완료
Client

고객이 알림으로 받은 결제 링크를 클릭하면 주문서 페이지로 이동합니다. 결제 정보를 입력하고 결제를 완료하면, 설정된 redirect_url로 자동 이동합니다.

검증 방법 2가지: ① 웹훅으로 결제 정보 수신 ② redirect_url에서 order_number로 주문 조회
redirect_url 파라미터
  • order_number주문 번호 (주문 조회 시 사용)
  • receipt_id부트페이 결제 고유 ID
4
결제 검증
Server

결제 완료 후 서버에서 결제를 검증해야 합니다. 두 가지 방법 중 선택할 수 있습니다.

방법 1order_number로 주문 조회

redirect_url에서 받은 order_number로 주문 정보를 조회합니다.

주문 조회 예시
// redirect_url에서 order_number 추출
const orderNumber = req.query.order_number

// 주문 상세 조회
const order = await commerce.order.detail(orderNumber)

if (order.status === 1) {
  // 결제 완료 처리
}
방법 2웹훅으로 결제 정보 수신

결제가 완료되면 부트페이에서 설정된 웹훅 URL로 결제 정보를 전송합니다.

  • receipt_id부트페이 결제 고유 ID
  • order_number주문 번호
  • price결제 금액
  • status결제 상태 (1: 완료)
검증 결과 처리
결제 완료: 주문 상태를 완료로 변경하고 서비스를 활성화합니다.
검증 실패: 결제 취소 또는 오류 처리를 진행합니다.

고급 기능

링크 만료 시간 설정

결제 링크의 유효 기간을 설정할 수 있습니다.

예시
expired_at: '2024-12-31 23:59:59'  // 만료 시간
// 또는
expire_in: 3600  // 초 단위 (1시간)
metadata 활용

결제에 추가 정보를 저장할 수 있습니다.

예시
metadata: {
  order_id: 'ORDER_123',
  plan_key: 'pro',
  billing_type: '연간',
  promotion_code: 'SUMMER2024'
}
웹훅 설정

웹훅 URL은 부트페이 관리자에서 설정합니다.

웹훅 실패 시 자동으로 재시도됩니다. 200 응답을 반환해야 성공으로 처리됩니다.
Server
SDK 설치 안내
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// Node.js - 결제 링크(청구서) 생성const { BootpayCommerce } = require('@bootpay/backend-js') // Commerce API 초기화const commerce = new BootpayCommerce({  client_key: 'YOUR_CLIENT_KEY',  secret_key: 'YOUR_SECRET_KEY'}) async function createInvoice() {  try {    // 1. 액세스 토큰 발급    await commerce.getAccessToken()     // 2. 결제 링크(청구서) 생성    const response = await commerce.invoice.create({      name: '테스트 상품',           // 주문명      price: 50000,                  // 결제 금액      tax_free_price: 0,             // 면세 금액      user_id: 'USER_ID_HERE',       // 사용자 ID (선택)      expired_at: '2024-12-31 23:59:59', // 만료 시간 (선택)      send_types: [1, 2],            // 발송 타입: 1=SMS, 2=카카오      metadata: {                    // 추가 데이터 (선택)        order_id: 'ORDER_123',        memo: '고객 메모'      }    })     if (response.success) {      console.log('결제 링크 생성 성공')      console.log('결제 URL:', response.data.payment_url)      console.log('청구서 ID:', response.data.id)      return response.data    } else {      throw new Error(response.message)    }   } catch (error) {    console.error('결제 링크 생성 실패:', error)    throw error  }} // 실행createInvoice()  .then(invoice => {    // 생성된 링크를 SMS, 이메일, 카카오톡 등으로 고객에게 전송    console.log('고객에게 전송할 URL:', invoice.payment_url)  })  .catch(error => {    console.error('Error:', error)  }) 
미리보기
결제 링크 생성
결제 링크 생성
REST API로 결제 링크를 생성합니다