뒤로

VibeFox HyperPay for WooCommerce — 도움말

요구 사항

WordPress: 6.0 이상.

WooCommerce: 8.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인이 활성화되지 않습니다.

PHP: 8.0 이상.

HyperPay 계정: HyperPay는 가맹점 계정이 설정될 때 Access Token과 Entity ID를 발급합니다. 테스트용 자격 증명과 운영용 자격 증명은 서로 다릅니다. 또한 HyperPay 대시보드에서 결제 웹훅을 추가하고 그 복호화 키(웹훅 키)가 필요합니다. 키는 Administration > Webhooks에 표시됩니다(설정 항목 참조).

카드 데이터: 카드는 HyperPay 위젯에만 입력되므로 카드 데이터는 쇼핑몰 서버에 전달되지 않습니다(PCI DSS SAQ A).

VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서만 작동합니다.

설치

1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택한 뒤 Install Now를 클릭합니다. FTP로 wcp_hyperpay_payment_gateway 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.

2. Activate를 클릭합니다.

3. 설정을 엽니다: WooCommerce > Settings > Payments > HyperPay > Manage, 또는 플러그인 목록 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.

4. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.

5. HyperPay가 발급한 테스트 Access Token, Entity ID, 웹훅 키를 입력하고 Test Mode를 켜 둡니다.

6. HyperPay 대시보드(Administration > Webhooks)에서 설정에 표시된 URL로 결제 웹훅을 추가하고, 그 복호화 키를 같은 모드의 웹훅 키 칸에 복사합니다.

7. Enable/Disable을 켜고 HyperPay 테스트 카드로 테스트 결제를 합니다. 그다음 운영 자격 증명을 입력하고 Test Mode를 끕니다.

설정

모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > HyperPay. 테스트 모드가 켜져 있는 동안 필드 위에 테스트 모드가 켜져 있습니다: 결제는 HyperPay 테스트 시스템으로 전송되며 실제 금액은 청구되지 않습니다. 메시지가 표시됩니다. 현재 모드의 Access Token 또는 Entity ID가 없으면(이 경우 결제 수단은 체크아웃에 표시되지 않음) 그리고 현재 모드에 유효한 웹훅 키가 없으면(이 경우 결제는 고객이 쇼핑몰로 돌아왔을 때만 확인됨) 경고합니다. 결제 수단 목록에서는 현재 모드에 Access Token과 Entity ID가 입력될 때까지 게이트웨이가 설정 필요로 표시됩니다. 저장하면 자격 증명의 공백이 제거되며, 웹훅 키가 64자리 16진수 키가 아니면 오류가 표시됩니다.

Enable/Disable: Enable HyperPay Payment는 결제 수단을 켜거나 끕니다. 기본값: 끔.

Title: 체크아웃 시 고객에게 보이는 제목. 기본값: Credit/Debit Card (HyperPay).

Description: 체크아웃 시 고객에게 보이는 설명. 기본값: Pay securely using your credit or debit card.

API 자격 증명

Access Token, Entity ID, 웹훅 키는 가맹점 계정이 설정될 때 HyperPay가 발급합니다. 테스트용 자격 증명과 운영용 자격 증명은 서로 다릅니다. 웹훅 키는 HyperPay 대시보드의 Administration > Webhooks에 표시됩니다.

Test Mode: Enable Test Mode는 HyperPay 테스트 시스템(eu-test.oppwa.com)과 테스트 자격 증명을 사용합니다. 실제 금액은 청구되지 않습니다. 끄면 운영 자격 증명(eu-prod.oppwa.com)으로 실제 결제를 받습니다. 기본값: 켬.

Test Access Token: HyperPay 테스트 계정의 bearer 토큰.

Test Entity ID: 테스트 결제 채널의 Entity ID.

Test Webhook Key: 테스트 시스템의 웹훅 알림을 복호화하는 데 사용하는 64자리 16진수 키.

Live Access Token: HyperPay 운영 계정의 bearer 토큰.

Live Entity ID: 운영 결제 채널의 Entity ID.

Live Webhook Key: 운영 시스템의 웹훅 알림을 복호화하는 데 사용하는 64자리 16진수 키.

Webhook

