@sayren/storefront-sdk 0.20.0 → 0.20.1

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.
@@ -1,4 +1,4 @@
1
- import { kt as ApiError, t as createStorefrontClient } from "../client-NPFWqMgT.mjs";
1
+ import { kt as ApiError, t as createStorefrontClient } from "../client-jOhA2sZX.mjs";
2
2
  //#region src/auth/index.ts
3
3
  /** 소셜 로그인 실패 — 구매자가 취소했거나(`access_denied`) state가 맞지 않는다 */
4
4
  var IdpCallbackError = class extends Error {
@@ -178,12 +178,14 @@ const pricingAmountsSchema = z.object({
178
178
  deliveryFee: z.number().int(),
179
179
  couponDiscountAmount: z.number().int(),
180
180
  deliveryDiscountAmount: z.number().int(),
181
+ pointAmount: z.number().int().optional().default(0).describe("사용 적립금(#93). 요청에 `pointAmount`가 없으면 0. 서버는 항상 싣는다"),
181
182
  totalAmount: z.number().int().describe("결제 금액")
182
183
  });
183
184
  /** `POST /checkout/{checkoutId}/pricing` 요청 */
184
185
  const checkoutPricingRequestSchema = z.object({
185
186
  zipCode: z.string().regex(/^[0-9]{5}$/, "우편번호 5자리를 입력해 주십시오").optional().describe("배송지 우편번호. 주면 제주·도서산간 추가 배송비까지 반영한다"),
186
- coupons: couponApplicationListSchema
187
+ coupons: couponApplicationListSchema,
188
+ pointAmount: z.number().int().min(0).optional().describe("쓸 적립금(#93, 회원만). 결제 시작과 같은 규칙으로 실제 사용액을 계산한다(예약하지 않는다)")
187
189
  });
188
190
  /** 결제 금액의 하한 — 쿠폰 적용 뒤 결제 금액이 이보다 작으면 결제를 시작할 수 없다 */
189
191
  const MIN_PAYMENT_AMOUNT = 100;
@@ -193,8 +195,15 @@ const checkoutPricingSchema = z.object({
193
195
  items: z.array(z.object({
194
196
  optionId: z.string().nullable(),
195
197
  lineId: z.string().optional().describe("주문서 줄의 `lineId`(이슈 #59). 서버는 항상 싣는다"),
196
- couponDiscountAmount: z.number().int().describe("이 항목에 들어간 쿠폰 할인")
198
+ couponDiscountAmount: z.number().int().describe("이 항목에 들어간 쿠폰 할인"),
199
+ pointAllocation: z.number().int().optional().default(0).describe("이 항목에 배분한 적립금(#93). 서버는 항상 싣는다")
197
200
  })).describe("주문서 항목별 쿠폰 할인 — 주문서 `items`와 같은 순서"),
201
+ points: z.object({
202
+ balance: z.number().int().describe("내 적립금 잔액"),
203
+ maxUsable: z.number().int().describe("이 금액(쿠폰·배송지 반영)에서 쓸 수 있는 최대 적립금"),
204
+ adjustReason: z.string().nullable().describe("요청보다 적게 쓴 이유. `MIN_PAYMENT`: 결제 금액 100원을 남기려고 줄였다"),
205
+ rejectReason: z.string().nullable().describe("요청했지만 쓰지 못한 이유 — `MIN_BALANCE`·`MIN_AMOUNT`·`NOT_PAYABLE`. 값이 추가될 수 있다")
206
+ }).nullable().optional().default(null).describe("적립금(#93). 비회원이거나 적립금 사용이 꺼져 있으면 null"),
198
207
  payable: z.boolean().describe("이 금액으로 결제를 시작할 수 있는가 — 적용하지 못한 쿠폰이 있거나 결제 금액이 100원 미만이면 false")
199
208
  });
200
209
  /** `GET /checkout/{checkoutId}/coupons` 항목 — 이 주문서에 쓸 수 있는 내 쿠폰 */
@@ -287,8 +296,17 @@ const checkoutSessionSchema = z.object({
287
296
  deliveryFee: z.number().int(),
288
297
  totalAmount: z.number().int(),
289
298
  couponDiscountAmount: z.number().int().optional().default(0).describe("쿠폰 할인(상품·주문 쿠폰). 주문서는 쿠폰 전이라 0이고, 결제 시작 응답은 적용한 쿠폰의 할인이다"),
290
- deliveryDiscountAmount: z.number().int().optional().default(0).describe("배송비 쿠폰 할인. 쿠폰이 없으면 0")
299
+ deliveryDiscountAmount: z.number().int().optional().default(0).describe("배송비 쿠폰 할인. 쿠폰이 없으면 0"),
300
+ pointAmount: z.number().int().optional().default(0).describe("사용 적립금(#93). 주문서는 적립금 전이라 0이고, 결제 시작 응답은 쓴 적립금이다. `totalAmount`는 적립금을 뺀 금액이다")
291
301
  }),
302
+ points: z.object({
303
+ enabled: z.boolean().describe("이 주문서에서 적립금을 쓸 수 있는가. 비회원·사용 꺼짐이면 false"),
304
+ balance: z.number().int().describe("내 적립금 잔액"),
305
+ maxUsable: z.number().int().describe("이 주문서(쿠폰 전, 배송지 반영 전)에서 쓸 수 있는 최대 금액. 쿠폰·배송지를 바꾸면 금액 미리보기로 다시 받는다"),
306
+ unit: z.number().int().describe("사용 단위(원)"),
307
+ minAmount: z.number().int().describe("한 번에 쓰는 최소 금액(원)"),
308
+ minBalance: z.number().int().describe("쓸 수 있는 최소 보유액(원)")
309
+ }).nullable().optional().default(null).describe("적립금 사용 안내(#93). 비회원이거나 상점이 적립금 사용을 끄면 null"),
292
310
  delivery: checkoutDeliverySchema.describe("배송비 내역. 배송지를 입력하면 금액이 바뀔 수 있다 — 최종 금액은 결제 시작 응답의 `amounts`다"),
293
311
  requiresShipping: z.boolean().describe("택배 배송이 필요한 상품이 있는가. false면 배송지를 받지 않는다 — 결제 시작에 `shippingAddress`를 보내지 않아도 된다"),
294
312
  withdrawal: z.object({
@@ -486,7 +504,8 @@ const startPaymentRequestSchema = z.object({
486
504
  shippingAddress: shippingAddressInputSchema.optional().describe("배송지. 주문서의 `requiresShipping`이 true면 필수이고 없으면 400 `SHIPPING_ADDRESS_REQUIRED`다. 배송이 필요 없는 주문(배송 없는 상품만)은 보내지 않아도 된다. 보내면 형식을 검사한 뒤 버린다"),
487
505
  guest: guestInfoSchema.optional(),
488
506
  cashReceipt: cashReceiptField,
489
- coupons: couponApplicationListSchema.optional().describe("적용할 쿠폰(이슈 #47). 결제 시작이 쿠폰을 예약하고 할인한 금액으로 결제 금액을 정한다 — 응답의 `amounts`가 확정 금액이다. 적용하지 못하는 쿠폰이 하나라도 있으면 400 `COUPON_NOT_APPLICABLE`(`details`에 사유)이다. 결제가 실패하거나 만료되면 예약이 풀린다. 쿠폰을 바꾸려면 새로 결제를 시작한다(재시도는 같은 쿠폰을 쓴다)")
507
+ coupons: couponApplicationListSchema.optional().describe("적용할 쿠폰(이슈 #47). 결제 시작이 쿠폰을 예약하고 할인한 금액으로 결제 금액을 정한다 — 응답의 `amounts`가 확정 금액이다. 적용하지 못하는 쿠폰이 하나라도 있으면 400 `COUPON_NOT_APPLICABLE`(`details`에 사유)이다. 결제가 실패하거나 만료되면 예약이 풀린다. 쿠폰을 바꾸려면 새로 결제를 시작한다(재시도는 같은 쿠폰을 쓴다)"),
508
+ pointAmount: z.number().int().min(0).optional().describe("쓸 적립금(#93, 회원만). 결제 시작이 예약하고 쿠폰 뒤 금액에서 뺀다 — 응답 `amounts.pointAmount`가 실제 사용액이다(단위로 내리고 결제 금액 100원을 남긴다). 적립금 사용이 꺼져 있으면 409 `POINTS_UNAVAILABLE`, 쓸 수 없으면 400 `POINT_NOT_APPLICABLE`(`details.reason`), 그 사이 잔액이 줄었으면 409 `POINT_BALANCE_CHANGED`다. 결제가 실패하거나 만료되면 예약이 풀린다")
490
509
  });
491
510
  /**
492
511
  * 같은 결제에서 다른 결제 옵션으로 다시 시도. `returnUrl`을 생략하면 결제 시작 때의 복귀 주소를 쓴다.
@@ -1,5 +1,5 @@
1
1
  import { a as ANALYTICS_VISITOR_HEADER, r as ANALYTICS_SESSION_HEADER } from "./analytics-CgD70OqH.mjs";
2
- import { A as retryPaymentRequestSchema, F as applicableCouponSchema, G as addonGroupViewSchema, I as checkoutPricingRequestSchema, L as checkoutPricingSchema, M as startPaymentRequestSchema, Q as lineSelectionResponseShape, T as paymentStatusSchema, U as myCouponSchema, X as customInputViewSchema, Z as lineSelectionRequestShape, d as checkoutSessionSchema, f as createCheckoutRequestSchema, h as easyPayProviderResponseSchema, it as productFulfillmentViewSchema, k as responsePaymentMethodSchema, m as deliveryQuoteSchema, nt as myOrderItemFulfillmentSnapshotSchema, p as deliveryQuoteRequestSchema, rt as productCardFulfillmentSchema, tt as lineFulfillmentSchema, w as paymentStartSchema } from "./checkout-f7iFQV88.mjs";
2
+ import { A as retryPaymentRequestSchema, F as applicableCouponSchema, G as addonGroupViewSchema, I as checkoutPricingRequestSchema, L as checkoutPricingSchema, M as startPaymentRequestSchema, Q as lineSelectionResponseShape, T as paymentStatusSchema, U as myCouponSchema, X as customInputViewSchema, Z as lineSelectionRequestShape, d as checkoutSessionSchema, f as createCheckoutRequestSchema, h as easyPayProviderResponseSchema, it as productFulfillmentViewSchema, k as responsePaymentMethodSchema, m as deliveryQuoteSchema, nt as myOrderItemFulfillmentSnapshotSchema, p as deliveryQuoteRequestSchema, rt as productCardFulfillmentSchema, tt as lineFulfillmentSchema, w as paymentStartSchema } from "./checkout-DSAf758s.mjs";
3
3
  import { z } from "zod";
4
4
  //#region src/http.ts
5
5
  /** 표준 엔벨로프의 $.error 상세 */
@@ -449,7 +449,8 @@ const createClaimResultSchema = z.object({
449
449
  quantity: z.number().int().describe("접수된 수량. 요청에서 생략하면 남은 수량 전체다"),
450
450
  deliveryFeeRefundAmount: z.number().int().describe("환불 예정 배송비. 배송 묶음이 모두 취소되거나 판매자 귀책일 때만 0보다 크다"),
451
451
  couponChargeAmount: z.number().int().optional().default(0).describe("쿠폰 조건 미달 차감 예상액. 이 취소·반품으로 남은 주문상품이 쿠폰 조건(최소 주문 금액 등)을 잃으면 남은 주문상품이 받던 쿠폰 할인을 환불액에서 뺀다. 예상 환불액에 이미 반영돼 있다. 서버는 항상 싣는다"),
452
- couponChargeRefundAmount: z.number().int().optional().default(0).describe("되돌릴 쿠폰 차감 예상액 — 앞선 취소·반품에서 뺀 쿠폰 조건 미달 차감 중 이번에 돌려받을 몫이다. 예상 환불액에 이미 반영돼 있다. 서버는 항상 싣는다")
452
+ couponChargeRefundAmount: z.number().int().optional().default(0).describe("되돌릴 쿠폰 차감 예상액 — 앞선 취소·반품에서 뺀 쿠폰 조건 미달 차감 중 이번에 돌려받을 몫이다. 예상 환불액에 이미 반영돼 있다. 서버는 항상 싣는다"),
453
+ pointRefundAmount: z.number().int().optional().default(0).describe("돌려받을 적립금 예상액 (원, #93) — 결제에 쓴 적립금 중 이번 취소·반품 수량의 몫이다. 예상 환불액(현금)과 별개다. 차감은 현금에서 먼저 빼고 모자란 몫만 여기서 뺀다. 적립금을 쓰지 않은 주문은 0이다. 서버는 항상 싣는다")
453
454
  });
454
455
  /**
455
456
  * 반품지 (이슈 #30) — 반품·교환 수거가 안내하는 주소다. 상점 주소록의 기본 반품지이거나,
@@ -476,6 +477,7 @@ const myClaimSchema = z.object({
476
477
  reason: z.string(),
477
478
  expectedRefundAmount: z.number().int().nullable().describe("예상 환불액 — 수량 비율 상품 실결제 금액 − 반품 배송비 − 조건부 무료배송 미달 차감 − 쿠폰 조건 미달 차감 + 되돌릴 쿠폰 차감. **배송비 환불은 포함되지 않고 `expectedDeliveryFeeRefundAmount`로 따로 온다.** 교환은 null이다"),
478
479
  expectedDeliveryFeeRefundAmount: z.number().int().nullable().describe("예상 배송비 환불액. 배송 묶음이 모두 취소되거나 판매자 귀책일 때만 0보다 크다. 이 필드가 생기기 전에 접수된 클레임은 null이다"),
480
+ expectedPointRefundAmount: z.number().int().optional().default(0).describe("예상 반환 적립금 (원, #93) — 결제에 쓴 적립금 중 이 수량의 몫이다. 예상 환불액(현금)과 별개이고, 차감은 현금에서 먼저 뺀다. 교환·적립금을 쓰지 않은 주문은 0이다. 서버는 항상 싣는다"),
479
481
  rejectReason: z.string().nullable(),
480
482
  returnAddress: claimReturnAddressSchema.nullable().describe("반품·교환 물건을 보낼 반품지(이슈 #30). 직접 보내는 수거 안내에 쓴다. 취소 클레임은 null"),
481
483
  requestedAt: z.string(),
@@ -666,6 +668,7 @@ const myOrderItemSchema = z.object({
666
668
  activeQuantity: z.number().int().describe("남은 수량 (`quantity` − `canceledQuantity`). 취소·반품·교환 요청 수량의 상한이다"),
667
669
  totalPrice: z.number().int().describe("주문상품 금액 (즉시할인 반영, 쿠폰 전)"),
668
670
  couponDiscountAmount: z.number().int().optional().default(0).describe("이 주문상품에 배분된 쿠폰 할인. 실결제 금액은 `totalPrice − couponDiscountAmount`다. 쿠폰이 없으면 0. 서버는 항상 싣는다"),
671
+ pointAllocation: z.number().int().optional().default(0).describe("이 주문상품에 쓴 적립금 (원, #93). 현금 실결제는 `totalPrice − couponDiscountAmount − pointAllocation`이다. 적립금을 쓰지 않았으면 0. 서버는 항상 싣는다"),
669
672
  status: orderItemStatusSchema,
670
673
  fulfillmentSnapshot: myOrderItemFulfillmentSnapshotSchema.describe("주문 시점 이행 스냅샷(이슈 #57). `type`이 주문 시점 상품 유형이다. 배송 없는 상품(`MANUAL`)이면 `DELIVERED`는 제공 완료다"),
671
674
  fulfillment: z.object({
@@ -701,6 +704,7 @@ const myOrderSchema = z.object({
701
704
  easyPayProvider: easyPayProviderResponseSchema.nullable().optional().default(null).describe("간편결제사. `method`가 `EASY_PAY`일 때만 값이 있고, PG가 알려 주지 않았으면 주문서에서 고른 간편결제사다. 그 밖의 결제수단과 간편결제 이전 주문은 null. 서버는 항상 싣는다. 현재 값은 `NAVERPAY`·`KAKAOPAY`·`TOSSPAY`·`PAYCO`이고 값이 추가될 수 있어 문자열로 받는다"),
702
705
  couponDiscountAmount: z.number().int().optional().default(0).describe("상품·주문 쿠폰 할인 합계. 쿠폰이 없으면 0. 서버는 항상 싣는다"),
703
706
  deliveryDiscountAmount: z.number().int().optional().default(0).describe("배송비 쿠폰 할인. 쿠폰이 없으면 0. 서버는 항상 싣는다"),
707
+ pointAmount: z.number().int().optional().default(0).describe("사용 적립금 (원, #93). `totalAmount`는 적립금을 뺀 결제 금액이다. 적립금을 쓰지 않았으면 0. 서버는 항상 싣는다"),
704
708
  discounts: z.array(z.object({
705
709
  couponId: z.string(),
706
710
  name: z.string().describe("주문 시점 쿠폰 이름"),
@@ -773,7 +777,7 @@ const memberPointsSchema = z.object({
773
777
  /** 내 적립금 내역 한 줄 — 셀러 메모는 싣지 않는다 */
774
778
  const memberPointEntrySchema = z.object({
775
779
  entryId: z.string(),
776
- type: z.string().describe("유형. `EARN_REVIEW` 리뷰 적립 · `REVOKE_REVIEW` 리뷰 삭제 회수 · `EARN_PURCHASE` 구매 적립 · `EXPIRE` 소멸 · `ADJUST` 상점 지급·차감 · `OPENING` 기존 적립금. 값이 추가될 수 있어 문자열로 받는다"),
780
+ type: z.string().describe("유형. `EARN_REVIEW` 리뷰 적립 · `REVOKE_REVIEW` 리뷰 삭제 회수 · `EARN_PURCHASE` 구매 적립 · `EXPIRE` 소멸 · `ADJUST` 상점 지급·차감 · `OPENING` 기존 적립금 · `USE_RESERVE` 결제 사용 · `USE_RELEASE` 결제가 실패·만료되어 되돌림 · `REFUND_RESTORE` 취소·반품 환불로 반환. 값이 추가될 수 있어 문자열로 받는다"),
777
781
  amount: z.number().int().describe("변동액. 적립 +, 회수·차감·소멸 −"),
778
782
  balanceAfter: z.number().int().describe("이 변동 직후 잔액"),
779
783
  createdAt: z.string()
@@ -565,7 +565,16 @@ declare const checkoutSessionSchema: z.ZodObject<{
565
565
  totalAmount: z.ZodNumber;
566
566
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
567
567
  deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
568
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
568
569
  }, z.core.$strip>;
570
+ points: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
571
+ enabled: z.ZodBoolean;
572
+ balance: z.ZodNumber;
573
+ maxUsable: z.ZodNumber;
574
+ unit: z.ZodNumber;
575
+ minAmount: z.ZodNumber;
576
+ minBalance: z.ZodNumber;
577
+ }, z.core.$strip>>>>;
569
578
  delivery: z.ZodObject<{
570
579
  baseFee: z.ZodNumber;
571
580
  remoteSurcharge: z.ZodNumber;
@@ -645,6 +654,7 @@ declare const deliveryQuoteSchema: z.ZodObject<{
645
654
  totalAmount: z.ZodNumber;
646
655
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
647
656
  deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
657
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
648
658
  }, z.core.$strip>;
649
659
  delivery: z.ZodObject<{
650
660
  baseFee: z.ZodNumber;
@@ -981,6 +991,7 @@ declare const startPaymentRequestSchema: z.ZodObject<{
981
991
  optionId: z.ZodOptional<z.ZodString>;
982
992
  lineId: z.ZodOptional<z.ZodString>;
983
993
  }, z.core.$strip>>>;
994
+ pointAmount: z.ZodOptional<z.ZodNumber>;
984
995
  }, z.core.$strip>;
985
996
  type StartPaymentRequest = z.infer<typeof startPaymentRequestSchema>;
986
997
  /**
@@ -1093,6 +1104,7 @@ declare const paymentStartSchema: z.ZodObject<{
1093
1104
  totalAmount: z.ZodNumber;
1094
1105
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1095
1106
  deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1107
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1096
1108
  }, z.core.$strip>;
1097
1109
  delivery: z.ZodObject<{
1098
1110
  baseFee: z.ZodNumber;
@@ -1198,6 +1210,7 @@ declare const createClaimResultSchema: z.ZodObject<{
1198
1210
  deliveryFeeRefundAmount: z.ZodNumber;
1199
1211
  couponChargeAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1200
1212
  couponChargeRefundAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1213
+ pointRefundAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1201
1214
  }, z.core.$strip>;
1202
1215
  type CreateClaimResult = z.infer<typeof createClaimResultSchema>;
1203
1216
  /**
@@ -1240,6 +1253,7 @@ declare const myClaimSchema: z.ZodObject<{
1240
1253
  reason: z.ZodString;
1241
1254
  expectedRefundAmount: z.ZodNullable<z.ZodNumber>;
1242
1255
  expectedDeliveryFeeRefundAmount: z.ZodNullable<z.ZodNumber>;
1256
+ expectedPointRefundAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1243
1257
  rejectReason: z.ZodNullable<z.ZodString>;
1244
1258
  returnAddress: z.ZodNullable<z.ZodObject<{
1245
1259
  name: z.ZodString;
@@ -1412,6 +1426,7 @@ declare const pricingAmountsSchema: z.ZodObject<{
1412
1426
  deliveryFee: z.ZodNumber;
1413
1427
  couponDiscountAmount: z.ZodNumber;
1414
1428
  deliveryDiscountAmount: z.ZodNumber;
1429
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1415
1430
  totalAmount: z.ZodNumber;
1416
1431
  }, z.core.$strip>;
1417
1432
  /** `POST /checkout/{checkoutId}/pricing` 요청 */
@@ -1423,6 +1438,7 @@ declare const checkoutPricingRequestSchema: z.ZodObject<{
1423
1438
  optionId: z.ZodOptional<z.ZodString>;
1424
1439
  lineId: z.ZodOptional<z.ZodString>;
1425
1440
  }, z.core.$strip>>;
1441
+ pointAmount: z.ZodOptional<z.ZodNumber>;
1426
1442
  }, z.core.$strip>;
1427
1443
  type CheckoutPricingRequest = z.infer<typeof checkoutPricingRequestSchema>;
1428
1444
  /** 결제 금액의 하한 — 쿠폰 적용 뒤 결제 금액이 이보다 작으면 결제를 시작할 수 없다 */
@@ -1433,6 +1449,7 @@ declare const checkoutPricingSchema: z.ZodObject<{
1433
1449
  deliveryFee: z.ZodNumber;
1434
1450
  couponDiscountAmount: z.ZodNumber;
1435
1451
  deliveryDiscountAmount: z.ZodNumber;
1452
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1436
1453
  totalAmount: z.ZodNumber;
1437
1454
  }, z.core.$strip>;
1438
1455
  coupons: z.ZodArray<z.ZodObject<{
@@ -1456,7 +1473,14 @@ declare const checkoutPricingSchema: z.ZodObject<{
1456
1473
  optionId: z.ZodNullable<z.ZodString>;
1457
1474
  lineId: z.ZodOptional<z.ZodString>;
1458
1475
  couponDiscountAmount: z.ZodNumber;
1476
+ pointAllocation: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1459
1477
  }, z.core.$strip>>;
1478
+ points: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
1479
+ balance: z.ZodNumber;
1480
+ maxUsable: z.ZodNumber;
1481
+ adjustReason: z.ZodNullable<z.ZodString>;
1482
+ rejectReason: z.ZodNullable<z.ZodString>;
1483
+ }, z.core.$strip>>>>;
1460
1484
  payable: z.ZodBoolean;
1461
1485
  }, z.core.$strip>;
1462
1486
  type CheckoutPricing = z.infer<typeof checkoutPricingSchema>;
@@ -2368,7 +2392,16 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2368
2392
  totalAmount: number;
2369
2393
  couponDiscountAmount: number;
2370
2394
  deliveryDiscountAmount: number;
2395
+ pointAmount: number;
2371
2396
  };
2397
+ points: {
2398
+ enabled: boolean;
2399
+ balance: number;
2400
+ maxUsable: number;
2401
+ unit: number;
2402
+ minAmount: number;
2403
+ minBalance: number;
2404
+ } | null;
2372
2405
  delivery: {
2373
2406
  baseFee: number;
2374
2407
  remoteSurcharge: number;
@@ -2422,6 +2455,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2422
2455
  totalAmount: number;
2423
2456
  couponDiscountAmount: number;
2424
2457
  deliveryDiscountAmount: number;
2458
+ pointAmount: number;
2425
2459
  };
2426
2460
  delivery: {
2427
2461
  baseFee: number;
@@ -2476,6 +2510,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2476
2510
  totalAmount: number;
2477
2511
  couponDiscountAmount: number;
2478
2512
  deliveryDiscountAmount: number;
2513
+ pointAmount: number;
2479
2514
  };
2480
2515
  delivery: {
2481
2516
  baseFee: number;
@@ -2499,6 +2534,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2499
2534
  deliveryFee: number;
2500
2535
  couponDiscountAmount: number;
2501
2536
  deliveryDiscountAmount: number;
2537
+ pointAmount: number;
2502
2538
  totalAmount: number;
2503
2539
  };
2504
2540
  coupons: {
@@ -2521,8 +2557,15 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2521
2557
  items: {
2522
2558
  optionId: string | null;
2523
2559
  couponDiscountAmount: number;
2560
+ pointAllocation: number;
2524
2561
  lineId?: string | undefined;
2525
2562
  }[];
2563
+ points: {
2564
+ balance: number;
2565
+ maxUsable: number;
2566
+ adjustReason: string | null;
2567
+ rejectReason: string | null;
2568
+ } | null;
2526
2569
  payable: boolean;
2527
2570
  }>;
2528
2571
  /** `GET /checkout/{checkoutId}/coupons` — 이 주문서에 쓸 수 있는 내 쿠폰과 예상 할인(회원 전용) */
@@ -2602,6 +2645,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2602
2645
  totalAmount: number;
2603
2646
  couponDiscountAmount: number;
2604
2647
  deliveryDiscountAmount: number;
2648
+ pointAmount: number;
2605
2649
  };
2606
2650
  delivery: {
2607
2651
  baseFee: number;
@@ -2632,6 +2676,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2632
2676
  activeQuantity: number;
2633
2677
  totalPrice: number;
2634
2678
  couponDiscountAmount: number;
2679
+ pointAllocation: number;
2635
2680
  status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2636
2681
  fulfillmentSnapshot: UnknownFulfillmentView | {
2637
2682
  type: "SHIPPING";
@@ -2679,6 +2724,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2679
2724
  easyPayProvider: string | null;
2680
2725
  couponDiscountAmount: number;
2681
2726
  deliveryDiscountAmount: number;
2727
+ pointAmount: number;
2682
2728
  discounts: {
2683
2729
  couponId: string;
2684
2730
  name: string;
@@ -2701,6 +2747,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2701
2747
  activeQuantity: number;
2702
2748
  totalPrice: number;
2703
2749
  couponDiscountAmount: number;
2750
+ pointAllocation: number;
2704
2751
  status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2705
2752
  fulfillmentSnapshot: UnknownFulfillmentView | {
2706
2753
  type: "SHIPPING";
@@ -2748,6 +2795,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2748
2795
  easyPayProvider: string | null;
2749
2796
  couponDiscountAmount: number;
2750
2797
  deliveryDiscountAmount: number;
2798
+ pointAmount: number;
2751
2799
  discounts: {
2752
2800
  couponId: string;
2753
2801
  name: string;
@@ -2781,6 +2829,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2781
2829
  activeQuantity: number;
2782
2830
  totalPrice: number;
2783
2831
  couponDiscountAmount: number;
2832
+ pointAllocation: number;
2784
2833
  status: "CANCELED" | "PAYMENT_WAITING" | "PAID" | "CONFIRMED" | "DISPATCHED" | "DELIVERING" | "DELIVERED" | "PURCHASE_DECIDED";
2785
2834
  fulfillmentSnapshot: UnknownFulfillmentView | {
2786
2835
  type: "SHIPPING";
@@ -2828,6 +2877,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2828
2877
  easyPayProvider: string | null;
2829
2878
  couponDiscountAmount: number;
2830
2879
  deliveryDiscountAmount: number;
2880
+ pointAmount: number;
2831
2881
  discounts: {
2832
2882
  couponId: string;
2833
2883
  name: string;
@@ -2866,6 +2916,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2866
2916
  deliveryFeeRefundAmount: number;
2867
2917
  couponChargeAmount: number;
2868
2918
  couponChargeRefundAmount: number;
2919
+ pointRefundAmount: number;
2869
2920
  }>;
2870
2921
  list: (params?: PageParams & {
2871
2922
  status?: ClaimStatus;
@@ -2884,6 +2935,7 @@ declare function createStorefrontClient(options: StorefrontClientOptions): {
2884
2935
  reason: string;
2885
2936
  expectedRefundAmount: number | null;
2886
2937
  expectedDeliveryFeeRefundAmount: number | null;
2938
+ expectedPointRefundAmount: number;
2887
2939
  rejectReason: string | null;
2888
2940
  returnAddress: {
2889
2941
  name: string;
@@ -3306,6 +3358,7 @@ declare const myOrderItemSchema: z.ZodObject<{
3306
3358
  activeQuantity: z.ZodNumber;
3307
3359
  totalPrice: z.ZodNumber;
3308
3360
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3361
+ pointAllocation: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3309
3362
  status: z.ZodEnum<{
3310
3363
  CANCELED: "CANCELED";
3311
3364
  PAYMENT_WAITING: "PAYMENT_WAITING";
@@ -3378,6 +3431,7 @@ declare const myOrderSchema: z.ZodObject<{
3378
3431
  activeQuantity: z.ZodNumber;
3379
3432
  totalPrice: z.ZodNumber;
3380
3433
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3434
+ pointAllocation: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3381
3435
  status: z.ZodEnum<{
3382
3436
  CANCELED: "CANCELED";
3383
3437
  PAYMENT_WAITING: "PAYMENT_WAITING";
@@ -3447,6 +3501,7 @@ declare const myOrderSchema: z.ZodObject<{
3447
3501
  easyPayProvider: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
3448
3502
  couponDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3449
3503
  deliveryDiscountAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3504
+ pointAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
3450
3505
  discounts: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
3451
3506
  couponId: z.ZodString;
3452
3507
  name: z.ZodString;
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { C as loginRequestSchema, D as tokenPairSchema, E as socialProviderSchema, O as withdrawRequestSchema, S as linkIdentityRequestSchema, T as signupRequestSchema, _ as anonymousSessionSchema, a as AnonymousSession, b as idpAuthorizeResponseSchema, c as IdpTokenRequest, d as MemberIdentities, f as SignupRequest, g as WithdrawalBlockedDetails, h as WithdrawRequest, i as buildQuery, k as withdrawalBlockedDetailsSchema, l as LinkIdentityRequest, m as TokenPair, n as Query, o as IdpAgreements, p as SocialProvider, r as TokenSource, s as IdpAuthorizeRequest, t as ApiError, u as LoginRequest, v as idpAgreementsSchema, w as memberIdentitiesSchema, x as idpTokenRequestSchema, y as idpAuthorizeRequestSchema } from "./http-1ab7tP4-.mjs";
2
- import { $ as StorefrontClientOptions, $n as DeliveryQuoteResult, $r as ProductDetail, $t as createCustomerInquiryRequestSchema, A as PurchaseDecisionResult, Ai as UnknownFulfillmentView, An as consentUpdateRequestSchema, Ar as easyPayProviderResponseSchema, At as uploadTicketSchema, B as ANALYTICS_VISITOR_COOKIE, Bi as cartItemSchema, Bn as claimTypeSchema, Br as paymentStatusSchema, Bt as updateProfileRequestSchema, C as memberPointEntrySchema, Ci as orderItemStatusSchema, Cn as ConsentState, Cr as cashReceiptRequestSchema, Ct as productReviewSortSchema, D as MyOrder, Di as MyOrderItemFulfillmentSnapshot, Dn as consentKindSchema, Dr as createCheckoutRequestSchema, Dt as reviewSummarySchema, E as DeliveryTracking, Ei as LineFulfillment, En as consentActionSchema, Er as checkoutSessionSchema, Et as reviewPageSchema, F as purchaseDecisionResultSchema, Fi as AddCartItemRequest, Fn as CreateClaimRequest, Fr as paymentMethodSchema, Ft as UpdateProfileRequest, G as AnalyticsEventName, Gn as CASH_RECEIPT_METHODS, Gr as retryPaymentRequestSchema, Gt as PublicInquiry, H as AnalyticsBatch, Hi as updateCartItemRequestSchema, Hn as createClaimResultSchema, Hr as remoteAreaSchema, Ht as CreateInquiryRequest, I as trackingStageResponseSchema, Ii as Cart, In as CreateClaimResult, Ir as paymentOptionKey, It as WishlistAddResult, J as analyticsClientEventNameSchema, Jn as CashReceiptType, Jr as CategoryNode, Jt as productInquiryCategorySchema, K as AnalyticsServerEventName, Kn as CashReceiptIdentityType, Kr as shippingAddressInputSchema, Kt as createInquiryRequestSchema, L as ANALYTICS_MAX_BATCH_BYTES, Li as CartItem, Ln as MyClaim, Lr as paymentOptionListSchema, Lt as memberAddressRequestSchema, M as myOrderItemSchema, Mi as myOrderItemFulfillmentSnapshotSchema, Mn as ClaimReason, Mr as guestInfoSchema, Mt as Member, N as myOrderSchema, Ni as productCardFulfillmentSchema, Nn as ClaimReturnAddress, Nr as paymentFailureCategorySchema, Nt as MemberAddress, O as MyOrderItem, Oi as ProductCardFulfillment, On as consentSourceSchema, Or as deliveryQuoteRequestSchema, Ot as updateReviewRequestSchema, P as orderShippingAddressSchema, Pi as productFulfillmentViewSchema, Pn as ClaimType, Pr as paymentMessageSchema, Pt as MemberAddressRequest, Q as StorefrontClient, Qn as DeliveryQuoteRequest, Qr as ProductCard, Qt as CustomerInquiryCategory, R as ANALYTICS_SESSION_COOKIE, Ri as UpdateCartItemRequest, Rn as claimReasonSchema, Rr as paymentOptionSchema, Rt as memberAddressSchema, S as memberPointEntryPageSchema, Si as claimStatusSchema, Sn as ConsentSource, Sr as cashReceiptIdentityTypeOf, St as productReviewQuerySchema, T as storefrontPointPolicySchema, Ti as pageSchema, Tn as MemberConsents, Tr as checkoutDeliverySchema, Tt as reviewImageUploadRequestSchema, U as AnalyticsClientEvent, Ui as analyticsIdsFromCookie, Un as myClaimSchema, Ur as residentNumberLike, Ut as CreateInquiryResult, V as ANALYTICS_VISITOR_HEADER, Vi as cartSchema, Vn as createClaimRequestSchema, Vr as pgProviderSchema, Vt as wishlistAddResultSchema, W as AnalyticsClientEventName, Wn as AvailablePaymentOption, Wr as responsePaymentMethodSchema, Wt as ProductInquiryCategory, X as analyticsIdSchema, Xn as CheckoutSession, Xr as CollectionProductParams, Xt as CreateCustomerInquiryRequest, Y as analyticsClientEventSchema, Yn as CheckoutDelivery, Yr as CollectionProductPage, Yt as publicInquirySchema, Z as analyticsServerEventNameSchema, Zn as CreateCheckoutRequest, Zr as CollectionProductSortParam, Zt as CustomerInquiry, _ as normalizeCustomInputValue, _i as storefrontCollectionSchema, _n as myCouponListQuerySchema, _r as RetryPaymentRequest, _t as UploadTicket, a as CustomInputEntry, ai as StorefrontCollectionDetail, an as CouponApplication, ar as PAYMENT_RESULT_VALUES, at as createStorefrontSession, b as MemberPoints, bi as PageInfo, bn as ConsentAction, br as availablePaymentOptionSchema, bt as createReviewResultSchema, c as OptionSelectionView, ci as collectionProductQuerySchema, cn as MIN_PAYMENT_AMOUNT, cr as PaymentFailureCategory, ct as MyReview, d as customInputEntrySchema, di as productDetailSchema, dn as checkoutPricingRequestSchema, dr as PaymentOption, dt as PublicReview, ei as ProductFacets, en as customerInquiryCategorySchema, er as EasyPayProvider, et as createStorefrontClient, f as customInputLength, fi as productFacetsSchema, fn as checkoutPricingSchema, fr as PaymentStart, ft as ReviewImageUploadRequest, g as lineSelectionResponseShape, gi as storefrontCollectionListQuerySchema, gn as couponResultSchema, gr as ResponsePaymentMethod, gt as UpdateReviewResult, h as lineSelectionRequestShape, hi as storefrontCollectionDetailSchema, hn as couponBenefitViewSchema, hr as RemoteArea, ht as UpdateReviewRequest, i as AddonSelection, ii as StorefrontCollection, in as CheckoutPricingRequest, ir as KnownPaymentStatus, it as StorefrontSessionOptions, j as deliveryTrackingSchema, ji as lineFulfillmentSchema, jn as memberConsentsSchema, jr as easyPayProviderSchema, jt as writableReviewSchema, k as OrderShippingAddress, ki as ProductFulfillmentView, kn as consentStateSchema, kr as deliveryQuoteSchema, kt as updateReviewResultSchema, l as addonGroupViewSchema, li as collectionProductSortSchema, ln as MyCoupon, lr as PaymentMessage, lt as ProductReviewParams, m as customInputViewSchema, mi as productSortSchema, mn as couponApplicationSchema, mr as PgProvider, mt as ReviewSummary, n as storefrontStoreSchema, ni as ProductSearchParams, nn as ApplicableCoupon, nr as KnownPaymentResult, nt as SessionStorage, o as CustomInputValueView, oi as categoryNodeSchema, on as CouponResult, or as PAYMENT_START_STATUS_VALUES, ot as CreateReviewRequest, p as customInputValueViewSchema, pi as productPageSchema, pn as couponApplicationListSchema, pr as PaymentStatus, pt as ReviewPage, q as analyticsBatchSchema, qn as CashReceiptRequest, qr as startPaymentRequestSchema, qt as createInquiryResultSchema, r as AddonGroupView, ri as ProductSort, rn as CheckoutPricing, rr as KnownPaymentStartStatus, rt as StorefrontSession, s as CustomInputView, si as collectionProductPageSchema, sn as MAX_COUPONS_PER_CHECKOUT, sr as PAYMENT_STATUS_VALUES, st as CreateReviewResult, t as StorefrontStore, ti as ProductPage, tn as customerInquirySchema, tr as GuestInfo, tt as STOREFRONT_SESSION_KEYS, u as addonSelectionSchema, ui as productCardSchema, un as applicableCouponSchema, ur as PaymentMethod, ut as ProductReviewSort, v as optionSelectionViewSchema, vi as ClaimStatus, vn as myCouponSchema, vr as ShippingAddressInput, vt as WritableReview, w as memberPointsSchema, wi as pageInfoSchema, wn as ConsentUpdateRequest, wr as cashReceiptTypeSchema, wt as publicReviewSchema, x as StorefrontPointPolicy, xi as PageParams, xn as ConsentKind, xr as cashReceiptAvailable, xt as myReviewSchema, y as MemberPointEntry, yi as OrderItemStatus, yn as pricingAmountsSchema, yr as StartPaymentRequest, yt as createReviewRequestSchema, z as ANALYTICS_SESSION_HEADER, zi as addCartItemRequestSchema, zn as claimReturnAddressSchema, zr as paymentStartSchema, zt as memberSchema } from "./index-UhlK7HG7.mjs";
2
+ import { $ as StorefrontClientOptions, $n as DeliveryQuoteResult, $r as ProductDetail, $t as createCustomerInquiryRequestSchema, A as PurchaseDecisionResult, Ai as UnknownFulfillmentView, An as consentUpdateRequestSchema, Ar as easyPayProviderResponseSchema, At as uploadTicketSchema, B as ANALYTICS_VISITOR_COOKIE, Bi as cartItemSchema, Bn as claimTypeSchema, Br as paymentStatusSchema, Bt as updateProfileRequestSchema, C as memberPointEntrySchema, Ci as orderItemStatusSchema, Cn as ConsentState, Cr as cashReceiptRequestSchema, Ct as productReviewSortSchema, D as MyOrder, Di as MyOrderItemFulfillmentSnapshot, Dn as consentKindSchema, Dr as createCheckoutRequestSchema, Dt as reviewSummarySchema, E as DeliveryTracking, Ei as LineFulfillment, En as consentActionSchema, Er as checkoutSessionSchema, Et as reviewPageSchema, F as purchaseDecisionResultSchema, Fi as AddCartItemRequest, Fn as CreateClaimRequest, Fr as paymentMethodSchema, Ft as UpdateProfileRequest, G as AnalyticsEventName, Gn as CASH_RECEIPT_METHODS, Gr as retryPaymentRequestSchema, Gt as PublicInquiry, H as AnalyticsBatch, Hi as updateCartItemRequestSchema, Hn as createClaimResultSchema, Hr as remoteAreaSchema, Ht as CreateInquiryRequest, I as trackingStageResponseSchema, Ii as Cart, In as CreateClaimResult, Ir as paymentOptionKey, It as WishlistAddResult, J as analyticsClientEventNameSchema, Jn as CashReceiptType, Jr as CategoryNode, Jt as productInquiryCategorySchema, K as AnalyticsServerEventName, Kn as CashReceiptIdentityType, Kr as shippingAddressInputSchema, Kt as createInquiryRequestSchema, L as ANALYTICS_MAX_BATCH_BYTES, Li as CartItem, Ln as MyClaim, Lr as paymentOptionListSchema, Lt as memberAddressRequestSchema, M as myOrderItemSchema, Mi as myOrderItemFulfillmentSnapshotSchema, Mn as ClaimReason, Mr as guestInfoSchema, Mt as Member, N as myOrderSchema, Ni as productCardFulfillmentSchema, Nn as ClaimReturnAddress, Nr as paymentFailureCategorySchema, Nt as MemberAddress, O as MyOrderItem, Oi as ProductCardFulfillment, On as consentSourceSchema, Or as deliveryQuoteRequestSchema, Ot as updateReviewRequestSchema, P as orderShippingAddressSchema, Pi as productFulfillmentViewSchema, Pn as ClaimType, Pr as paymentMessageSchema, Pt as MemberAddressRequest, Q as StorefrontClient, Qn as DeliveryQuoteRequest, Qr as ProductCard, Qt as CustomerInquiryCategory, R as ANALYTICS_SESSION_COOKIE, Ri as UpdateCartItemRequest, Rn as claimReasonSchema, Rr as paymentOptionSchema, Rt as memberAddressSchema, S as memberPointEntryPageSchema, Si as claimStatusSchema, Sn as ConsentSource, Sr as cashReceiptIdentityTypeOf, St as productReviewQuerySchema, T as storefrontPointPolicySchema, Ti as pageSchema, Tn as MemberConsents, Tr as checkoutDeliverySchema, Tt as reviewImageUploadRequestSchema, U as AnalyticsClientEvent, Ui as analyticsIdsFromCookie, Un as myClaimSchema, Ur as residentNumberLike, Ut as CreateInquiryResult, V as ANALYTICS_VISITOR_HEADER, Vi as cartSchema, Vn as createClaimRequestSchema, Vr as pgProviderSchema, Vt as wishlistAddResultSchema, W as AnalyticsClientEventName, Wn as AvailablePaymentOption, Wr as responsePaymentMethodSchema, Wt as ProductInquiryCategory, X as analyticsIdSchema, Xn as CheckoutSession, Xr as CollectionProductParams, Xt as CreateCustomerInquiryRequest, Y as analyticsClientEventSchema, Yn as CheckoutDelivery, Yr as CollectionProductPage, Yt as publicInquirySchema, Z as analyticsServerEventNameSchema, Zn as CreateCheckoutRequest, Zr as CollectionProductSortParam, Zt as CustomerInquiry, _ as normalizeCustomInputValue, _i as storefrontCollectionSchema, _n as myCouponListQuerySchema, _r as RetryPaymentRequest, _t as UploadTicket, a as CustomInputEntry, ai as StorefrontCollectionDetail, an as CouponApplication, ar as PAYMENT_RESULT_VALUES, at as createStorefrontSession, b as MemberPoints, bi as PageInfo, bn as ConsentAction, br as availablePaymentOptionSchema, bt as createReviewResultSchema, c as OptionSelectionView, ci as collectionProductQuerySchema, cn as MIN_PAYMENT_AMOUNT, cr as PaymentFailureCategory, ct as MyReview, d as customInputEntrySchema, di as productDetailSchema, dn as checkoutPricingRequestSchema, dr as PaymentOption, dt as PublicReview, ei as ProductFacets, en as customerInquiryCategorySchema, er as EasyPayProvider, et as createStorefrontClient, f as customInputLength, fi as productFacetsSchema, fn as checkoutPricingSchema, fr as PaymentStart, ft as ReviewImageUploadRequest, g as lineSelectionResponseShape, gi as storefrontCollectionListQuerySchema, gn as couponResultSchema, gr as ResponsePaymentMethod, gt as UpdateReviewResult, h as lineSelectionRequestShape, hi as storefrontCollectionDetailSchema, hn as couponBenefitViewSchema, hr as RemoteArea, ht as UpdateReviewRequest, i as AddonSelection, ii as StorefrontCollection, in as CheckoutPricingRequest, ir as KnownPaymentStatus, it as StorefrontSessionOptions, j as deliveryTrackingSchema, ji as lineFulfillmentSchema, jn as memberConsentsSchema, jr as easyPayProviderSchema, jt as writableReviewSchema, k as OrderShippingAddress, ki as ProductFulfillmentView, kn as consentStateSchema, kr as deliveryQuoteSchema, kt as updateReviewResultSchema, l as addonGroupViewSchema, li as collectionProductSortSchema, ln as MyCoupon, lr as PaymentMessage, lt as ProductReviewParams, m as customInputViewSchema, mi as productSortSchema, mn as couponApplicationSchema, mr as PgProvider, mt as ReviewSummary, n as storefrontStoreSchema, ni as ProductSearchParams, nn as ApplicableCoupon, nr as KnownPaymentResult, nt as SessionStorage, o as CustomInputValueView, oi as categoryNodeSchema, on as CouponResult, or as PAYMENT_START_STATUS_VALUES, ot as CreateReviewRequest, p as customInputValueViewSchema, pi as productPageSchema, pn as couponApplicationListSchema, pr as PaymentStatus, pt as ReviewPage, q as analyticsBatchSchema, qn as CashReceiptRequest, qr as startPaymentRequestSchema, qt as createInquiryResultSchema, r as AddonGroupView, ri as ProductSort, rn as CheckoutPricing, rr as KnownPaymentStartStatus, rt as StorefrontSession, s as CustomInputView, si as collectionProductPageSchema, sn as MAX_COUPONS_PER_CHECKOUT, sr as PAYMENT_STATUS_VALUES, st as CreateReviewResult, t as StorefrontStore, ti as ProductPage, tn as customerInquirySchema, tr as GuestInfo, tt as STOREFRONT_SESSION_KEYS, u as addonSelectionSchema, ui as productCardSchema, un as applicableCouponSchema, ur as PaymentMethod, ut as ProductReviewSort, v as optionSelectionViewSchema, vi as ClaimStatus, vn as myCouponSchema, vr as ShippingAddressInput, vt as WritableReview, w as memberPointsSchema, wi as pageInfoSchema, wn as ConsentUpdateRequest, wr as cashReceiptTypeSchema, wt as publicReviewSchema, x as StorefrontPointPolicy, xi as PageParams, xn as ConsentKind, xr as cashReceiptAvailable, xt as myReviewSchema, y as MemberPointEntry, yi as OrderItemStatus, yn as pricingAmountsSchema, yr as StartPaymentRequest, yt as createReviewRequestSchema, z as ANALYTICS_SESSION_HEADER, zi as addCartItemRequestSchema, zn as claimReturnAddressSchema, zr as paymentStartSchema, zt as memberSchema } from "./index-q0XQ08--.mjs";
3
3
  export { ANALYTICS_MAX_BATCH_BYTES, ANALYTICS_SESSION_COOKIE, ANALYTICS_SESSION_HEADER, ANALYTICS_VISITOR_COOKIE, ANALYTICS_VISITOR_HEADER, AddCartItemRequest, AddonGroupView, AddonSelection, AnalyticsBatch, AnalyticsClientEvent, AnalyticsClientEventName, AnalyticsEventName, AnalyticsServerEventName, AnonymousSession, ApiError, ApplicableCoupon, AvailablePaymentOption, CASH_RECEIPT_METHODS, Cart, CartItem, CashReceiptIdentityType, CashReceiptRequest, CashReceiptType, CategoryNode, CheckoutDelivery, CheckoutPricing, CheckoutPricingRequest, CheckoutSession, ClaimReason, ClaimReturnAddress, ClaimStatus, ClaimType, CollectionProductPage, CollectionProductParams, CollectionProductSortParam, ConsentAction, ConsentKind, ConsentSource, ConsentState, ConsentUpdateRequest, CouponApplication, CouponResult, CreateCheckoutRequest, CreateClaimRequest, CreateClaimResult, CreateCustomerInquiryRequest, CreateInquiryRequest, CreateInquiryResult, CreateReviewRequest, CreateReviewResult, CustomInputEntry, CustomInputValueView, CustomInputView, CustomerInquiry, CustomerInquiryCategory, DeliveryQuoteRequest, DeliveryQuoteResult, DeliveryTracking, EasyPayProvider, GuestInfo, IdpAgreements, IdpAuthorizeRequest, IdpTokenRequest, KnownPaymentResult, KnownPaymentStartStatus, KnownPaymentStatus, LineFulfillment, LinkIdentityRequest, LoginRequest, MAX_COUPONS_PER_CHECKOUT, MIN_PAYMENT_AMOUNT, Member, MemberAddress, MemberAddressRequest, MemberConsents, MemberIdentities, MemberPointEntry, MemberPoints, MyClaim, MyCoupon, MyOrder, MyOrderItem, MyOrderItemFulfillmentSnapshot, MyReview, OptionSelectionView, OrderItemStatus, OrderShippingAddress, PAYMENT_RESULT_VALUES, PAYMENT_START_STATUS_VALUES, PAYMENT_STATUS_VALUES, PageInfo, PageParams, PaymentFailureCategory, PaymentMessage, PaymentMethod, PaymentOption, PaymentStart, PaymentStatus, PgProvider, ProductCard, ProductCardFulfillment, ProductDetail, ProductFacets, ProductFulfillmentView, ProductInquiryCategory, ProductPage, ProductReviewParams, ProductReviewSort, ProductSearchParams, ProductSort, PublicInquiry, PublicReview, PurchaseDecisionResult, type Query, RemoteArea, ResponsePaymentMethod, RetryPaymentRequest, ReviewImageUploadRequest, ReviewPage, ReviewSummary, STOREFRONT_SESSION_KEYS, type SessionStorage, ShippingAddressInput, SignupRequest, SocialProvider, StartPaymentRequest, type StorefrontClient, type StorefrontClientOptions, StorefrontCollection, StorefrontCollectionDetail, StorefrontPointPolicy, type StorefrontSession, type StorefrontSessionOptions, StorefrontStore, TokenPair, type TokenSource, UnknownFulfillmentView, UpdateCartItemRequest, UpdateProfileRequest, UpdateReviewRequest, UpdateReviewResult, UploadTicket, WishlistAddResult, WithdrawRequest, WithdrawalBlockedDetails, WritableReview, addCartItemRequestSchema, addonGroupViewSchema, addonSelectionSchema, analyticsBatchSchema, analyticsClientEventNameSchema, analyticsClientEventSchema, analyticsIdSchema, analyticsIdsFromCookie, analyticsServerEventNameSchema, anonymousSessionSchema, applicableCouponSchema, availablePaymentOptionSchema, buildQuery, cartItemSchema, cartSchema, cashReceiptAvailable, cashReceiptIdentityTypeOf, cashReceiptRequestSchema, cashReceiptTypeSchema, categoryNodeSchema, checkoutDeliverySchema, checkoutPricingRequestSchema, checkoutPricingSchema, checkoutSessionSchema, claimReasonSchema, claimReturnAddressSchema, claimStatusSchema, claimTypeSchema, collectionProductPageSchema, collectionProductQuerySchema, collectionProductSortSchema, consentActionSchema, consentKindSchema, consentSourceSchema, consentStateSchema, consentUpdateRequestSchema, couponApplicationListSchema, couponApplicationSchema, couponBenefitViewSchema, couponResultSchema, createCheckoutRequestSchema, createClaimRequestSchema, createClaimResultSchema, createCustomerInquiryRequestSchema, createInquiryRequestSchema, createInquiryResultSchema, createReviewRequestSchema, createReviewResultSchema, createStorefrontClient, createStorefrontSession, customInputEntrySchema, customInputLength, customInputValueViewSchema, customInputViewSchema, customerInquiryCategorySchema, customerInquirySchema, deliveryQuoteRequestSchema, deliveryQuoteSchema, deliveryTrackingSchema, easyPayProviderResponseSchema, easyPayProviderSchema, guestInfoSchema, idpAgreementsSchema, idpAuthorizeRequestSchema, idpAuthorizeResponseSchema, idpTokenRequestSchema, lineFulfillmentSchema, lineSelectionRequestShape, lineSelectionResponseShape, linkIdentityRequestSchema, loginRequestSchema, memberAddressRequestSchema, memberAddressSchema, memberConsentsSchema, memberIdentitiesSchema, memberPointEntryPageSchema, memberPointEntrySchema, memberPointsSchema, memberSchema, myClaimSchema, myCouponListQuerySchema, myCouponSchema, myOrderItemFulfillmentSnapshotSchema, myOrderItemSchema, myOrderSchema, myReviewSchema, normalizeCustomInputValue, optionSelectionViewSchema, orderItemStatusSchema, orderShippingAddressSchema, pageInfoSchema, pageSchema, paymentFailureCategorySchema, paymentMessageSchema, paymentMethodSchema, paymentOptionKey, paymentOptionListSchema, paymentOptionSchema, paymentStartSchema, paymentStatusSchema, pgProviderSchema, pricingAmountsSchema, productCardFulfillmentSchema, productCardSchema, productDetailSchema, productFacetsSchema, productFulfillmentViewSchema, productInquiryCategorySchema, productPageSchema, productReviewQuerySchema, productReviewSortSchema, productSortSchema, publicInquirySchema, publicReviewSchema, purchaseDecisionResultSchema, remoteAreaSchema, residentNumberLike, responsePaymentMethodSchema, retryPaymentRequestSchema, reviewImageUploadRequestSchema, reviewPageSchema, reviewSummarySchema, shippingAddressInputSchema, signupRequestSchema, socialProviderSchema, startPaymentRequestSchema, storefrontCollectionDetailSchema, storefrontCollectionListQuerySchema, storefrontCollectionSchema, storefrontPointPolicySchema, storefrontStoreSchema, tokenPairSchema, trackingStageResponseSchema, updateCartItemRequestSchema, updateProfileRequestSchema, updateReviewRequestSchema, updateReviewResultSchema, uploadTicketSchema, wishlistAddResultSchema, withdrawRequestSchema, withdrawalBlockedDetailsSchema, writableReviewSchema };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as ANALYTICS_VISITOR_HEADER, c as analyticsClientEventSchema, i as ANALYTICS_VISITOR_COOKIE, l as analyticsIdSchema, n as ANALYTICS_SESSION_COOKIE, o as analyticsBatchSchema, r as ANALYTICS_SESSION_HEADER, s as analyticsClientEventNameSchema, t as ANALYTICS_MAX_BATCH_BYTES, u as analyticsServerEventNameSchema } from "./analytics-CgD70OqH.mjs";
2
2
  import { t as analyticsIdsFromCookie } from "./analytics-ids-COElZiI3.mjs";
3
- import { $ as collectionProductSortSchema, A as wishlistAddResultSchema, At as buildQuery, B as consentSourceSchema, C as orderShippingAddressSchema, Ct as memberIdentitiesSchema, D as memberAddressSchema, Dt as withdrawRequestSchema, E as memberAddressRequestSchema, Et as tokenPairSchema, F as createCustomerInquiryRequestSchema, G as claimReturnAddressSchema, H as consentUpdateRequestSchema, I as customerInquiryCategorySchema, J as createClaimResultSchema, K as claimTypeSchema, L as customerInquirySchema, M as createInquiryResultSchema, Mt as unwrapData, N as productInquiryCategorySchema, O as memberSchema, Ot as withdrawalBlockedDetailsSchema, P as publicInquirySchema, Q as collectionProductQuerySchema, R as consentActionSchema, S as myOrderSchema, St as loginRequestSchema, T as trackingStageResponseSchema, Tt as socialProviderSchema, U as memberConsentsSchema, V as consentStateSchema, W as claimReasonSchema, X as categoryNodeSchema, Y as myClaimSchema, Z as collectionProductPageSchema, _ as memberPointEntrySchema, _t as idpAgreementsSchema, a as myReviewSchema, at as storefrontCollectionDetailSchema, b as deliveryTrackingSchema, bt as idpTokenRequestSchema, c as publicReviewSchema, ct as claimStatusSchema, d as reviewSummarySchema, dt as pageSchema, et as productCardSchema, f as updateReviewRequestSchema, ft as addCartItemRequestSchema, g as memberPointEntryPageSchema, gt as anonymousSessionSchema, h as writableReviewSchema, ht as updateCartItemRequestSchema, i as createReviewResultSchema, it as productSortSchema, j as createInquiryRequestSchema, jt as toApiError, k as updateProfileRequestSchema, kt as ApiError, l as reviewImageUploadRequestSchema, lt as orderItemStatusSchema, m as uploadTicketSchema, mt as cartSchema, n as storefrontStoreSchema, nt as productFacetsSchema, o as productReviewQuerySchema, ot as storefrontCollectionListQuerySchema, p as updateReviewResultSchema, pt as cartItemSchema, q as createClaimRequestSchema, r as createReviewRequestSchema, rt as productPageSchema, s as productReviewSortSchema, st as storefrontCollectionSchema, t as createStorefrontClient, tt as productDetailSchema, u as reviewPageSchema, ut as pageInfoSchema, v as memberPointsSchema, vt as idpAuthorizeRequestSchema, w as purchaseDecisionResultSchema, wt as signupRequestSchema, x as myOrderItemSchema, xt as linkIdentityRequestSchema, y as storefrontPointPolicySchema, yt as idpAuthorizeResponseSchema, z as consentKindSchema } from "./client-NPFWqMgT.mjs";
4
- import { $ as normalizeCustomInputValue, A as retryPaymentRequestSchema, B as couponBenefitViewSchema, C as paymentOptionSchema, D as remoteAreaSchema, E as pgProviderSchema, F as applicableCouponSchema, G as addonGroupViewSchema, H as myCouponListQuerySchema, I as checkoutPricingRequestSchema, J as customInputLength, K as addonSelectionSchema, L as checkoutPricingSchema, M as startPaymentRequestSchema, N as MAX_COUPONS_PER_CHECKOUT, O as residentNumberLike, P as MIN_PAYMENT_AMOUNT, Q as lineSelectionResponseShape, R as couponApplicationListSchema, S as paymentOptionListSchema, T as paymentStatusSchema, U as myCouponSchema, V as couponResultSchema, W as pricingAmountsSchema, X as customInputViewSchema, Y as customInputValueViewSchema, Z as lineSelectionRequestShape, _ as guestInfoSchema, a as availablePaymentOptionSchema, b as paymentMethodSchema, c as cashReceiptRequestSchema, d as checkoutSessionSchema, et as optionSelectionViewSchema, f as createCheckoutRequestSchema, g as easyPayProviderSchema, h as easyPayProviderResponseSchema, i as PAYMENT_STATUS_VALUES, it as productFulfillmentViewSchema, j as shippingAddressInputSchema, k as responsePaymentMethodSchema, l as cashReceiptTypeSchema, m as deliveryQuoteSchema, n as PAYMENT_RESULT_VALUES, nt as myOrderItemFulfillmentSnapshotSchema, o as cashReceiptAvailable, p as deliveryQuoteRequestSchema, q as customInputEntrySchema, r as PAYMENT_START_STATUS_VALUES, rt as productCardFulfillmentSchema, s as cashReceiptIdentityTypeOf, t as CASH_RECEIPT_METHODS, tt as lineFulfillmentSchema, u as checkoutDeliverySchema, v as paymentFailureCategorySchema, w as paymentStartSchema, x as paymentOptionKey, y as paymentMessageSchema, z as couponApplicationSchema } from "./checkout-f7iFQV88.mjs";
3
+ import { $ as collectionProductSortSchema, A as wishlistAddResultSchema, At as buildQuery, B as consentSourceSchema, C as orderShippingAddressSchema, Ct as memberIdentitiesSchema, D as memberAddressSchema, Dt as withdrawRequestSchema, E as memberAddressRequestSchema, Et as tokenPairSchema, F as createCustomerInquiryRequestSchema, G as claimReturnAddressSchema, H as consentUpdateRequestSchema, I as customerInquiryCategorySchema, J as createClaimResultSchema, K as claimTypeSchema, L as customerInquirySchema, M as createInquiryResultSchema, Mt as unwrapData, N as productInquiryCategorySchema, O as memberSchema, Ot as withdrawalBlockedDetailsSchema, P as publicInquirySchema, Q as collectionProductQuerySchema, R as consentActionSchema, S as myOrderSchema, St as loginRequestSchema, T as trackingStageResponseSchema, Tt as socialProviderSchema, U as memberConsentsSchema, V as consentStateSchema, W as claimReasonSchema, X as categoryNodeSchema, Y as myClaimSchema, Z as collectionProductPageSchema, _ as memberPointEntrySchema, _t as idpAgreementsSchema, a as myReviewSchema, at as storefrontCollectionDetailSchema, b as deliveryTrackingSchema, bt as idpTokenRequestSchema, c as publicReviewSchema, ct as claimStatusSchema, d as reviewSummarySchema, dt as pageSchema, et as productCardSchema, f as updateReviewRequestSchema, ft as addCartItemRequestSchema, g as memberPointEntryPageSchema, gt as anonymousSessionSchema, h as writableReviewSchema, ht as updateCartItemRequestSchema, i as createReviewResultSchema, it as productSortSchema, j as createInquiryRequestSchema, jt as toApiError, k as updateProfileRequestSchema, kt as ApiError, l as reviewImageUploadRequestSchema, lt as orderItemStatusSchema, m as uploadTicketSchema, mt as cartSchema, n as storefrontStoreSchema, nt as productFacetsSchema, o as productReviewQuerySchema, ot as storefrontCollectionListQuerySchema, p as updateReviewResultSchema, pt as cartItemSchema, q as createClaimRequestSchema, r as createReviewRequestSchema, rt as productPageSchema, s as productReviewSortSchema, st as storefrontCollectionSchema, t as createStorefrontClient, tt as productDetailSchema, u as reviewPageSchema, ut as pageInfoSchema, v as memberPointsSchema, vt as idpAuthorizeRequestSchema, w as purchaseDecisionResultSchema, wt as signupRequestSchema, x as myOrderItemSchema, xt as linkIdentityRequestSchema, y as storefrontPointPolicySchema, yt as idpAuthorizeResponseSchema, z as consentKindSchema } from "./client-jOhA2sZX.mjs";
4
+ import { $ as normalizeCustomInputValue, A as retryPaymentRequestSchema, B as couponBenefitViewSchema, C as paymentOptionSchema, D as remoteAreaSchema, E as pgProviderSchema, F as applicableCouponSchema, G as addonGroupViewSchema, H as myCouponListQuerySchema, I as checkoutPricingRequestSchema, J as customInputLength, K as addonSelectionSchema, L as checkoutPricingSchema, M as startPaymentRequestSchema, N as MAX_COUPONS_PER_CHECKOUT, O as residentNumberLike, P as MIN_PAYMENT_AMOUNT, Q as lineSelectionResponseShape, R as couponApplicationListSchema, S as paymentOptionListSchema, T as paymentStatusSchema, U as myCouponSchema, V as couponResultSchema, W as pricingAmountsSchema, X as customInputViewSchema, Y as customInputValueViewSchema, Z as lineSelectionRequestShape, _ as guestInfoSchema, a as availablePaymentOptionSchema, b as paymentMethodSchema, c as cashReceiptRequestSchema, d as checkoutSessionSchema, et as optionSelectionViewSchema, f as createCheckoutRequestSchema, g as easyPayProviderSchema, h as easyPayProviderResponseSchema, i as PAYMENT_STATUS_VALUES, it as productFulfillmentViewSchema, j as shippingAddressInputSchema, k as responsePaymentMethodSchema, l as cashReceiptTypeSchema, m as deliveryQuoteSchema, n as PAYMENT_RESULT_VALUES, nt as myOrderItemFulfillmentSnapshotSchema, o as cashReceiptAvailable, p as deliveryQuoteRequestSchema, q as customInputEntrySchema, r as PAYMENT_START_STATUS_VALUES, rt as productCardFulfillmentSchema, s as cashReceiptIdentityTypeOf, t as CASH_RECEIPT_METHODS, tt as lineFulfillmentSchema, u as checkoutDeliverySchema, v as paymentFailureCategorySchema, w as paymentStartSchema, x as paymentOptionKey, y as paymentMessageSchema, z as couponApplicationSchema } from "./checkout-DSAf758s.mjs";
5
5
  //#region src/session.ts
6
6
  /** 세션 키 상수 — SDK가 소유한다. store-sdk와 겹치지 않는 별도 네임스페이스. */
7
7
  const STOREFRONT_SESSION_KEYS = {
@@ -1,4 +1,4 @@
1
- import { dr as PaymentOption, et as createStorefrontClient, fr as PaymentStart, pr as PaymentStatus, qn as CashReceiptRequest, tr as GuestInfo, vr as ShippingAddressInput, yr as StartPaymentRequest } from "../index-UhlK7HG7.mjs";
1
+ import { dr as PaymentOption, et as createStorefrontClient, fr as PaymentStart, pr as PaymentStatus, qn as CashReceiptRequest, tr as GuestInfo, vr as ShippingAddressInput, yr as StartPaymentRequest } from "../index-q0XQ08--.mjs";
2
2
  //#region src/payments/index.d.ts
3
3
  /**
4
4
  * 스토어프론트 결제 — 브라우저 전용(`@sayren/storefront-sdk/payments`).
@@ -1,4 +1,4 @@
1
- import { y as paymentMessageSchema } from "../checkout-f7iFQV88.mjs";
1
+ import { y as paymentMessageSchema } from "../checkout-DSAf758s.mjs";
2
2
  //#region src/payments/index.ts
3
3
  /** 복귀 주소에 결제 서비스가 붙이는 쿼리 */
4
4
  const RETURN_PAYMENT_ID = "sayrenPaymentId";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sayren/storefront-sdk",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "main": "./dist/index.mjs",
5
5
  "types": "./dist/index.d.mts",
6
6
  "exports": {
@@ -102,7 +102,35 @@ export const checkoutSessionSchema = z.object({
102
102
  .optional()
103
103
  .default(0)
104
104
  .describe("배송비 쿠폰 할인. 쿠폰이 없으면 0"),
105
+ pointAmount: z
106
+ .number()
107
+ .int()
108
+ .optional()
109
+ .default(0)
110
+ .describe(
111
+ "사용 적립금(#93). 주문서는 적립금 전이라 0이고, 결제 시작 응답은 쓴 적립금이다. `totalAmount`는 적립금을 뺀 금액이다",
112
+ ),
105
113
  }),
114
+ points: z
115
+ .object({
116
+ enabled: z
117
+ .boolean()
118
+ .describe("이 주문서에서 적립금을 쓸 수 있는가. 비회원·사용 꺼짐이면 false"),
119
+ balance: z.number().int().describe("내 적립금 잔액"),
120
+ maxUsable: z
121
+ .number()
122
+ .int()
123
+ .describe(
124
+ "이 주문서(쿠폰 전, 배송지 반영 전)에서 쓸 수 있는 최대 금액. 쿠폰·배송지를 바꾸면 금액 미리보기로 다시 받는다",
125
+ ),
126
+ unit: z.number().int().describe("사용 단위(원)"),
127
+ minAmount: z.number().int().describe("한 번에 쓰는 최소 금액(원)"),
128
+ minBalance: z.number().int().describe("쓸 수 있는 최소 보유액(원)"),
129
+ })
130
+ .nullable()
131
+ .optional()
132
+ .default(null)
133
+ .describe("적립금 사용 안내(#93). 비회원이거나 상점이 적립금 사용을 끄면 null"),
106
134
  delivery: checkoutDeliverySchema.describe(
107
135
  "배송비 내역. 배송지를 입력하면 금액이 바뀔 수 있다 — 최종 금액은 결제 시작 응답의 `amounts`다",
108
136
  ),
@@ -412,6 +440,16 @@ export const startPaymentRequestSchema = z.object({
412
440
  "적용하지 못하는 쿠폰이 하나라도 있으면 400 `COUPON_NOT_APPLICABLE`(`details`에 사유)이다. 결제가 실패하거나 만료되면 예약이 풀린다. " +
413
441
  "쿠폰을 바꾸려면 새로 결제를 시작한다(재시도는 같은 쿠폰을 쓴다)",
414
442
  ),
443
+ pointAmount: z
444
+ .number()
445
+ .int()
446
+ .min(0)
447
+ .optional()
448
+ .describe(
449
+ "쓸 적립금(#93, 회원만). 결제 시작이 예약하고 쿠폰 뒤 금액에서 뺀다 — 응답 `amounts.pointAmount`가 실제 사용액이다(단위로 내리고 결제 금액 100원을 남긴다). " +
450
+ "적립금 사용이 꺼져 있으면 409 `POINTS_UNAVAILABLE`, 쓸 수 없으면 400 `POINT_NOT_APPLICABLE`(`details.reason`), 그 사이 잔액이 줄었으면 409 `POINT_BALANCE_CHANGED`다. " +
451
+ "결제가 실패하거나 만료되면 예약이 풀린다",
452
+ ),
415
453
  });
416
454
 
417
455
  export type StartPaymentRequest = z.infer<typeof startPaymentRequestSchema>;
@@ -71,6 +71,15 @@ export const createClaimResultSchema = z.object({
71
71
  "되돌릴 쿠폰 차감 예상액 — 앞선 취소·반품에서 뺀 쿠폰 조건 미달 차감 중 이번에 돌려받을 몫이다. " +
72
72
  "예상 환불액에 이미 반영돼 있다. 서버는 항상 싣는다",
73
73
  ),
74
+ pointRefundAmount: z
75
+ .number()
76
+ .int()
77
+ .optional()
78
+ .default(0)
79
+ .describe(
80
+ "돌려받을 적립금 예상액 (원, #93) — 결제에 쓴 적립금 중 이번 취소·반품 수량의 몫이다. 예상 환불액(현금)과 별개다. " +
81
+ "차감은 현금에서 먼저 빼고 모자란 몫만 여기서 뺀다. 적립금을 쓰지 않은 주문은 0이다. 서버는 항상 싣는다",
82
+ ),
74
83
  });
75
84
 
76
85
  export type CreateClaimResult = z.infer<typeof createClaimResultSchema>;
@@ -117,6 +126,15 @@ export const myClaimSchema = z.object({
117
126
  "예상 배송비 환불액. 배송 묶음이 모두 취소되거나 판매자 귀책일 때만 0보다 크다. " +
118
127
  "이 필드가 생기기 전에 접수된 클레임은 null이다",
119
128
  ),
129
+ expectedPointRefundAmount: z
130
+ .number()
131
+ .int()
132
+ .optional()
133
+ .default(0)
134
+ .describe(
135
+ "예상 반환 적립금 (원, #93) — 결제에 쓴 적립금 중 이 수량의 몫이다. 예상 환불액(현금)과 별개이고, 차감은 현금에서 먼저 뺀다. " +
136
+ "교환·적립금을 쓰지 않은 주문은 0이다. 서버는 항상 싣는다",
137
+ ),
120
138
  rejectReason: z.string().nullable(),
121
139
  returnAddress: claimReturnAddressSchema
122
140
  .nullable()
@@ -96,6 +96,12 @@ export const pricingAmountsSchema = z.object({
96
96
  deliveryFee: z.number().int(),
97
97
  couponDiscountAmount: z.number().int(),
98
98
  deliveryDiscountAmount: z.number().int(),
99
+ pointAmount: z
100
+ .number()
101
+ .int()
102
+ .optional()
103
+ .default(0)
104
+ .describe("사용 적립금(#93). 요청에 `pointAmount`가 없으면 0. 서버는 항상 싣는다"),
99
105
  totalAmount: z.number().int().describe("결제 금액"),
100
106
  });
101
107
 
@@ -107,6 +113,14 @@ export const checkoutPricingRequestSchema = z.object({
107
113
  .optional()
108
114
  .describe("배송지 우편번호. 주면 제주·도서산간 추가 배송비까지 반영한다"),
109
115
  coupons: couponApplicationListSchema,
116
+ pointAmount: z
117
+ .number()
118
+ .int()
119
+ .min(0)
120
+ .optional()
121
+ .describe(
122
+ "쓸 적립금(#93, 회원만). 결제 시작과 같은 규칙으로 실제 사용액을 계산한다(예약하지 않는다)",
123
+ ),
110
124
  });
111
125
  export type CheckoutPricingRequest = z.infer<typeof checkoutPricingRequestSchema>;
112
126
 
@@ -125,9 +139,34 @@ export const checkoutPricingSchema = z.object({
125
139
  .optional()
126
140
  .describe("주문서 줄의 `lineId`(이슈 #59). 서버는 항상 싣는다"),
127
141
  couponDiscountAmount: z.number().int().describe("이 항목에 들어간 쿠폰 할인"),
142
+ pointAllocation: z
143
+ .number()
144
+ .int()
145
+ .optional()
146
+ .default(0)
147
+ .describe("이 항목에 배분한 적립금(#93). 서버는 항상 싣는다"),
128
148
  }),
129
149
  )
130
150
  .describe("주문서 항목별 쿠폰 할인 — 주문서 `items`와 같은 순서"),
151
+ points: z
152
+ .object({
153
+ balance: z.number().int().describe("내 적립금 잔액"),
154
+ maxUsable: z.number().int().describe("이 금액(쿠폰·배송지 반영)에서 쓸 수 있는 최대 적립금"),
155
+ adjustReason: z
156
+ .string()
157
+ .nullable()
158
+ .describe("요청보다 적게 쓴 이유. `MIN_PAYMENT`: 결제 금액 100원을 남기려고 줄였다"),
159
+ rejectReason: z
160
+ .string()
161
+ .nullable()
162
+ .describe(
163
+ "요청했지만 쓰지 못한 이유 — `MIN_BALANCE`·`MIN_AMOUNT`·`NOT_PAYABLE`. 값이 추가될 수 있다",
164
+ ),
165
+ })
166
+ .nullable()
167
+ .optional()
168
+ .default(null)
169
+ .describe("적립금(#93). 비회원이거나 적립금 사용이 꺼져 있으면 null"),
131
170
  payable: z
132
171
  .boolean()
133
172
  .describe(
@@ -32,6 +32,14 @@ export const myOrderItemSchema = z.object({
32
32
  .describe(
33
33
  "이 주문상품에 배분된 쿠폰 할인. 실결제 금액은 `totalPrice − couponDiscountAmount`다. 쿠폰이 없으면 0. 서버는 항상 싣는다",
34
34
  ),
35
+ pointAllocation: z
36
+ .number()
37
+ .int()
38
+ .optional()
39
+ .default(0)
40
+ .describe(
41
+ "이 주문상품에 쓴 적립금 (원, #93). 현금 실결제는 `totalPrice − couponDiscountAmount − pointAllocation`이다. 적립금을 쓰지 않았으면 0. 서버는 항상 싣는다",
42
+ ),
35
43
  status: orderItemStatusSchema,
36
44
  fulfillmentSnapshot: myOrderItemFulfillmentSnapshotSchema.describe(
37
45
  "주문 시점 이행 스냅샷(이슈 #57). `type`이 주문 시점 상품 유형이다. 배송 없는 상품(`MANUAL`)이면 `DELIVERED`는 제공 완료다",
@@ -115,6 +123,14 @@ export const myOrderSchema = z.object({
115
123
  .optional()
116
124
  .default(0)
117
125
  .describe("배송비 쿠폰 할인. 쿠폰이 없으면 0. 서버는 항상 싣는다"),
126
+ pointAmount: z
127
+ .number()
128
+ .int()
129
+ .optional()
130
+ .default(0)
131
+ .describe(
132
+ "사용 적립금 (원, #93). `totalAmount`는 적립금을 뺀 결제 금액이다. 적립금을 쓰지 않았으면 0. 서버는 항상 싣는다",
133
+ ),
118
134
  discounts: z
119
135
  .array(
120
136
  z.object({
@@ -51,7 +51,8 @@ export const memberPointEntrySchema = z.object({
51
51
  .string()
52
52
  .describe(
53
53
  "유형. `EARN_REVIEW` 리뷰 적립 · `REVOKE_REVIEW` 리뷰 삭제 회수 · `EARN_PURCHASE` 구매 적립 · `EXPIRE` 소멸 · `ADJUST` 상점 지급·차감 · " +
54
- "`OPENING` 기존 적립금. 값이 추가될 수 있어 문자열로 받는다",
54
+ "`OPENING` 기존 적립금 · `USE_RESERVE` 결제 사용 · `USE_RELEASE` 결제가 실패·만료되어 되돌림 · `REFUND_RESTORE` 취소·반품 환불로 반환. " +
55
+ "값이 추가될 수 있어 문자열로 받는다",
55
56
  ),
56
57
  amount: z.number().int().describe("변동액. 적립 +, 회수·차감·소멸 −"),
57
58
  balanceAfter: z.number().int().describe("이 변동 직후 잔액"),