개요
VibeFox HyperPay Payment Gateway는 HyperPay의 COPYandPAY 위젯을 통한 카드 결제를 PrestaShop에 추가합니다. 고객은 체크아웃에서 주문을 확정한 후 쇼핑몰의 결제 페이지에서 HyperPay 결제 위젯을 보고, 그곳에서 VISA, Mastercard, mada, American Express, STC Pay 또는 Apple Pay로 결제합니다. 카드 정보는 HyperPay 위젯에만 입력되며 쇼핑몰 서버에는 전달되지 않습니다. 주문은 HyperPay가 결제를 확인한 후에만 생성되므로, 중간에 포기하거나 거절된 결제로 인해 미결제 주문이 남지 않습니다.
HyperPay 가맹점 계정을 보유한 사우디아라비아, 아랍에미리트, 요르단, 바레인, 오만, 카타르, 이집트 및 기타 MENA 시장의 쇼핑몰에 적합합니다. 이 모듈은 PrestaShop에서의 환불이나 무효화(HyperPay 대시보드에서 처리), 카드 저장, 구독, Apple Pay 도메인 인증, 브랜드별 개별 Entity ID, 후불결제(buy now, pay later) 방식은 지원하지 않습니다.
주요 기능
HyperPay 위젯: 결제 페이지의 COPYandPAY 위젯이며, Subresource Integrity로 로드되고 HyperPay가 지원하는 경우 고객의 언어로 표시됩니다. 표시할 브랜드는 직접 선택합니다.
HyperPay 확인 시에만 결제 완료: 고객이 돌아왔을 때의 서버 간 상태 조회와, 브라우저가 닫힌 경우의 암호화된 웹훅(AES-256-GCM)으로 확인합니다. 반환 URL만으로는 결제 완료된 주문이 생성되지 않습니다.
장바구니와 대조 확인: 결제는 해당 장바구니의 HyperPay 결제 세션에 속해야 하며, 금액과 통화가 장바구니와 일치해야 합니다. 일치하지 않으면 주문은 메모와 함께 HyperPay payment on hold 상태가 됩니다.
이중 처리 방지: 각 결과는 한 번만 적용됩니다. 중복 웹훅이나 페이지 새로고침으로 두 번째 주문이 생성되는 일은 없습니다. 중복 결제, 취소 후 결제, 역분개(reversal)는 주문에 기록됩니다.
즉시 청구 또는 사전 승인: 즉시 청구하거나, 금액을 예약해 두고 나중에 주문의 HyperPay 블록에서 Capture payment로 캡처합니다.
테스트와 운영: 모드별로 별도의 Access Token, Entity ID, 웹훅 키를 사용합니다. 상태 조회, 캡처, 웹훅은 항상 결제 세션이 생성된 모드로 처리됩니다.
명확한 메시지: 거절되었거나 완료되지 않았거나 아직 확인되지 않은 결제는 체크아웃에서 고객에게 설명되며, 다시 시도할 수 있도록 장바구니가 유지됩니다.
주문 페이지의 HyperPay 블록: 결제 ID, 결제 세션, 금액, 결과 및 캡처 버튼을 표시합니다. 카드 정보, 키, 고객 데이터를 제외하고 로그를 기록합니다.
요구 사항
PrestaShop 8.0 ~ 9.x, OpenSSL 확장이 포함된 PHP 8.0 이상. Access Token과 Entity ID(테스트 및 운영)가 있는 HyperPay 가맹점 계정, 그리고 복호화 키가 있는 결제 웹훅. vibefox.net에서 받은 VibeFox 라이선스 키(도메인 하나당 키 하나).
