Billable
trait Billable (View source)
결제 기능을 부여하는 Eloquent 모델용 트레이트.
Cashier 스타일 API의 진입점으로, 금액 단위는 원(KRW) 정수이다. 모든 연산은 호출한 모델의 Billable 범위 안에서만 동작한다.
Methods
이 모델에 연결된 PortOne 고객 ID가 있는지 확인한다.
이 모델에 연결된 PortOne 고객 ID를 조회한다.
이 모델의 PortOne 고객 ID를 만들거나 기존 값을 반환한다.
결제 레코드를 미리 만든다. PortOne을 호출하지 않으며 상태는 PENDING이다.
구매자가 브라우저에서 결제한 뒤 서버에서 검증하고 확정한다.
결제를 환불한다. 금액을 생략하면 전액 환불이다.
이 모델의 결제 목록 관계(최신순)를 반환한다.
내 범위에서 결제 1건을 찾는다. 다른 모델의 결제는 조회되지 않는다.
Details
bool
hasPortOneId()
이 모델에 연결된 PortOne 고객 ID가 있는지 확인한다.
string|null
portOneId()
이 모델에 연결된 PortOne 고객 ID를 조회한다.
string
createOrGetPortOneCustomerId()
이 모델의 PortOne 고객 ID를 만들거나 기존 값을 반환한다.
Payment
preparePayment(int $amount, string $orderName)
결제 레코드를 미리 만든다. PortOne을 호출하지 않으며 상태는 PENDING이다.
Payment
completePayment(string $paymentId)
구매자가 브라우저에서 결제한 뒤 서버에서 검증하고 확정한다.
PortOne 조회 결과가 결제 완료이고 금액이 일치하면 PAID가 된다. 이미 PENDING이 아닌 레코드는 그대로 반환한다.
Payment
refund(string $paymentId, string $reason, int|null $amount = null)
결제를 환불한다. 금액을 생략하면 전액 환불이다.
전액 환불 시 CANCELLED, 일부 환불 시 PARTIALLY_CANCELLED가 된다.
MorphMany
payments()
이 모델의 결제 목록 관계(최신순)를 반환한다.
Payment|null
findPayment(string $paymentId)
내 범위에서 결제 1건을 찾는다. 다른 모델의 결제는 조회되지 않는다.