결제 플러그인 아키텍처 개요

이 다이어그램은 결제 플러그인의 아키텍처를 보여주며, 다양한 모델이 서로 어떻게 상호작용하고 Business 및 Profile과 같은 Ruoom Core 모델의 기능을 확장하는지를 보여줍니다.

결제 URL

  • 구매: /purchases/ - 비즈니스 내 고객이 구매한 항목을 검토하는 관리 페이지.
  • 설정: /settings/ - 결제 설정을 관리하는 관리 페이지.
  • 결제: /checkout/ - 고객 또는 장바구니를 지정하기 위한 선택적 인수가 있는 기본 결제 페이지.
  • 새 고객 선택: /choose_new_customer/ - 결제를 위한 새 고객을 선택합니다.
  • 크레딧 잔액: /credit-balance/ - 크레딧 잔액을 관리합니다.
  • 크레딧 서비스: /credit-services/ - 크레딧 서비스를 관리합니다.
  • Stripe 인텐트: /stripe-intent/ - Stripe 결제 인텐트를 관리합니다.
  • Stripe 터미널: /stripe-terminal/ - Stripe 터미널 상호작용을 관리합니다.

결제 데이터베이스 모델

  • ProfilePaymentData: 프로필에 대한 결제 데이터를 저장합니다. Profile과 일대일 관계입니다.
  • PaymentSettings: 각 비즈니스에 대한 결제 관련 설정을 저장합니다. Business와 일대일 관계입니다.
  • Cart: 구매할 항목을 지원합니다. 결제가 완료되면 장바구니는 주문으로 변환되며 삭제됩니다.
  • Order: 결제 시 장바구니를 주문으로 변환합니다. 결제가 완료되면 주문이 생성되며 기록 보관을 위해 보존됩니다.
  • Payment: 결제 거래를 처리합니다.
  • Refund: 환불 프로세스를 관리합니다.

이 모델들은 결제 플러그인의 핵심 데이터 구조를 정의하며, 거래 및 결제 방법 데이터를 처리합니다.

사용되지 않는 구성 요소

다음 구성 요소는 결제 플러그인의 기본 작동의 일부가 아닙니다. 그러나 주요 결제 작업을 수행하기 위한 선택적이고 기능적인 도구로 남아 있습니다.

결제 카드 저장은 Stripe 결제 게이트웨이에 대해 구현될 수 있는 기능입니다. 특정 결제 흐름에서 Ruoom은 결제 카드의 비민감 메타데이터를 저장하고 Stripe API ID를 통해 결제와 연결할 수 있습니다. 그러나 현재 결제 플러그인은 Express Checkout 자바스크립트 구성 요소를 사용하기 때문에 이 기능은 핵심 흐름에 통합되지 않았습니다.

사용되지 않는 URL

  • 결제 카드 목록: /list-payment-cards/ - 결제 카드를 나열합니다.
  • 카드 세부 정보 추가: /add_card_details/ - 카드 세부 정보를 추가합니다.

사용되지 않는 모델

  • Card: 카드 메타데이터(비민감)를 관리하고 카드를 Stripe 결제 게이트웨이와 통합합니다.