개요
VibeFox Flutterwave Payment는 Flutterwave의 호스팅 결제 페이지(Flutterwave Standard, API v3)를 통한 Flutterwave 결제를 OpenCart 3 및 OpenCart 4에 추가합니다. 체크아웃의 마지막 단계에서 고객이 Confirm Order를 클릭하면 Flutterwave 페이지로 이동하며, 카드, 계좌이체, USSD 또는 모바일 머니 등 Flutterwave 계정에서 활성화된 방식 중 아무거나 사용해 결제한 뒤 쇼핑몰로 돌아옵니다. OpenCart는 결제 전에 주문을 생성하지만, 주문은 Flutterwave가 결제를 확인한 후에야 상태를 받습니다. 따라서 결제되지 않은 시도는 누락된 주문으로 남습니다.
나이지리아, 가나, 케냐, 남아프리카공화국, 동아프리카 및 프랑스어권 아프리카의 쇼핑몰과 국제 카드를 받는 쇼핑몰에 적합합니다. 주문은 항상 주문 통화로 청구됩니다. 이 확장 기능은 일회성 결제만 지원합니다. 사이트에는 인라인 또는 모달 체크아웃이 없으며, 저장된 카드, 구독, 분할 결제, 결제 플랜은 지원하지 않습니다. 또한 Flutterwave 대시보드에서 진행한 환불은 OpenCart와 동기화되지 않습니다.
주요 기능
호스팅 체크아웃: 주문 통화로 주문 총액에 대한 결제가 생성되며, 통화의 정밀도에 맞춰 반올림됩니다(XOF, XAF, UGX, RWF 등은 소수점이 없습니다). Flutterwave 페이지에 표시되는 결제 옵션을 제한할 수 있습니다.
Flutterwave가 확인한 경우에만 결제 완료: 복귀 URL과 웹훅 내용 모두 신뢰하지 않습니다. 모든 결제는 서버에서 Flutterwave를 통해 다시 조회되며, 상태가 성공이고 금액과 통화가 일치할 때만 주문이 결제 완료로 표시됩니다. 이후 OpenCart가 일반 주문 이메일을 발송합니다.
서명된 웹훅: 웹훅은 설정한 비밀 해시가 있는 경우에만 수락됩니다. 고객이 브라우저를 닫아도 결제를 확인합니다.
이중 처리 방지: 반복된 웹훅과 복귀 요청이 결제를 두 번 적용하지 않습니다. 새 시도 전에 주문과 장바구니의 미완료 결제를 확인하며, 나중에 결제된 이전 결제 링크도 계속 수락하고, 이미 결제된 주문에 대한 두 번째 결제는 환불 대상으로 표시합니다.
대기 중인 결제 수단 처리: 고객이 돌아왔을 때 계좌이체, USSD 또는 모바일 머니 결제가 아직 대기 중이면, Flutterwave가 확인할 때까지 주문은 대기 상태가 됩니다.
주문 페이지에서 환불: 주문의 VibeFox Flutterwave Payment 탭에서 전액 및 부분 환불이 가능하며, 환불 금액과 통화는 Flutterwave가 청구한 내용을 따르고, 결제가 이루어진 모드의 키를 사용합니다.
테스트와 운영: 테스트와 운영은 서로 다른 비밀 키를 사용합니다. 운영 모드에서 테스트 키를 사용하거나 테스트 모드에서 운영 키를 사용하면 결제 수단이 숨겨지고 경고가 표시됩니다.
OpenCart 설정: 직접 설정한 주문 상태, 선택 사항인 자동 완료, 지역(Geo Zone), 최소 주문 금액과 정렬 순서. 키나 고객 데이터를 포함하지 않는 선택 사항의 로그.
요구 사항
OpenCart 3.0.x(3.0.5.0에서 테스트) 또는 OpenCart 4.0.2 이상(4.1.0.3에서 테스트), PHP 8.0 이상. 두 버전의 패키지가 하나의 다운로드에 들어 있습니다. 비밀 키와 비밀 해시가 있는 웹훅이 설정된 Flutterwave 계정. vibefox.net에서 발급받은 VibeFox 라이선스 키(도메인당 키 1개).