웹훅은 고객이 쇼핑몰로 돌아오기 전에 브라우저를 닫더라도 결제 정보를 쇼핑몰에 알려 줍니다. HyperPay 대시보드(Administration > Webhooks)에서 설정의 이 섹션에 표시된 URL로 결제용 웹훅을 추가합니다. URL 형식은 다음과 같습니다: https://your-site/wp-json/hyperpay-p/v1/webhook. 그다음 웹훅 복호화 키를 같은 모드의 Test Webhook Key 또는 Live Webhook Key에 복사합니다.

HyperPay 웹훅은 암호화됩니다(AES-256-GCM). 키로 복호화할 수 없는 웹훅은 거부됩니다. 결제 알림만 처리되며, 결제는 알림을 복호화한 키와 같은 모드에서 생성된, 주문의 결제 세션에 속해야 합니다. HyperPay 테스트 알림은 응답 확인됩니다. 웹훅은 HyperPay 대시보드에서 이루어진 캡처, 역분개, 환불, 차지백도 알려 줍니다(주문 및 환불 참조). 웹훅이 없으면 결제는 고객이 결제 후 쇼핑몰로 돌아왔을 때만 확인됩니다.

결제

Transaction Type: 카드 청구 방식.

Debit (DB): 카드에 즉시 청구합니다(기본값).
Pre-Authorization (PA): 금액만 예약합니다. 주문 작업 Capture HyperPay payment 또는 HyperPay 대시보드에서 캡처할 때까지 주문은 보류 상태로 유지됩니다.

Payment Brands: 결제 위젯에 표시되는 브랜드: VISA, Mastercard, mada, American Express, STC Pay, Apple Pay. 기본값: VISA와 Mastercard. HyperPay가 귀하의 Entity ID에 대해 활성화한 브랜드만 선택하세요. mada, STC Pay, Apple Pay는 보통 자체 엔티티를 사용하며, 이 플러그인은 이를 지원하지 않습니다.

고급

Enable Logging: Log API requests and responses. 디버그 정보는 WooCommerce > Status > Logs에 소스 wcp_hyperpay_payment_gateway로 기록됩니다. 오류는 항상 기록됩니다. 로그에는 카드 데이터, 키, 고객 데이터가 포함되지 않습니다. 기본값: 끔.

Delete Data on Uninstall: Delete all plugin data when the plugin is uninstalled. 플러그인을 삭제할 때 설정과 로그 파일을 제거합니다. 주문에 저장된 HyperPay 데이터는 유지됩니다. 기본값: 끔.

체크아웃

고객은 결제 수단(기본값 Credit/Debit Card (HyperPay))을 선택하고 Continue to payment를 클릭합니다. 주문이 생성되고 고객은 Pay for order 페이지로 이동합니다. 그곳에서 플러그인은 주문 금액과 주문 통화로 HyperPay 결제 세션을 준비하고, 아래에서 결제를 완료해 주세요: 문구와 함께 HyperPay 위젯을 표시합니다. HyperPay가 지원하는 경우 위젯은 쇼핑몰의 언어를 사용합니다. 테스트 모드에서는 페이지에 테스트 모드: HyperPay 테스트 카드를 사용하세요. 실제 결제는 이루어지지 않습니다. 메시지가 표시됩니다. 고객은 위젯에 카드 정보를 입력합니다.

결제 후 고객은 쇼핑몰로 돌아옵니다. 플러그인은 결제가 이 주문의 결제 세션 중 하나에 속하는지 확인하고, 서버 간 요청으로 HyperPay에 결과를 조회합니다. 주문은 HyperPay가 확인한 후(그 요청 또는 웹훅으로)에만 결제 완료로 표시됩니다. 금액과 통화는 주문과 일치해야 합니다. 반환과 웹훅이 동시에 도착하면 순서대로 처리되므로 주문이 두 번 처리되지 않습니다. 결제가 확인되면 고객은 주문 접수 페이지로 이동합니다.

결제가 완료되지 않으면 고객은 다음 메시지와 함께 Pay for order 페이지로 돌아갑니다: 결제 실패: 과 HyperPay가 알려 준 사유, 결제가 완료되지 않았습니다. 다시 시도해 주세요., 또는 아직 결제를 확인하지 못했습니다. 청구가 되었다면 주문이 자동으로 업데이트됩니다. 그렇지 않다면 다시 시도해 주세요. 고객은 같은 페이지에서 다시 결제할 수 있습니다. 위젯을 준비할 수 없으면 고객에게 짧은 메시지(예: 일부 청구 정보가 결제 제공업체에서 승인되지 않았다는 내용)와 Try Again 버튼이 표시됩니다. 세부 정보는 주문 메모에 추가됩니다.

