본문으로 건너뛰기
페이싱크 개발자센터
Esc
↑↓이동↵열기⌘J미리보기
이 페이지에서

주문 수정

PATCH /v2/invoices/{id} 로 결제 대기 주문의 입금자명, 금액, 입금 기한, 받을 계좌, 현금영수증 정보를 바꿔요.

PATCH /v2/invoices/{id}

결제 대기(PENDING) 주문을 바꿔요. 보낸 필드만 바뀌고 나머지는 그대로예요. 바꾸면 invoice.updated 웹훅이 가요.

결제 완료, 만료, 취소된 주문은 바꿀 수 없어요. 만료된 주문을 다시 받으려면 새 주문을 만드세요.

경로 파라미터

파라미터 타입 설명
id string 바꿀 주문 ID예요. ivc_로 시작해요.

요청 본문

필드 타입 설명
customer.name string 입금자명이에요. 1~16자, 공백 없이 입력해요.
customer.email string | null 구매자 이메일이에요. null을 보내면 지워요.
customer.phoneNumber string | null 구매자 전화번호예요. null을 보내면 지워요.
amount integer 금액(원)이에요. 0보다 커야 해요.
expiresAt integer | null 새 입금 기한이에요. Unix 초로 보내요. 지금보다 뒤이고 365일 안이어야 해요. null을 보내면 기한을 없애요.
extendDays integer 입금 기한을 며칠 늘릴지 정해요. 1~365예요. 지금 기한이 이미 지났거나 없으면 지금부터 늘려요. expiresAt과 함께 보내면 extendDays를 써요.
bankAccountIds string[] 입금받을 계좌 ID 목록이에요. 빈 배열이면 모든 계좌로 받아요.
cashReceipt object | null 결제 완료 때 발급할 현금영수증 정보예요. null을 보내면 지워요. 형식은 주문 생성과 같아요.
resendGuideEmail boolean true면 금액이나 입금 기한이 바뀌었을 때 구매자에게 바뀐 내용을 담은 입금 안내 메일을 다시 보내요. 기본값은 false예요.

입금자명, 금액, 받을 계좌를 바꾸면 주문 충돌 규칙을 다시 검사해요.

resendGuideEmail이 true인데 금액과 입금 기한이 그대로면 메일을 보내지 않아요. 메일을 보내려면 주문에 구매자 이메일과 입금 기한이 있고, 받을 수 있는 계좌가 하나 이상 있어야 해요.

요청 예시

입금 기한을 3일 늘리고 구매자에게 다시 알려요.

curl -X PATCH https://api.paysync.kr/v2/invoices/ivc_a1b2c3d4e5f6g7h8i9j0k1l2 \
  -H "Authorization: Bearer $PAYSYNC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "extendDays": 3, "resendGuideEmail": true }'
const res = await fetch(`https://api.paysync.kr/v2/invoices/${invoiceId}`, {
  method: "PATCH",
  headers: {
    Authorization: `Bearer ${process.env.PAYSYNC_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ extendDays: 3, resendGuideEmail: true }),
});
const { code, data } = await res.json();
import os
import requests

res = requests.patch(
    f"https://api.paysync.kr/v2/invoices/{invoice_id}",
    headers={"Authorization": f"Bearer {os.environ['PAYSYNC_API_KEY']}"},
    json={"extendDays": 3, "resendGuideEmail": True},
)
print(res.json())

응답

바뀐 주문 객체가 와요. history는 없어요.

{
  "code": "10001",
  "data": {
    "id": "ivc_a1b2c3d4e5f6g7h8i9j0k1l2",
    "number": 1043,
    "status": "PENDING",
    "amount": 50000,
    "expiresAt": 1777691655,
    "updatedAt": 1777350000,
    "guideEmailSentAt": 1777350000,
    "...": "..."
  }
}

오류

HTTP code 발생 조건
401 290006 API 키가 올바르지 않아요.
403 80002 API 키의 계좌 범위 밖의 주문이거나, bankAccountIds에 범위 밖의 계좌를 넣었거나 비웠어요.
403 290007 읽기 전용 API 키예요.
404 20014 주문이 없어요.
409 220010 바꾼 내용이 다른 결제 대기 주문과 겹쳐요. data에 그 주문의 invoiceId와 number가 와요.
409 220011 결제 대기 주문이 아니에요.
409 220022 입금 안내 메일을 보내려는데 받을 수 있는 계좌가 없어요.
409 220023 입금 안내 메일을 보내려는데 입금 기한이 없어요.
422 30007 JSON 본문을 읽을 수 없어요.
422 30009 바꿀 필드가 하나도 없어요.
422 220001 주문 ID 형식이 틀렸어요.
422 220002~220009 필드 값이 주문 생성의 검증을 통과하지 못했어요.
422 220018 bankAccountIds에 1원 인증을 마치지 않은 계좌가 있어요.

이 페이지가 도움이 되었나요?