### Install Bootpay via CDN Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs Load the Bootpay script directly from the CDN in your HTML file. ```html ``` -------------------------------- ### Install Bootpay Node.js Backend Library Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Install the Bootpay Node.js library using npm. This library is required for server-side operations such as payment inquiry, cancellation, and scheduled payments due to security reasons. For serverless environments, refer to the REST API specifications. ```bash npm install --save @bootpay/backend-js ``` -------------------------------- ### Install Bootpay via npm Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs Add the bootpay package to your project's dependencies and import it for use. ```json {"@bootpay/client-js":"^5.3.1"} ``` ```bash yarn add @bootpay/client-js ``` ```javascript import { Bootpay } from '@bootpay/client-js' ``` -------------------------------- ### Request General Payment Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs Initiate a payment request using the Bootpay SDK. This example demonstrates a card payment with user and item details. ```javascript import { Bootpay } from '@bootpay/client-js' const response = await Bootpay.requestPayment({ "application_id": "59a4d323396fa607cbe75de4", "price": 1000, "order_name": "테스트결제", "order_id": "TEST_ORDER_ID", "pg": "다날", "method": "카드", "tax_free": 0, "user": { "id": "회원아이디", "username": "회원이름", "phone": "01000000000", "email": "test@test.com" }, "items": [ { "id": "item_id", "name": "테스트아이템", "qty": 1, "price": 1000 } ], "extra": { "open_type": "iframe", "card_quota": "0,2,3", "escrow": false } }) ``` -------------------------------- ### Request Authentication with BootPay Client Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Use the Bootpay client-side SDK to initiate the authentication process. Extract the receipt_id from the 'done' event to verify the authentication on your server. This example shows how to handle success and potential errors during the authentication flow. ```javascript import { Bootpay } from '@bootpay/client-js' try { const response = await Bootpay.requestAuthentication({ application_id: '[ 플랫폼에 맞는 Application ID]', pg: '다날', order_name: '본인인증', authentication_id: '가맹점에서 부여한 고유 본인인증 ID', user: { username: '홍길동', phone: '01000000000' } }) switch (response.event) { case 'done': // 본인인증 완료, 본인인증의 경우 성공시 done 이벤트만 받는다 (만약 분리승인 옵션을 줬을 경우 confirm 도 수신하게 됨) console.log(response.data) // 결제 완료 처리 break } } catch (e) { // 결제 진행중 오류 발생 // e.error_code - 부트페이 오류 코드 // e.pg_error_code - PG 오류 코드 // e.message - 오류 내용 console.log(e.message) switch (e.event) { case 'cancel': // 사용자가 결제창을 닫을때 호출 console.log(e.message); break case 'error': // 결제 승인 중 오류 발생시 호출 console.log(e.error_code); break } } ``` -------------------------------- ### Initiate Escrow Payment Request Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Use this snippet to start an escrow payment. Ensure your PG account supports escrow and set `extra.escrow` to `true` in the payment request payload. ```javascript import { Bootpay } from "@bootpay/client-js"; Bootpay.requestPayment({ // 기존 결제 요청 extra: { escrow: true } }).then( function (response) { if (response.event === 'done') { console.log('에스크로 결제가 완료되었습니다.') } }, function (error) { console.log(error.message) } ) ``` -------------------------------- ### HTTP Header for Bootpay API Request Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This example shows the required HTTP headers, including the 'Authorization' header with the Bearer token, for making authenticated requests to the Bootpay API. ```http { "Authorization": "Bearer c553086e8e256dec37624b79119fb4158feedb36566ea5f5f43432f7292aebcf", "Content-Type": "application/json", "Accept": "application/json" } ``` -------------------------------- ### Set Bootpay Configuration and Get Access Token Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Use this Node.js snippet to configure your application ID and private key, then retrieve an access token from Bootpay. Handle potential errors during the token issuance process. ```javascript import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({ application_id: '[ REST API용 Application ID ]', private_key: '[ Private KEy ]' }) try { const response = await Bootpay.getAccessToken() console.log(response) } catch (e) { // 발급 실패시 오류 console.log(e) } ``` -------------------------------- ### BootPay Payment Result Webhook Payload Example Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This JSON payload is an example of the data received by your server when a payment event occurs. It contains detailed information about the transaction, including payment status, method, and card details if applicable. ```json { "application_id": "59a568d3e13f3336c21bf707", "receipt_id": "624e725b1fc19202e4746fdf", "order_id": "1649308254184", "price": 1000, "tax_free": 0, "cancelled_price": 0, "cancelled_tax_free": 0, "order_name": "결제 테스트", "company_name": "주) 부트페이", "gateway_url": "https://gw.bootpay.co.kr", "metadata": { "test": 1 }, "sandbox": true, "pg": "이니시스", "method": "카드", "method_symbol": "card", "method_origin": "네이버페이(결제형)", "method_origin_symbol": "naverpay", "currency": "KRW", "purchased_at": "2022-04-07T14:11:35+09:00", "cancelled_at": null, "requested_at": "2022-04-07T14:10:51+09:00", "escrow_status_locale": null, "escrow_status": null, "status_locale": "결제완료", "status": 1, "receipt_url": "https://door.bootpay.co.kr/receipt/WWlMbmFWRmlxcGUwb3Y3T1Q5b0R5clBjc2ZyUVhHVGpwamZBNS9KYXNhbmdB%0AZz09LS1zM1ZueWpsY0hCT3VPSmxsLS1EcVVGcitsVFBoQ3hCR1UyNFNhK0tB%0APT0%3D%0A", "card_data": { "tid": "INIMX_CARDINIpayTest20220407141134844505", "card_approve_no": "30042959", "card_no": "557042*********9", "card_interest": "0", "card_quota": "00", "card_company_code": "06", "card_company": "국민계열", "card_type": "신용", "receipt_url": "https:\/\/npg.nicepay.co.kr\/issue\/IssueLoader.do?type=0&InnerWin=Y&TID=nicnaver0m01012207111634232099" } } ``` -------------------------------- ### Node.js에서 결제 취소하기 Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Bootpay Node.js SDK를 사용하여 결제를 취소합니다. 결제 취소 시 필요한 파라미터와 함께 액세스 토큰 발급 과정을 포함합니다. ```javascript import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({ application_id: '[ REST API용 Application ID ]', private_key: '[ Private KEy ]' }) try { await Bootpay.getAccessToken() const response = await Bootpay.cancelPayment({ receipt_id: '[ receipt_id ]', cancel_price: '[ 취소 금액 ]', cancel_tax_free: '[ 취소 면세금액 ]', cancel_id: '[ 가맹점 취소 고유 ID ]', cancel_username: '[ 취소자명 ]', cancel_message: '[ 취소 사유 ]' }) console.log(response) } catch (e) { // 발급 실패시 오류 console.log(e) } ``` -------------------------------- ### Verify Authentication Results with Node.js Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Use this snippet to set up your Bootpay configuration with your application ID and private key, obtain an access token, and then call the certificate API to retrieve authentication results. Handle potential errors during the process. ```javascript import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({ application_id: '[ REST API용 Application ID ]', private_key: '[ Private KEy ]' }) try { await Bootpay.getAccessToken() const response = await Bootpay.certificate('[ receipt_id ]') console.log(response) } catch (e) { // 발급 실패시 오류 console.log(e) } ``` -------------------------------- ### Cash Receipt Cancellation Response Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This is an example of the response received after a successful cash receipt cancellation. It includes details of the original transaction and the cancellation. ```json { "receipt_id": "62f356871fc192036f9f4ae2", "order_id": "1660114567.464291", "price": 1000, "tax_free": 0, "cancelled_price": 0, "cancelled_tax_free": 0, "order_name": "테스트", "company_name": "주) 부트페이", "metadata": {}, "sandbox": false, "pg": "토스페이먼츠(LGU+)", "method": "현금영수증", "method_symbol": "cash_receipt", "method_origin": "현금영수증", "method_origin_symbol": "cash_receipt", "purchased_at": "2022-08-10T15:56:08+09:00", "cancelled_at": "2022-08-10T17:27:20+09:00", "requested_at": "2022-08-10T15:56:07+09:00", "status_locale": "현금영수증발행취소", "status": 61, "cash_receipt_data": { "tid": "Ae75jWNka9lpP2YxJ4K87RXb62PYLrRGZwXLObgyB0vMDm1d", "cash_receipt_type": 1, "receipt_url": "https://dashboard.tosspayments.com/receipts/cash-receipt/62f356871fc192036f9f4ae2/tvivarepublica?ref=PX" } } ``` -------------------------------- ### Authentication Response Object Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This is an example of the response object received after a successful OTP SMS resend request. It includes details about the authentication process and the receipt ID. ```json { "receipt_id": "636375501fc19203724b3ad8", "authentication_id": "1667462479", "metadata": {}, "pg": "다날", "method": "인증", "method_symbol": "auth", "method_origin": "인증", "method_origin_symbol": "auth", "requested_at": "2022-11-03T17:01:20+09:00", "status": 51, "authenticate_data": { "tid": "202211031701204002337011", "number_of_realarms": 1 } } ``` -------------------------------- ### Example Bootpay Access Token Response Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This JSON object represents a successful response when requesting a Bootpay Access Token, including the token and its expiration time in seconds. ```json { "expire_in": 1800, "access_token": "c553086e8e256dec37624b79119fb4158feedb36566ea5f5f43432f7292aebcf" } ``` -------------------------------- ### 빌링키로 결제 예약하기 Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs 빌링키를 사용하여 미래 시점에 결제를 예약하는 API입니다. 결제 예약 요청 시 결제 정보와 예약 실행 시간을 포함하여 전송하면, 결제일에 유효할 경우 최종 승인이 이루어집니다. 결제 결과는 서버로 통지됩니다. ```APIDOC ## POST /subscribe/payment/reserve ### Description 빌링키를 사용하여 미래 시점에 결제를 예약합니다. 이 기능은 주로 반복 결제(subscription)를 구현하는 데 사용됩니다. 결제 예약 후, 부트페이 서버에서 예약된 시간에 결제를 실행하고 결과를 가맹점 서버로 통지합니다. ### Method POST ### Endpoint /subscribe/payment/reserve ### Parameters #### Request Body - **billing_key** (string) - 필수 - 자동결제에 사용할 빌링키 값 - **order_name** (string) - 필수 - 자동결제 결제명 - **price** (number) - 필수 - 자동결제시 진행할 금액 - **order_id** (string) - 필수 - 자동결제시 부여할 가맹점 고유 주문번호 - **reserve_execute_at** (date) - 필수 - 자동결제를 진행할 시간 (UTC 또는 TIMEZONE 형식) - **user** (object) - 선택 - 결제 회원 정보 (phone, username, email 등) - **metadata** (object) - 선택 - 가맹점에서 보내는 custom 데이터 - **feedback_url** (string) - 선택 - 결제 결과 통지를 받을 URL - **content_type** (string) - 선택 - Feedback URL로 웹훅될 때 전송되는 ContentType (application/json 또는 application/x-www-form-urlencoded) ### Request Example ```json { "billing_key": "빌링키", "order_name": "테스트결제", "price": 1000, "order_id": "1650511536000", "user": { "phone": "01000000000", "username": "홍길동", "email": "test@bootpay.co.kr" }, "reserve_execute_at": "2022-04-21T17:05:36+09:00" } ``` ### Response #### Success Response (200) - **reserve_id** (string) - 예약된 결제의 고유 ID - **reserve_execute_at** (date) - 예약된 결제 실행 시간 #### Response Example ```json { "reserve_id": "6261104e1fc19202e6f9420e", "reserve_execute_at": "2022-04-21T17:05:36+09:00" } ``` ``` -------------------------------- ### 본인인증 REST API 요청 Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs BootPay 백엔드 JS SDK를 사용하여 REST API로 본인인증을 요청하는 예제입니다. PG사, 인증 방법, 사용자 정보 등을 포함하여 요청합니다. ```APIDOC ## POST /request/authentication ### Description REST API를 통해 본인인증을 요청합니다. 현재 다날 PG사만 지원하며, SMS 또는 PASS 앱을 통해 인증할 수 있습니다. 커스텀 UI를 제공할 수 있습니다. ### Method POST ### Endpoint /request/authentication ### Parameters #### Request Body - **pg** (string) - 필수 - 본인인증으로 사용할 PG symbol (ex: 다날) - **method** (string) - 필수 - 본인인증 method symbol (ex: 본인인증) - **order_name** (string) - 필수 - 본인인증 주요한 제목명 - **authentication_id** (string) - 필수 - 가맹점에서 보낸 본인인증에 대한 고유 ID 값 - **username** (string) - 필수 - 본인인증을 받으려는 사용자명 - **identity_no** (string) - 필수 - 본인인증 받으려는 생년월일 + 주민등록번호 뒤에 1자리 (ex: 9812212) - **phone** (string) - 필수 - 본인인증을 위해 보내는 username 명의된 휴대전화번호 - **carrier** (string) - 필수 - phone 전화번호의 회선 통신사 정보 (ex: SKT, KT, LGT, SKT_MVNO, KT_MVNO, LGT_MVNO) - **client_ip** (string) - 필수 - 본인인증을 요청하는 클라이언트 IP - **site_url** (string) - 선택 - 본인인증하는 URL 혹은 APP명 (web - ex) www.bootpay.co.kr, 앱 - ex) 부트페이) - **authenticate_type** (string) - 선택 - 인증하려는 인증방법 (sms, pass) (기본값: sms) - **metadata** (hash) - 선택 - 가맹점에서 초기 보내는 custom data, 본인인증 완료시 리턴 받습니다 ### Response #### Success Response (200) - **receipt_id** (string) - 부트페이 고유 본인인증 ID - **authentication_id** (string) - 가맹점에서 보낸 고유 authentication_id - **metadata** (hash) - 가맹점에서 초기 보낸 custom data. - **pg** (string) - 본인인증 선택한 PG사명 - **method** (string) - 본인인증 방법 - **method_symbol** (string) - 본인인증 방법 symbol - **requested_at** (date) - 본인인증 요청시각 - **status** (number) - 본인인증 진행상태 (ex: 50 - 본인인증 요청, 51 - 본인인증 승인전, 12 - 본인인증 완료) - **authenticate_data** (hash) - 본인인증 데이터 ### Request Example ```json { "receipt_id": "636375501fc19203724b3ad8", "authentication_id": "1667462479", "metadata": {}, "pg": "다날", "method": "인증", "method_symbol": "auth", "method_origin": "인증", "method_origin_symbol": "auth", "requested_at": "2022-11-03T17:01:20+09:00", "status": 51, "authenticate_data": { "tid": "202211031701204002337011", "number_of_realarms": 0 } } ``` ``` -------------------------------- ### BootPay REST API Error Response Example Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This JSON object represents an error response from the BootPay REST API, indicating an issue like a missing application key. ```json { "error_code": "APP_KEY_NOT_FOUND", "message": "Application ID를 찾지 못했습니다. 부트페이 관리자에서 application id를 다시 확인해주세요." } ``` -------------------------------- ### Initiate Escrow Payment Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This snippet shows how to initiate an escrow payment by setting the `escrow` parameter to `true` in the payment request. Ensure your PG account supports escrow payments. ```APIDOC ## Initiate Escrow Payment ### Description Initiates an escrow payment by including `extra.escrow: true` in the payment request. This is used for cash transactions to guarantee buyer safety and facilitate smooth e-commerce. ### Method POST (Implicitly via `Bootpay.requestPayment`) ### Parameters #### Request Body - **extra** (object) - Required - Additional payment options. - **escrow** (boolean) - Required - Set to `true` to activate escrow payment. Defaults to `false`. ### Request Example ```javascript import { Bootpay } from "@bootpay/client-js"; Bootpay.requestPayment({ // Existing payment request details... extra: { escrow: true } }).then( function (response) { if (response.event === 'done') { console.log('Escrow payment completed.'); } }, function (error) { console.log(error.message); } ); ``` ### Response (Standard Bootpay payment response structure, with event indicating completion.) ``` -------------------------------- ### Import Bootpay in SSR environments (Next.js) Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs For SSR environments like Next.js, use a dynamic import to load the Bootpay SDK. ```javascript const Bootpay = (await import("@bootpay/client-js")).default ``` -------------------------------- ### Node.js에서 본인인증 요청하기 Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web Bootpay Node.js 서버사이드 모듈을 사용하여 REST API로 본인인증을 요청하는 예제입니다. 인증에 필요한 사용자 정보와 통신사 정보를 포함해야 합니다. ```javascript import { Bootpay } from "@bootpay/backend-js"; Bootpay.setConfiguration({ application_id: "[ REST API용 Application ID ]", private_key: "[ Private KEy ]" }); try { await Bootpay.getAccessToken(); const response = await Bootpay.requestAuthentication({ pg: "PG명", method: "본인인증", order_name: "테스트 인증", authentication_id: (new Date()).getTime(), username: "이름", identity_no: "생년월일", phone: "전화번호", carrier: "통신사", authenticate_type: "sms | pass", client_ip; "요청하는 클라이언트 IP" }); console.log(response); } catch (e) { // 발급 실패시 오류 console.log(e); } ``` -------------------------------- ### Get Payment Details Source: https://docs.bootpay.co.kr/?front=web&backend=nodejs Retrieves the details of a specific payment using its unique Bootpay ID. This is crucial for server-side verification of payment information to prevent fraud and ensure accuracy. ```APIDOC ## GET /receipt/:id ### Description Retrieves the details of a specific payment using its unique Bootpay ID. This is crucial for server-side verification of payment information to prevent fraud and ensure accuracy. ### Method GET ### Endpoint `/receipt/:id` ### Parameters #### Path Parameters - **id** (string) - Required - The unique Bootpay ID for the payment (receipt_id). ### Request Example ```javascript import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({ application_id: '[ REST API용 Application ID ]', private_key: '[ Private KEy ]' }) try { await Bootpay.getAccessToken() const response = await Bootpay.receiptPayment('[ receipt_id ]') console.log(response) } catch (e) { // 발급 실패시 오류 console.log(e) } ``` ### Response #### Success Response (200) - **receipt_id** (string) - The unique ID of the receipt. - **order_id** (string) - The ID of the order. - **price** (number) - The total price of the payment. - **tax_free** (number) - The tax-free amount. - **cancelled_price** (number) - The cancelled price. - **cancelled_tax_free** (number) - The cancelled tax-free amount. - **order_name** (string) - The name of the order. - **company_name** (string) - The name of the company. - **gateway_url** (string) - The URL of the payment gateway. - **metadata** (object) - Additional metadata associated with the payment. - **sandbox** (boolean) - Indicates if the transaction is in sandbox mode. - **pg** (string) - The payment gateway used. - **method** (string) - The payment method used. - **method_symbol** (string) - A symbol representing the payment method. - **method_origin** (string) - The original payment method. - **method_origin_symbol** (string) - A symbol representing the original payment method. - **currency** (string) - The currency of the payment. - **receipt_url** (string) - The URL to the payment receipt. - **purchased_at** (string) - The date and time of purchase. - **cancelled_at** (string | null) - The date and time of cancellation, if applicable. - **requested_at** (string) - The date and time the request was made. - **escrow_status_locale** (string | null) - Localized escrow status. - **escrow_status** (string | null) - Escrow status. - **status_locale** (string) - Localized payment status. - **status** (number) - The payment status (e.g., 1 for completed). - **card_data** (object) - Details specific to card payments. - **card_approve_no** (string) - Card approval number. - **card_no** (string) - Card number (masked). - **card_quota** (string) - Card installment plan. - **card_company_code** (string) - Card company code. - **card_company** (string) - Card company name. - **receipt_url** (string) - URL for the card transaction receipt. - **phone_data** (object) - Details specific to phone payments. - **auth_no** (string) - Authentication number. - **phone** (string) - Phone number. - **bank_data** (object) - Details specific to bank transfers. - **bank_code** (string) - Bank code. - **bank_name** (string) - Bank name. - **cash_receipt_no** (string) - Cash receipt number. - **vbank_data** (object) - Details specific to virtual bank accounts. - **bank_code** (string) - Bank code. - **bank_name** (string) - Bank name. - **bank_account** (string) - Bank account number. - **bank_username** (string) - Bank account holder name. - **sender_name** (string) - Sender's name. - **expired_at** (string) - Expiration date of the virtual bank account. - **cash_receipt_no** (string) - Cash receipt number. #### Response Example ```json { "receipt_id": "6244f60c1fc19202e42e8c4e", "order_id": "1648686604470", "price": 1000, "tax_free": 0, "cancelled_price": 0, "cancelled_tax_free": 0, "order_name": "결제 테스트 스웻터", "company_name": "주) 부트페이", "gateway_url": "https://gw.bootpay.co.kr", "metadata": { "test": 1 }, "sandbox": true, "pg": "KCP", "method": "카드", "method_symbol": "card", "method_origin": "카드", "method_origin_symbol": "card", "currency": "KRW", "receipt_url": "https://door.bootpay.co.kr/receipt/WWlMbmFWRmlxcGUwb3Y3T1Q5b0R5clBjc2ZyUVhHVGpwamZBNS9KYXNhbmdB%0AZz09LS1zM1ZueWpsY0hCT3VPSmxsLS1EcVVGcitsVFBoQ3hCR1UyNFNhK0tB%0APT0%3D%0A", "purchased_at": "2022-03-31T09:30:29+09:00", "cancelled_at": null, "requested_at": "2022-03-31T09:30:04+09:00", "escrow_status_locale": null, "escrow_status": null, "status_locale": "결제완료", "status": 1, "card_data": { "card_approve_no": "16423357", "card_no": "5428790000000009", "card_quota": "00", "card_company_code": "CCLG", "card_company": "신한카드", "receipt_url": "https:\/\/npg.nicepay.co.kr\/issue\/IssueLoader.do?type=0&InnerWin=Y&TID=nicnaver0m01012207111634232099" }, "phone_data": { "auth_no": "99389288", "phone": "01000000000" }, "bank_data": { "bank_code": "004", "bank_name": "국민은행", "cash_receipt_no": "898388883" }, "vbank_data": { "bank_code": "004", "bank_name": "국민은행", "bank_account": "1700392073994", "bank_username": "부트페이", "sender_name": "보내는사람", "expired_at": "2030-01-01T00:00:00+09:00", "cash_receipt_no": "3989848398" } } ``` ``` -------------------------------- ### Send Shipping Information to PG Source: https://docs.bootpay.co.kr/?backend=nodejs&front=web This API allows you to send shipping details to the payment gateway (PG) to update the escrow status to 'Shipping Started'. This is currently supported for Inicis and KCP. ```APIDOC ## Send Shipping Information to PG ### Description Notifies the payment gateway (PG) with shipping information to change the escrow status to 'Shipping Started'. This API is specifically for Inicis and KCP. ### Method PUT ### Endpoint `/escrow/shipping/start/:receipt_id` ### Parameters #### Path Parameters - **receipt_id** (string) - Required - The unique Bootpay receipt ID for the transaction whose shipping status needs to be updated. #### Request Body - **delivery_corp** (string) - Required - The name of the courier/delivery company. Refer to company ENUM values. - **tracking_number** (string) - Required - The tracking number for the shipment. - **redirect_url** (string) - Required - The URL to receive results from the PG's purchase confirmation/cancellation page. - **user** (hash) - Required - Information of the buyer receiving the delivery. - **username** (string) - Buyer's name. - **phone** (string) - Buyer's phone number. - **address** (string) - Buyer's address. - **zipcode** (string) - Buyer's zip code. - **company** (hash) - Optional - Information about the shipping company. - **name** (string) - Company name. - **phone** (string) - Company phone number. - **addr1** (string) - Company address line 1. - **addr2** (string) - Company address line 2. ### Request Example ```javascript import { Bootpay } from '@bootpay/backend-js' Bootpay.setConfiguration({ application_id: '[ REST API Application ID ]', private_key: '[ Private Key ]' }) try { await Bootpay.getAccessToken() const response = await Bootpay.shippingStart({ receipt_id: "[ receipt_id ]", tracking_number: '123456', delivery_corp: 'CJ대한통운', // shipping_prepayment and shipping_day are also available but not detailed in source user: { username: '테스트', phone: '01000000000', address: '서울특별시 종로구', zipcode: '084900' }, company: { name: '테스트회사', phone: '0233333333', addr1: '서울특별시 종로구', addr2: '종로빌딩 3층 303호' } }) console.log(response) } catch (e) { console.log(e) } ``` ### Response #### Success Response (Response body indicates the status of the shipping update.) #### Response Example ```json { "escrow_data": { "status": 3, "escrow_status_locale": "배송시작", "shipping_started_at": "2022-06-14T14:13:43+09:00", "receipt_confirmed_at": null } } ``` ```