금액은 HyperPay API의 요구에 따라 소수점 둘째 자리까지 전송됩니다. 소수점 셋째 자리까지 쓰는 통화(KWD, BHD, JOD, OMR)의 경우 주문 금액은 소수점 둘째 자리로 반올림됩니다.

이 결제 수단은 클래식 체크아웃, 장바구니 및 체크아웃 블록, 그리고 Pay for order 페이지에서 작동합니다. 테스트 모드에서는 체크아웃 블록에 테스트 모드: 실제 결제는 이루어지지 않습니다. 메시지가 표시됩니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.

이 플러그인은 WooCommerce에서의 환불이나 무효화, 카드 저장이나 토큰화, 구독, Apple Pay 도메인 인증, 브랜드별 개별 Entity ID를 지원하지 않습니다. 또한 Tabby, Tamara 등 후불결제(buy now, pay later) 방식도 지원하지 않습니다.

주문 및 환불

주문 상태

Pending payment: 고객이 아직 결제하지 않았거나, 위젯을 완료하지 않았거나, HyperPay가 아직 결제를 확인하지 않은 상태입니다.

Processing: 즉시 청구 결제가 확인되었거나 사전 승인이 캡처된 상태입니다. 가상 다운로드 상품만 있는 주문은 WooCommerce 기본값에 따라 완료됨으로 바뀝니다. 주문 메모에는 HyperPay 결과 코드, 설명, 결제 ID가 표시됩니다. 거래 ID는 HyperPay 결제 ID입니다. HyperPay가 결제를 수동 검토 대상으로 표시한 경우 메모에 그 내용이 표시됩니다. 배송 전에 HyperPay 대시보드에서 확인하세요.

On hold (pre-authorization): 금액이 예약되었습니다. Capture HyperPay payment 주문 작업 또는 HyperPay 대시보드에서 캡처하세요. 그러면 캡처 웹훅이 주문을 완료합니다.

On hold after payment: HyperPay가 주문과 다른 금액이나 통화를 보고했거나(예: 결제 페이지를 연 뒤 주문이 수정됨), 결제가 HyperPay에서 아직 대기 중이거나, 주문이 취소된 뒤에 결제가 도착한 상태입니다. 주문 메모에 이유가 설명됩니다. HyperPay 대시보드에서 결제를 확인한 뒤 완료하거나 환불하세요.

Failed: HyperPay가 결제를 거절했습니다. 사유는 주문 메모에 있으며 고객에게도 표시됩니다. 거절된 시도는 이미 결제 완료, 예약, 보류 또는 취소된 주문을 절대 변경하지 않습니다.

Cancelled: 사전 승인이 HyperPay 대시보드에서 역분개되었고, 역분개 웹훅이 보류 중인 주문을 취소합니다.

이미 결제된 주문에 다른 성공 결제가 도착해도 주문은 변경되지 않습니다. 메모에서 중복 결제를 HyperPay 대시보드에서 환불하라고 안내합니다. 환불된 주문에 대한 성공 결제는 메모만 추가합니다.

캡처

Capture HyperPay payment 주문 작업은 아직 캡처되지 않은 사전 승인이 있는 보류 주문에 표시됩니다. 사전 승인을 한 모드에서, WooCommerce에 기록된 환불을 제외한 현재 주문 합계를 캡처합니다. 캡처가 성공하면 주문은 Processing 상태가 됩니다. HyperPay가 캡처를 거절하면 결과 코드와 설명이 표시되고 주문 메모에 추가됩니다. 사전 승인의 역분개(무효화)는 HyperPay 대시보드에서 합니다.

환불

WooCommerce에서의 환불은 지원하지 않습니다. HyperPay 대시보드에서 결제를 환불하고, WooCommerce에서는 Refund manually로 기록하세요. HyperPay에서 이루어진 환불과 차지백은 웹훅을 통해 주문에 메모로 추가되며, 주문 상태는 바뀌지 않습니다.

라이선스 키

