주문은 상태 머신 (state machine)을 통과 같은 오류 해결 방법에 대해 어떤 생각과 :
나는 야단법석을 3.1 - 안정적인 여기 내 코드 것 사용하고 있습니다 완전한 상태로 끝납니다. 중간 상태는 Checkout Flow API를 사용하여 구성 할 수 있습니다. 다음과 같이
기본 상태
은 다음과 같습니다 payment_required 경우
카트 주소 전달 지불 확인 완전한 지불 상태는 트리거 될 것인가? true를 반환합니다.
확인 상태는 confirmation_required 인 경우에만 트리거됩니까? true를 반환합니다.
완전한 상태는 두 가지 방법 중 하나에 도달 할 수 있습니다
없음 지불 순서에 필요하지 않습니다. 주문에 대한 지불이 필요하며 적어도 주문 총액은 지불 된 것으로 간주됩니다. 주문이 다음 상태의 기준을 충족한다고 가정하면 해당 객체에서 next를 호출하여 주문을 다음 상태로 전환 할 수 있습니다. 이것이 false를 반환하면 순서가 기준을 충족하지 못합니다. 전환 할 수없는 이유를 해결하려면 오류 메서드 호출의 결과를 확인하십시오.
상태를 지불에서 완료로 변경하면 완료된 지불이 하나 이상 필요합니다.
그래서
payment = @order.payments.create({
amount: @order.total,
payment_method: payment_method,
source: credit_card, })
payment.complete!
# @order.next! through Cannot transition state via :next from :payment (Reason(s): No payment found)
@order.next!