@tosspayments/tosspayments-sdk 2.3.4 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.3.6](https://github.com/tosspayments/browser-sdk/compare/@tosspayments/tosspayments-sdk@2.3.5...@tosspayments/tosspayments-sdk@2.3.6) (2025-08-13)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **tosspayments-sdk:** @tosspayments/standard-public-interfaces 버전업 ([#132](https://github.com/tosspayments/browser-sdk/issues/132)) ([282947a](https://github.com/tosspayments/browser-sdk/commit/282947a03ecdd1e969e2c7a42e432285c2126c5e))
12
+
13
+
14
+
15
+
16
+
17
+ ## [2.3.5](https://github.com/tosspayments/browser-sdk/compare/@tosspayments/tosspayments-sdk@2.3.4...@tosspayments/tosspayments-sdk@2.3.5) (2025-05-16)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **tosspayments-sdk:** @tosspayments/standard-public-interfaces 버전업 ([#131](https://github.com/tosspayments/browser-sdk/issues/131)) ([006451e](https://github.com/tosspayments/browser-sdk/commit/006451e3cb508b851433e11019aa0bc5d2179f16))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [2.3.4](https://github.com/tosspayments/browser-sdk/compare/@tosspayments/tosspayments-sdk@2.3.3...@tosspayments/tosspayments-sdk@2.3.4) (2024-12-12)
7
29
 
8
30
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tosspayments/tosspayments-sdk",
3
3
  "description": "TossPayments.js Tosspayments SDK.",
4
- "version": "2.3.4",
4
+ "version": "2.3.6",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
7
7
  "types": "types/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "@rollup/plugin-commonjs": "^21.0.1",
22
22
  "@rollup/plugin-typescript": "^8.3.0",
23
23
  "@tosspayments/sdk-loader": "2.0.1",
24
- "@tosspayments/standard-public-interfaces": "2.0.45",
24
+ "@tosspayments/standard-public-interfaces": "2.1.4",
25
25
  "happy-dom": "^14.12.3",
26
26
  "prettier": "^2.0.2",
27
27
  "rollup": "^2.60.0",
@@ -38,5 +38,5 @@
38
38
  "publishConfig": {
39
39
  "access": "public"
40
40
  },
41
- "gitHead": "793c235208215386fb73996cbd93250201974f78"
41
+ "gitHead": "e1bef43ea888b8474f865a318177cf74087a6d83"
42
42
  }
package/types/index.d.ts CHANGED
@@ -1,11 +1,17 @@
1
1
  declare function clearTossPayments(): void;
2
2
 
3
- interface WidgetSelectedPaymentMethod {
3
+ type WidgetSelectedPaymentMethod = {
4
4
  /**
5
5
  * 구매자가 결제 UI에서 선택한 결제수단입니다. 예를 들어, 신용・체크카드를 선택하면 `CARD` 코드가 응답됩니다. [ENUM 코드](/codes/enum-codes) 및 [기관 코드](/codes/org-codes)를 참고하세요.
6
6
  */
7
- code: WidgetsPaymentMethodCode;
8
- }
7
+ code: Exclude<WidgetsPaymentMethodCode, 'BRANDPAY'>;
8
+ } | {
9
+ code: 'BRANDPAY';
10
+ /**
11
+ * 현재 브랜드페이에서 선택되어 있는 결제수단의 ID입니다.
12
+ */
13
+ methodId?: string;
14
+ };
9
15
  type WidgetsPaymentMethodCode = 'CARD' | 'VIRTUAL_ACCOUNT' | 'MOBILE_PHONE' | 'TRANSFER' | 'CULTURE_GIFT_CERTIFICATE' | 'GAME_GIFT_CERTIFICATE' | 'BOOK_GIFT_CERTIFICATE' | 'TOSSPAY' | 'NAVERPAY' | 'SAMSUNGPAY' | 'LPAY' | 'KAKAOPAY' | 'PAYCO' | 'SSG' | 'APPLEPAY' | 'PINPAY' | 'KBPAY' | 'PAYPAL' | 'GCASH' | 'TOUCHNGO' | 'BOOST' | 'BPI' | 'BILLEASE' | 'DANA' | 'ALIPAYHK' | 'TRUEMONEY' | 'RABBIT_LINE_PAY' | 'ALIPAY' | 'SHINHAN' | 'HYUNDAI' | 'SAMSUNG' | 'WOORI' | 'KOOKMIN' | 'LOTTE' | 'NONGHYEOP' | 'HANA' | 'BC' | 'KDBBANK' | 'TOSSBANK' | 'KAKAOBANK' | 'SUHYEOP' | 'JEONBUKBANK' | 'KBANK' | 'POST' | 'SAEMAUL' | 'CITI' | 'SAVINGBANK' | 'JEJUBANK' | 'GWANGJUBANK' | 'SHINHYEOP' | 'JCB' | 'UNIONPAY' | 'MASTER' | 'VISA' | 'DINERS' | 'DISCOVER' | 'IBK_BC' | 'AMEX' | 'TOSS_PAYMENTS' | 'BANKPAY' | 'BRANDPAY' | 'KEYIN' | (NonNullable<unknown> & string);
