결제 재시도 (다른 결제 옵션)
같은 결제에서 다른 결제 옵션으로 새 결제 시도를 열고 새 결제 서비스 주소(`payUrl`)를 돌려준다. 카드 거절·결제창 취소·결제창 오류 뒤에 다른 결제사나 결제수단으로 바꿀 때 쓴다. 결제 전 시도(결제창을 닫고 돌아오지 않은 경우)는 버리고 새 시도를 연다. `returnUrl`을 생략하면 결제 시작 때의 복귀 주소를 그대로 쓰고, 보내면 그 주소로 바꾼다(검증은 결제 시작과 같다). 승인 중이거나 결과 확인 중이면 409 `PAYMENT_IN_PROGRESS`다.
같은 결제에서 다른 결제 옵션으로 새 결제 시도를 열고 새 결제 서비스 주소(payUrl)를 돌려준다. 카드 거절·결제창 취소·결제창 오류 뒤에 다른 결제사나 결제수단으로 바꿀 때 쓴다. 결제 전 시도(결제창을 닫고 돌아오지 않은 경우)는 버리고 새 시도를 연다. returnUrl을 생략하면 결제 시작 때의 복귀 주소를 그대로 쓰고, 보내면 그 주소로 바꾼다(검증은 결제 시작과 같다). 승인 중이거나 결과 확인 중이면 409 PAYMENT_IN_PROGRESS다.
회원 accessToken
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
결제를 마치면 돌아올 스토어프론트 주소. 상점 결제 도메인에 등록된 도메인이어야 한다
urilength <= 2048현금영수증 신청. 계좌이체·가상계좌 옵션에서만 보낼 수 있다(그 밖의 옵션이면 400 CASH_RECEIPT_NOT_AVAILABLE). 결제가 승인되면 발급한다
Response Body
application/json
curl -X POST "https://example.com/storefront/v1/payments/string/attempts" \ -H "Content-Type: application/json" \ -d '{ "option": { "pg": "tosspayments", "method": "CARD" } }'{ "meta": { "status": 200, "code": "OK", "message": "OK", "isSuccess": true }, "data": { "paymentId": "string", "status": "pending", "orderId": null, "attemptId": "string", "option": { "pg": "tosspayments", "method": "CARD" }, "payUrl": "string", "expiresAt": "string", "testPayment": true, "amounts": { "productAmount": 0, "deliveryFee": 0, "totalAmount": 0, "couponDiscountAmount": 0, "deliveryDiscountAmount": 0, "pointAmount": 0 }, "delivery": { "baseFee": 0, "remoteSurcharge": 0, "remoteArea": "NONE", "remoteAreaLabel": "string", "bundleCount": 0, "freeByThreshold": true, "zipCode": "string" } }, "error": null}내 쿠폰 목록 GET
셀러가 지급했거나 직접 받은(다운로드·회원가입) 내 쿠폰이다. 최근 받은 순, 최대 500장. `status`로 사용 가능(결제 중 포함)·사용함·기간 지남을 거른다. 주문서에 적용할 때는 `issueId`를 결제 시작·금액 미리보기의 `coupons`에 넣는다.
결제 상태 조회 GET
결제 요청(`POST /checkout/{checkoutId}/payment`)으로 받은 `paymentId`의 현재 상태를 돌려준다. 결제 서비스에서 돌아온 복귀 화면이 결과를 확정하는 경로이고, 구매자가 결제 앱에서 돌아오지 않은 결제도 이 API로 확인한다. 화면 분기는 `result`로 한다 — `COMPLETED`면 `orderId`로 주문 완료 화면을, `PROCESSING`이면 잠시 뒤 다시 조회, `CANCELED`·`FAILED`면 `lastFailure`를 보여 주고 다른 결제 옵션으로 재시도할 수 있다. 만료 시각이 지난 결제 대기는 `expired`(`EXPIRED`)로 보고한다. 개인정보와 결제사 값은 싣지 않는다.