sayren Docs
주문서

쿠폰·적립금 금액 미리보기

고른 쿠폰(내 쿠폰의 `issueId` 또는 코드)으로 결제 금액을 미리 계산한다. **주문서를 바꾸지 않고 쿠폰을 예약하지 않는다** — 확정은 결제 시작의 `coupons`다. 쿠폰마다 적용 결과와 적용하지 못한 사유를 돌려준다. 한 주문에 주문 쿠폰 1장, 주문상품 한 줄에 상품 쿠폰 1장까지 함께 쓴다. 정률 할인은 10원 단위로 내린다. `zipCode`를 주면 제주·도서산간 추가 배송비까지 반영한다. 코드 입력은 구매자당 분당 10회까지다. 상점 전체에서 없는 코드 입력이 많으면 비회원의 코드 입력을 잠시 막는다. 회원은 `pointAmount`로 적립금 사용액을 미리 본다. 적용 순서는 즉시할인 → 쿠폰 → 적립금이고, 상점의 사용 규칙(최소 보유액·최소 사용액·사용 단위·최대 사용 비율·배송비 사용 여부)에 맞춰 줄인다. 결제 금액이 100원 아래로 내려가면 적립금을 줄여 100원을 남긴다(`points.adjustReason` `MIN_PAYMENT`). 결제 금액 전체를 덮으면 `totalAmount`가 0이고 결제창 없이 결제한다. 적립금을 예약하지 않는다 — 확정은 결제 시작의 `pointAmount`다.

POST
/storefront/v1/checkout/{checkoutId}/pricing

고른 쿠폰(내 쿠폰의 issueId 또는 코드)으로 결제 금액을 미리 계산한다. 주문서를 바꾸지 않고 쿠폰을 예약하지 않는다 — 확정은 결제 시작의 coupons다. 쿠폰마다 적용 결과와 적용하지 못한 사유를 돌려준다. 한 주문에 주문 쿠폰 1장, 주문상품 한 줄에 상품 쿠폰 1장까지 함께 쓴다. 정률 할인은 10원 단위로 내린다. zipCode를 주면 제주·도서산간 추가 배송비까지 반영한다. 코드 입력은 구매자당 분당 10회까지다. 상점 전체에서 없는 코드 입력이 많으면 비회원의 코드 입력을 잠시 막는다. 회원은 pointAmount로 적립금 사용액을 미리 본다. 적용 순서는 즉시할인 → 쿠폰 → 적립금이고, 상점의 사용 규칙(최소 보유액·최소 사용액·사용 단위·최대 사용 비율·배송비 사용 여부)에 맞춰 줄인다. 결제 금액이 100원 아래로 내려가면 적립금을 줄여 100원을 남긴다(points.adjustReason MIN_PAYMENT). 결제 금액 전체를 덮으면 totalAmount가 0이고 결제창 없이 결제한다. 적립금을 예약하지 않는다 — 확정은 결제 시작의 pointAmount다.

AuthorizationBearer <token>

회원 accessToken

In: header

Path Parameters

checkoutId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

zipCode?string

배송지 우편번호. 주면 제주·도서산간 추가 배송비까지 반영한다

Match^[0-9]{5}$
coupons*array<>

적용할 쿠폰. 주문 쿠폰 1장, 주문상품 한 줄에 상품 쿠폰 1장까지 함께 쓴다

Itemsitems <= 5
pointAmount?integer

쓸 적립금(#93, 회원만). 결제 시작과 같은 규칙으로 실제 사용액을 계산한다(예약하지 않는다)

Range0 <= value

Response Body

application/json

curl -X POST "https://example.com/storefront/v1/checkout/string/pricing" \  -H "Content-Type: application/json" \  -d '{    "coupons": [      {}    ]  }'
{  "meta": {    "status": 200,    "code": "OK",    "message": "OK",    "isSuccess": true  },  "data": {    "amounts": {      "productAmount": 0,      "deliveryFee": 0,      "couponDiscountAmount": 0,      "deliveryDiscountAmount": 0,      "pointAmount": 0,      "totalAmount": 0    },    "coupons": [      {        "couponId": "string",        "issueId": "string",        "code": "string",        "name": "string",        "kind": "string",        "benefit": {          "type": "string",          "value": 0,          "maxDiscountAmount": 0        },        "applied": true,        "discountAmount": 0,        "rejectReason": "string",        "optionId": "string",        "lineId": null      }    ],    "items": [      {        "optionId": "string",        "lineId": "string",        "couponDiscountAmount": 0,        "pointAllocation": 0      }    ],    "points": null,    "payable": true,    "paymentRequired": true  },  "error": null}