10
16
 
11
17
  interface WidgetPaymentMethodWidget {
@@ -32,9 +38,7 @@ interface WidgetPaymentMethodWidget {
32
38
  * @throws {@link PublicError.Widgets.InvalidCallbackParameterError} callback이 유효하지 않은 경우
33
39
  * @throws {@link PublicError.Widgets.UnknownError} 알 수 없는 오류가 발생한 경우
34
40
  */
35
- on: {
36
- (eventName: 'paymentMethodSelect', callback: (paymentMethod: WidgetSelectedPaymentMethod) => void): void;
37
- };
41
+ on: (eventName: 'paymentMethodSelect', callback: (paymentMethod: WidgetSelectedPaymentMethod) => void) => void;
38
42
  /**
39
43
  * 구매자가 선택한 결제수단을 불러옵니다. [자세히 >](#paymentmethodwidgetgetselectedpaymentmethod)
40
44
  *
@@ -147,6 +151,15 @@ interface WidgetPaymentRequest {
147
151
  * 결제 관련 정보를 추가할 수 있는 객체입니다. 최대 5개의 키-값(key-value) 쌍을 자유롭게 추가해주세요. 키는 `[` , `]` 를 사용하지 않는 최대 40자의 문자열, 값은 최대 500자의 문자열입니다.
148
152
  */
149
153
  metadata?: Record<string | symbol | number, unknown> | null;
154
+ /**
155
+ * @ignore
156
+ */
157
+ sandbox?: {
158
+ /**
159
+ * @ignore
160
+ */
161
+ paymentResult: 'SUCCESS' | 'FAIL';
162
+ };
150
163
  /**
151
164
  * 구매자가 카드를 선택하면 결제에 적용되는 옵션입니다.
152
165
  */
@@ -196,6 +209,10 @@ interface WidgetPaymentRequest {
196
209
  */
197
210
  quantity?: number | null;
198
211
  }> | null;
212
+ /**
213
+ * 문화비(도서, 공연 티켓, 박물관·미술관 입장권 등) 지출 여부입니다.
214
+ */
215
+ isCulturalExpenses?: boolean | null;
199
216
  } | null;
200
217
  /**
201
218
  * 구매자가 가상계좌를 선택하면 결제에 적용되는 옵션입니다.
@@ -240,6 +257,10 @@ interface WidgetPaymentRequest {
240
257
  */
241
258
  type: '소득공제' | '지출증빙' | '미발행';
242
259
  } | null;
260
+ /**
261
+ * 문화비(도서, 공연 티켓, 박물관·미술관 입장권 등) 지출 여부입니다.
262
+ */
263
+ isCulturalExpenses?: boolean | null;
243
264
  } | null;