이 플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Payments > HyperPay 페이지 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭합니다. 블록에는 라이선스가 유효한 날짜와 도메인 등 상태가 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하고, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.

키 하나는 도메인 하나에서만 작동합니다. 사이트에서 키를 제거해도 그 도메인의 슬롯은 비워지지 않습니다. vibefox.net 계정에서 슬롯을 비우세요.

유효한 키가 없으면 체크아웃에서 고객에게 HyperPay가 표시되지 않습니다. 그래도 결제가 시작되면 고객에게는 이 결제 수단은 사용할 수 없습니다. 다른 수단을 선택해 주세요. 메시지가 보입니다. 로그인한 쇼핑몰 관리자에게는 결제 수단이 (unlicensed — visible to admins only) 표시와 함께 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 목록 페이지와 WooCommerce 페이지에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인되고, 캡처도 작동합니다.

라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.

문제 해결

HyperPay가 체크아웃에 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드에 Access Token과 Entity ID가 있는지(테스트 모드에서는 테스트용, 운영 모드에서는 운영용) 확인하세요. 설정 페이지는 값이 없으면 경고를 표시합니다.

결제는 되었지만 주문이 Pending payment 상태로 남음: 웹훅이 작동하지 않고 고객이 쇼핑몰로 돌아오지 않았습니다. HyperPay 대시보드에서 사용 중인 모드의 결제 웹훅이 있는지, URL이 설정에 표시된 것과 정확히 같은지, 복호화 키가 같은 모드의 웹훅 키 칸에 있는지 확인하세요. WooCommerce > Status > Logs에서 소스 wcp_hyperpay_payment_gateway를 확인하세요.

웹훅이 Decryption failed로 응답함: 웹훅 키가 다른 웹훅이나 다른 모드의 키입니다. HyperPay 대시보드에서 키를 다시 복사하세요.

웹훅이 Webhook key not configured로 응답함: 유효한 웹훅 키가 설정되지 않았습니다. 64자리 키를 설정에 붙여 넣으세요. HyperPay가 웹훅을 다시 시도합니다.

로그에 Webhook ignored가 표시됨: 결제가 이 쇼핑몰의 주문에 속하지 않거나, 다른 모드에서 이루어졌습니다. 테스트 결제와 운영 결제는 분리되어 처리됩니다.

결제 양식이 로드되지 않음: 주문 메모를 확인하세요. 설정 오류는 대개 현재 모드의 Access Token 또는 Entity ID가 잘못되었다는 뜻입니다. 청구 정보 관련 메시지는 HyperPay가 일부 고객 데이터를 승인하지 않았다는 뜻입니다. 선택한 Payment Brands가 귀하의 Entity ID에 대해 활성화되어 있는지 확인하세요.

주문이 On hold 상태이며 금액/통화 불일치 메모가 있음: HyperPay가 주문 합계나 통화와 맞지 않는 결제를 보고했습니다. 예를 들어 결제 페이지를 연 뒤 주문이 수정된 경우입니다. HyperPay 대시보드에서 결제를 확인하고 완료하거나 환불하세요.

캡처가 실패함: 주문 메모의 결과 코드와 설명을 확인하세요. 캡처는 사전 승인의 모드로 전송되므로, 해당 모드의 자격 증명이 설정되어 있어야 합니다.

라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르세요. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 비우고 Check now를 클릭하세요. 사이트 주소가 바뀌었다면 Check now를 클릭해 새 도메인에 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.

개발자용: hyperpay_p_icon 필터로 결제 수단 아이콘을 바꿀 수 있습니다.

제거

플러그인을 비활성화해도 모든 데이터는 유지됩니다. 제거하려면 비활성화한 뒤 Plugins 페이지에서 삭제하세요. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 게이트웨이 설정, 플러그인의 임시 데이터, 로그 파일은 Delete Data on Uninstall이 켜져 있을 때만 삭제됩니다. 그렇지 않으면 나중에 다시 설치할 수 있도록 남겨집니다. 주문에 저장된 HyperPay 데이터는 항상 유지됩니다. 기존 주문은 결제 메모와 거래 ID를 그대로 보관합니다.

HyperPay는 각 소유자의 상표입니다. 이 플러그인은 HyperPay와 제휴하거나 HyperPay의 승인을 받지 않았습니다.