244
265
  /**
245
266
  * 구매자가 해외간편결제를 선택하면 결제에 적용되는 옵션입니다.
@@ -590,6 +611,10 @@ interface BrandpayPaymentRequest {
590
611
  * 결제 금액 중 면세 금액입니다. 면세 상점 혹은 복합 과세 상점으로 계약된 상점만 사용하세요. 자세한 내용은 세금 처리 가이드에서 확인하세요.
591
612
  */
592
613
  taxFreeAmount?: number | null;
614
+ /**
615
+ * 결제수단의 ID입니다. 결제수단 ID 입니다. 등록되어 있는 결제수단 중 하나를 지정해서 바로 결제하고 싶을 때 사용합니다.
616
+ */
617
+ methodId?: string | null;
593
618
  /**
594
619
  * 결제 관련 정보를 추가할 수 있는 객체입니다. 최대 5개의 키-값(key-value) 쌍을 자유롭게 추가해주세요. 키는 `[` , `]` 를 사용하지 않는 최대 40자의 문자열, 값은 최대 500자의 문자열입니다.
595
620
  */
@@ -784,6 +809,21 @@ type IsOneTouchPayEnabled = () => Promise<{
784
809
  isEnabled: boolean;
785
810
  }>;
786
811
 
812
+ /**
813
+ * 자동결제(빌링) 약관 동의와 비밀번호 인증을 수행합니다
814
+ *
815
+ * @example
816
+ * ```javascript
817
+ * brandpay.requestBillingAuth();
818
+ * ```
819
+ *
820
+ * @throws {@link PublicError.Brandpay.UserCancelError} 사용자가 자동결제 인증창을 닫은 경우
821
+ * @throws {@link PublicError.Brandpay.NotRegisteredRedirectUrlError} redirectUrl이 등록되지 않은 경우
822
+ * @throws {@link PublicError.Brandpay.InvalidMethodTransactionError} 이미 다른 명령을 수행 중인 경우
823
+ * @throws {@link PublicError.Brandpay.UnknownError} 알 수 없는 오류가 발생한 경우
824
+ */
825
+ type RequestBillingAuth$1 = () => Promise<void>;
826
+
787
827
  interface TossPaymentsBrandpay {
788
828
  /**
789
829
  * 브랜드페이 결제창을 띄웁니다. [자세히 >](#brandpayrequestpayment)
@@ -809,6 +849,17 @@ interface TossPaymentsBrandpay {
809
849
  * 원터치결제 활성화 여부를 확인합니다. [자세히 >](#brandpayisonetouchpayenabled)
810
850
  */
811
851
  isOneTouchPayEnabled: IsOneTouchPayEnabled;
852
+ /**
853
+ * 자동결제(빌링) 약관 동의와 비밀번호 인증을 수행합니다 [자세히 >](#brandpayrequestbillingauth)
854
+ */
855
+ /**
856
+ * @ignore
857
+ */
858
+ /**
859
+ * 브랜드페이 빌링은 sales 가맹점 중 rm 검토된 곳에만 제한적으로 제공되기 때문에 docs에서 노출하지 않습니다.
860
+ * @link https://tossteam.slack.com/archives/C06ENN7PJK1/p1752207105929219
861
+ */
862
+ requestBillingAuth: RequestBillingAuth$1;
812
863
  }
813
864
 
814
865
  interface PaymentRequest {
@@ -856,6 +907,15 @@ interface PaymentRequest {
856
907
  * 결제 관련 정보를 추가할 수 있는 객체입니다. 최대 5개의 키-값(key-value) 쌍을 자유롭게 추가해주세요. 키는 `[` , `]` 를 사용하지 않는 최대 40자의 문자열, 값은 최대 500자의 문자열입니다.
857
908
  */
858
909
  metadata?: Record<string | symbol | number, unknown> | null;
910
+ /**
911
+ * @ignore
912
+ */
913
+ sandbox?: {
914
+ /**
915
+ * @ignore
916
+ */
917
+ paymentResult: 'SUCCESS' | 'FAIL';
918
+ };
859
919
  }
860
920
 
861
921
  interface CardPaymentRequest extends PaymentRequest {
@@ -896,21 +956,21 @@ interface CardPaymentRequest extends PaymentRequest {
896
956
  /**
897
957
  * 신용카드 결제에 적용되는 할부 개월 수입니다.
898
958
  * 예를 들어, `6`으로 설정하면 할부 개월 수가 6개월로 고정돼요. 자체창에서는 구매자가 할부 개월 수를 볼 수 없으니 사전에 충분히 안내를 해주세요.
899
- * 0(일시불), 2~12 값으로 설정할 수 있고 `maxCardInstallmentPlan` 파라미터와 함께 사용할 수 없어요. 카드사 별로 할부결제가 가능한 [최소 금액](https://pgweb.tosspayments.com/tosspayments/MainPopUp.do)을 확인하세요.
959
+ * 0(일시불), 2~12 값으로 설정할 수 있고 `maxCardInstallmentPlan` 파라미터와 함께 사용할 수 없어요. 카드사 별로 할부결제가 가능한 [최소 금액](https://consumer.tosspayments.com/notice/free-installment)을 확인하세요.
900
960
  */
901
961
  cardInstallmentPlan?: number | null;
902
962
  /**
903
963
  * 신용카드 결제에 적용할 수 있는 최대 할부 개월 수입니다.
904
- * 예를 들어, `6`으로 설정하면 구매자는 일시불부터 6개월 할부를 선택할 수 있어요. 0(일시불), 2~12 값으로 설정할 수 있고 `cardInstallmentPlan` 파라미터와 함께 사용할 수 없어요. 카드사 별로 할부결제가 가능한 [최소 금액](https://pgweb.tosspayments.com/tosspayments/MainPopUp.do)을 확인하세요.
964
+ * 예를 들어, `6`으로 설정하면 구매자는 일시불부터 6개월 할부를 선택할 수 있어요. 0(일시불), 2~12 값으로 설정할 수 있고 `cardInstallmentPlan` 파라미터와 함께 사용할 수 없어요. 카드사 별로 할부결제가 가능한 [최소 금액](https://consumer.tosspayments.com/notice/free-installment)을 확인하세요.
905
965
  */
906
966
  maxCardInstallmentPlan?: number | null;
907
967
  /**
908
968
  * 신용카드 결제에 적용할 수 있는 **상점 부담 무이자** 할부 정보입니다.
909
- * 구매자가 선택한 카드, 할부 개월 수가 배열에 등록한 정보와 같다면 무이자가 할부가 자동으로 적용돼요. 카드사 별로 할부결제가 가능한 [최소 금액](https://pgweb.tosspayments.com/tosspayments/MainPopUp.do)을 확인하세요.
969
+ * 구매자가 선택한 카드, 할부 개월 수가 배열에 등록한 정보와 같다면 무이자가 할부가 자동으로 적용돼요. 카드사 별로 할부결제가 가능한 [최소 금액](https://consumer.tosspayments.com/notice/free-installment)을 확인하세요.
910
970
  */
911
971
  freeInstallmentPlans?: Array<{
912
972
  /**
913
- * 상점 부담 무이자를 적용할 카드사 코드](/codes/org-codes#카드사-코드)입니다.
973
+ * 상점 부담 무이자를 적용할 [카드사 코드](/codes/org-codes#카드사-코드)입니다.
914
974
  */
915
975
  company: string;
916
976
  /**
@@ -972,6 +1032,15 @@ interface CardPaymentRequest extends PaymentRequest {
972
1032
  * 페이북/ISP 앱에서 상점 앱으로 돌아올 때 사용됩니다. 상점의 앱 스킴을 지정하면 됩니다. 예를 들면 testapp://같은 형태입니다.
973
1033
  */
974
1034
  appScheme?: string | null;
1035
+ /**
1036
+ * 키인 결제정보입니다.
1037
+ */
1038
+ keyin?: {
1039
+ /**
1040
+ * 결제화면에 노출할 카드 타입입니다. `PERSONAL`(개인카드), `CORPORATE`(법인카드), `FOREIGN`(해외카드) 값을 배열 형태로 전달할 수 있습니다. 입력한 순서대로 화면에 노출되며, 첫 번째로 입력한 카드 타입이 기본 선택됩니다.
1041
+ */
1042
+ selectableCardTypes?: Array<'PERSONAL' | 'CORPORATE' | 'FOREIGN'> | null;
1043
+ } | null;
975
1044
  } | null;
976
1045
  }
977
1046
 
@@ -1037,6 +1106,10 @@ interface VirtualAccountPaymentRequest extends PaymentRequest {
1037
1106
  * 기한이 지나고 시도하는 결제는 실패해요. 예를 들어 `2025-01-01T00:00:00`으로 설정하면, 2024년 12월 31일 23:59까지 결제할 수 있어요.
1038
1107
  */
1039
1108
  dueDate?: string | null;
1109
+ /**
1110
+ * 문화비(도서, 공연 티켓, 박물관·미술관 입장권 등) 지출 여부입니다.
1111
+ */
1112
+ isCulturalExpenses?: boolean | null;
1040
1113
  } | null;
1041
1114
  }
1042
1115
 
@@ -1054,11 +1127,11 @@ interface TransferPaymentRequest extends PaymentRequest {
1054
1127
  */
1055
1128
  taxExemptionAmount?: number | null;
1056
1129
  /**
1057
- * @ignore
1130
+ * 현금영수증 정보입니다.
1058
1131
  */
1059
1132
  cashReceipt?: {
1060
1133
  /**
1061
- * @ignore
1134
+ * type을 '미발행' 으로 보내면 현금영수증을 발행하지 않습니다.
1062
1135
  */
1063
1136
  type: '소득공제' | '지출증빙' | '미발행';
1064
1137
  } | null;
@@ -1103,6 +1176,10 @@ interface TransferPaymentRequest extends PaymentRequest {
1103
1176
  * 기한이 지나고 시도하는 결제는 실패해요. 예를 들어 `2025-01-01T00:00:00`으로 설정하면, 2024년 12월 31일 23:59까지 결제할 수 있어요.
1104
1177
  */
1105
1178
  dueDate?: string | null;
1179
+ /**
1180
+ * 문화비(도서, 공연 티켓, 박물관·미술관 입장권 등) 지출 여부입니다.
1181
+ */
1182
+ isCulturalExpenses?: boolean | null;
1106
1183
  } | null;
1107
1184
  }
1108
1185
 
@@ -1239,7 +1316,6 @@ interface RequestPaymentResult {
1239
1316
  interface BillingAuthRequest {
1240
1317
  /**
1241
1318
  * 자동결제(빌링)에 등록할 결제수단입니다. 토스페이먼츠 자동결제는 현재 신용·체크카드만 지원해요.
1242
- *
1243
1319
  */
1244
1320
  method: 'CARD' | 'TRANSFER';
1245
1321
  /**
@@ -1272,6 +1348,10 @@ interface BillingAuthRequest {
1272
1348
  * @default 'iframe'
1273
1349
  */
1274
1350
  windowTarget?: 'iframe' | 'self' | null;
1351
+ /**
1352
+ * 결제화면에 노출할 카드 타입입니다. `PERSONAL`(개인카드), `CORPORATE`(법인카드), `FOREIGN`(해외카드) 값을 배열 형태로 전달할 수 있습니다. 입력한 순서대로 화면에 노출되며, 첫 번째로 입력한 카드 타입이 기본 선택됩니다.
1353
+ */
1354
+ selectableCardTypes?: Array<'PERSONAL' | 'CORPORATE'> | null;
1275
1355
  }
1276
1356
 
1277
1357
  /**
@@ -1293,7 +1373,7 @@ interface BillingAuthRequest {
1293
1373
  type RequestPayment = RequestCardPaymentWithRedirection & RequestCardPaymentWithPromise & RequestVirtualAccountPaymentWithRedirection & RequestVirtualAccountPaymentWithPromise & RequestTransferPaymentWithRedirection & RequestTransferPaymentWithPromise & RequestMobilePhonePaymentWithRedirection & RequestMobilePhonePaymentWithPromise & RequestGiftCertificatePaymentWithRedirection & RequestGiftCertificatePaymentWithPromise & RequestForeignEasyPayPaymentWithRedirection;
1294
1374
  /**
1295
1375
  * @docsAlias 카드(Promise 방식)
1296
- * @returns `WidgetPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1376
+ * @returns `RequestPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1297
1377
  * @param {RequestCardPaymentWithPromise} paymentRequest 결제 요청 정보입니다.
1298
1378
  *
1299
1379
  * @example
@@ -1359,7 +1439,7 @@ type RequestCardPaymentWithPromise = (paymentRequest: CardPaymentRequest) => Pro
1359
1439
  type RequestCardPaymentWithRedirection = (paymentRequest: WithRedirection<CardPaymentRequest>) => Promise<void>;
1360
1440
  /**
1361
1441
  * @docsAlias 가상계좌(Promise 방식)
1362
- * @returns `WidgetPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1442
+ * @returns `RequestPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1363
1443
  * @param {VirtualAccountPaymentRequest} paymentRequest 결제 요청 정보입니다.
1364
1444
  *
1365
1445
  * @example
@@ -1427,7 +1507,7 @@ type RequestVirtualAccountPaymentWithPromise = (paymentRequest: VirtualAccountPa
1427
1507
  type RequestVirtualAccountPaymentWithRedirection = (paymentRequest: WithRedirection<VirtualAccountPaymentRequest>) => Promise<void>;
1428
1508
  /**
1429
1509
  * @docsAlias 계좌이체(Promise 방식)
1430
- * @returns `WidgetPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1510
+ * @returns `RequestPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1431
1511
  * @param {RequestTransferPaymentWithPromise} paymentRequest 결제 요청 정보입니다.
1432
1512
  *
1433
1513
  * @example
@@ -1492,7 +1572,7 @@ type RequestTransferPaymentWithPromise = (paymentRequest: TransferPaymentRequest
1492
1572
  type RequestTransferPaymentWithRedirection = (paymentRequest: WithRedirection<TransferPaymentRequest>) => Promise<void>;
1493
1573
  /**
1494
1574
  * @docsAlias 휴대폰 결제(Promise 방식)
1495
- * @returns `WidgetPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1575
+ * @returns `RequestPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1496
1576
  * @param {RequestMobilePhonePaymentWithPromise} paymentRequest 결제 요청 정보입니다.
1497
1577
  *
1498
1578
  * @example
@@ -1545,7 +1625,7 @@ type RequestMobilePhonePaymentWithPromise = (paymentRequest: MobilePhonePaymentR
1545
1625
  type RequestMobilePhonePaymentWithRedirection = (paymentRequest: WithRedirection<MobilePhonePaymentRequest>) => Promise<void>;
1546
1626
  /**
1547
1627
  * @docsAlias 상품권(Promise 방식)
1548
- * @returns `WidgetPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1628
+ * @returns `RequestPaymentResult` 객체가 응답됩니다. 객체 필드를 확인하고 [결제 승인 API](/reference#결제-승인)를 호출해야 결제가 최종적으로 완료돼요.
1549
1629
  * @param {RequestGiftCertificatePaymentWithPromise} paymentRequest 결제 요청 정보입니다.
1550
1630
  *
1551
1631
  * @example