VibeFox iPay88 for OpenCart — 도움말
요구 사항
OpenCart: 3.0.x(3.0.5.0에서 테스트됨) 또는 4.0.2 이상(4.1.0.3에서 테스트됨).
PHP: 8.0 이상.
iPay88 가맹점 계정: Merchant Code와 Merchant Key는 가맹점 계정이 활성화되면 iPay88이 발급합니다. iPay88 가맹점 포털에도 표시됩니다. 아직 가맹점이 아니라면 iPay88 웹사이트에서 신청하세요. Merchant Key는 비밀로 유지하세요. 결제에 서명하는 데 사용됩니다. iPay88에는 별도의 샌드박스가 없으므로 테스트 키는 없습니다.
요청 URL: 귀하의 웹사이트 주소가 iPay88에 요청 URL(request URL)로 등록되어 있어야 합니다. 그렇지 않으면 iPay88 페이지에 "Permission not allow"가 표시됩니다.
통화: 말레이시아 — MYR, 그리고 iPay88 계정에서 다중 통화 옵션이 활성화된 경우 USD, SGD, AUD, CAD, EUR, GBP, HKD, CNY, TWD, INR, IDR, PHP 또는 THB. 필리핀 — PHP 또는 USD. 인도네시아 — IDR. 태국 — THB. 고객의 체크아웃 통화를 귀하의 지역에서 청구할 수 없으면 체크아웃에서 결제 수단이 숨겨집니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
다운로드 파일은 두 OpenCart 버전용 패키지가 모두 들어 있는 zip 파일 하나입니다. 컴퓨터에서 압축을 풀어 주세요. 여기에는 README.txt, OpenCart 3 패키지 wcp_ipay88_payment-oc3-(version).ocmod.zip, OpenCart 4 패키지 wcp_ipay88_payment.ocmod.zip이 들어 있습니다. 사용 중인 OpenCart 버전의 패키지만 설치하세요. 라이선스 키는 두 버전 모두 같습니다.
OpenCart 3
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_ipay88_payment-oc3-(version).ocmod.zip 파일을 선택합니다. 이 확장 기능에는 OCMOD 수정 사항이 없으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. 설치 도구 대신, 이 패키지의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.
2. Extensions > Extensions로 이동하여 유형을 Payments로 선택합니다. VibeFox iPay88 Payment를 찾아 Install(녹색 + 버튼)을 클릭합니다. 관리자 사용자에게 결제 확장 기능 목록을 수정할 권한이 있어야 합니다.
3. Edit(연필 버튼)을 클릭하여 설정 페이지를 엽니다. 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 붙여 넣고 Activate를 클릭합니다(라이선스 키 참조).
4. iPay88 region을 선택하고, Merchant Code와 Merchant Key를 입력한 뒤, Enable/Disable을 켜고 Save를 클릭합니다.
5. 설정을 확인하려면 Test mode를 켠 상태에서 결제를 진행한 다음 테스트 모드를 끄세요.
OpenCart 4
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_ipay88_payment.ocmod.zip 파일을 선택합니다. 파일 이름을 바꾸지 마세요. OpenCart 4는 확장 기능 코드를 파일 이름에서 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.
2. 같은 페이지의 설치된 확장 기능 목록에 패키지가 나타납니다. 그 옆의 Install(녹색 + 버튼)을 클릭합니다.
3. Extensions > Extensions로 이동하여 유형을 Payments로 선택합니다. VibeFox iPay88 Payment를 찾아 Install(녹색 + 버튼)을 클릭한 다음 Edit(연필 버튼)을 클릭합니다.
4. 라이선스 키와 iPay88 설정을 OpenCart 3의 3~5단계와 같이 입력합니다. 설정 페이지와 필드는 두 버전 모두 동일합니다. 다른 것은 응답 URL과 백엔드 URL뿐입니다(응답 URL과 백엔드 URL 참조).
새로 설치하면 결제 수단은 꺼진 상태로 시작합니다. 응답 URL과 백엔드 URL은 결제할 때마다 함께 전송되므로, iPay88에서 따로 설정할 필요가 없습니다.
설정
모든 설정은 확장 기능 페이지에 있습니다: Extensions > Extensions > Payments > VibeFox iPay88 Payment > Edit. 섹션은 왼쪽에 나열되며, 목록 아래의 Save 버튼은 페이지 전체를 저장합니다. 설정 위에는 키가 빠져 있는 동안 Enter the iPay88 Merchant Code and Merchant Key — until then the payment method is not shown at checkout.가 표시되며, 쇼핑몰의 기본 통화를 선택한 지역에서 청구할 수 없으면 경고(이 통화에 대해 체크아웃에서 결제 수단이 숨겨집니다)가, 테스트 모드가 켜져 있는 동안에는 경고가 표시됩니다. 확장 기능을 수정할 권한이 없으면 페이지에 설정은 표시되지만 저장할 수는 없습니다.
저장할 때 Title은 128자를 넘을 수 없고, Sort Order는 정수여야 하며, Total은 0 이상의 숫자여야 하고, 선택한 지역(Geo Zone)과 주문 상태가 존재해야 합니다. 그렇지 않으면 아무것도 저장되지 않으며 오류 메시지에 해당 필드가 표시됩니다. iPay88 필드는 저장을 막지 않습니다.
iPay88
Enable/Disable: Enable iPay88 Payment Gateway는 결제 수단을 켜거나 끕니다. 기본값: 끔.
Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: iPay88. 최대 128자이며, 비워 두면 고객에게 iPay88이 표시됩니다.
Description: Confirm Order 단계에서 확인 버튼 위에 고객에게 표시되는 문구입니다. 기본값: Pay securely via iPay88 (credit card, online banking, e-wallet).
Sort Order: 체크아웃에서 iPay88이 다른 결제 수단들 사이에서 표시되는 순서입니다. 비워 두거나 정수를 입력합니다.
Geo Zone: 선택한 지역 안의 결제 주소에 대해서만 iPay88을 제공합니다. 기본값: All zones. 지역은 System > Localisation > Geo Zones에서 설정합니다.
Total: iPay88을 제공하기 위해 주문이 도달해야 하는, 쇼핑몰 기본 통화 기준의 체크아웃 총액입니다. 모든 금액에 대해 iPay88을 제공하려면 비워 둡니다.
iPay88 계정
iPay88 region: iPay88 가맹점 계정의 국가입니다. iPay88 결제 페이지와 청구할 수 있는 통화를 결정합니다. 주문은 항상 자신의 통화로 청구됩니다. 기본값: Malaysia.
Merchant Code: iPay88 Merchant Code입니다. 예: M01234.
Merchant Key: iPay88 Merchant Key입니다. 결제 요청에 서명하고 iPay88의 응답을 확인하는 데 사용됩니다. 비밀로 유지하세요. 저장할 때 앞뒤 공백은 제거됩니다. 저장된 키는 다시 표시되지 않습니다. 필드는 비어 있으며 Saved — leave empty to keep it.가 표시됩니다. 값을 변경하려는 경우에만 새 값을 입력하세요. 저장된 키를 제거하려면 Clear the saved Merchant Key on save를 선택하고 Save를 클릭합니다.
Signature type: 결제 요청에 서명하는 방식입니다. 응답은 두 형식 모두로 확인되므로, 전환 전에 시작된 결제도 계속 확인할 수 있습니다.
결제
Payment method: 말레이시아 PaymentId 목록에서 iPay88 결제 수단 하나를 미리 선택하거나, Let the customer choose on the iPay88 page(기본값)를 그대로 두세요. 목록에는 Credit Card (MYR), FPX (Online Banking), Maybank2U, Alliance Online, AmBank, RHB Bank, Hong Leong Bank, CIMB Clicks, Web Cash, PayPal (MYR), Credit Card (PHP), Boost, Touch n Go eWallet, GrabPay, ShopeePay가 포함됩니다.
Reference prefix: 선택 사항입니다. iPay88 참조 번호(RefNo)에서 주문 번호 앞에 추가됩니다. 예: SHOP1-. 같은 iPay88 계정을 사용하는 쇼핑몰마다 다른 접두사를 설정하여, 한 쇼핑몰의 응답이 다른 쇼핑몰의 주문에 적용되지 않도록 하세요. 영문자, 숫자, "-", "_"를 사용할 수 있으며 최대 10자입니다. 그 밖의 문자는 저장할 때 제거되며, 숫자로 끝나는 접두사에는 끝에 "-"가 추가됩니다. 주문 번호는 RefNo의 끝에서부터 읽히기 때문입니다. 그러면 페이지에 저장된 값과 함께 경고가 표시됩니다.
Test mode: 주문 총액 대신 고정된 테스트 금액을 청구합니다. iPay88에는 별도의 샌드박스가 없습니다. 테스트 결제는 iPay88 실제 결제 페이지에서 소액(1.00; IDR 10,000)으로 이루어지는 실제 거래입니다. 테스트 금액이 수령되면 주문은 결제 완료로 표시되며, 주문 메모에 이 사실이 적힙니다. 테스트 모드가 켜져 있는 동안 고객은 Confirm Order 단계에서 TEST MODE: only a test amount of ... will be charged.를 봅니다. 테스트 모드에서 시작된 결제는, iPay88이 응답하기 전에 테스트 모드를 끄더라도 항상 테스트 금액 기준으로 확인됩니다. 실제 운영 쇼핑몰에서는 테스트 모드를 절대 켜 두지 마세요. 기본값: 끔.
응답 URL과 백엔드 URL
확장 기능은 결제할 때마다 두 URL을 함께 전송하므로, 따로 설정할 것은 없습니다. iPay88에서 요청하면 이 섹션에서 복사하세요. OpenCart 3에서 형식은 다음과 같습니다: https://your-store/index.php?route=extension/payment/wcp_ipay88_payment/back(Response URL, 고객의 복귀)과 https://your-store/index.php?route=extension/payment/wcp_ipay88_payment/backend(Backend URL, 서버 간 알림). OpenCart 4에서는 https://your-store/index.php?route=extension/wcp_ipay88_payment/payment/wcp_ipay_88payment.back(Response URL)과 https://your-store/index.php?route=extension/wcp_ipay88_payment/payment/wcp_ipay_88payment.backend(Backend URL)입니다. 이 섹션에는 iPay88에 요청 URL로 등록되어 있어야 하는 귀하의 웹사이트 주소도 표시됩니다.
iPay88의 두 응답은 같은 방식으로 확인됩니다: 필수 필드, Merchant Key로 만든 서명, 그리고 이 쇼핑몰이 해당 주문에 대해 시작한 결제의 참조 번호입니다. 유효한 서명이 없는 응답은 거부되며 주문을 절대 변경하지 않습니다. 백엔드 알림은 처리가 끝난 뒤에만 RECEIVEOK로 응답합니다. 그렇지 않으면 iPay88이 다시 보냅니다. 쇼핑몰이 점검 모드일 때도 동작합니다. OpenCart 3는 결제 확장 기능의 요청을 통과시키며, OpenCart 4에서는 확장 기능이 서명된 백엔드 알림과 고객의 복귀를 통과시키는 시작 액션(startup action)을 추가합니다. iPay88은 다음 결제 상태를 보고합니다:
주문
OpenCart는 Confirm Order 단계에서 상태 없이(누락된 주문, missing order) 주문을 생성합니다. 주문은 iPay88이 올바르게 서명된 응답을 보낸 후에만 상태를 받습니다. 실패하거나 취소된 결제는 주문을 상태 없이 두며, 고객은 장바구니가 유지된 상태로 체크아웃으로 돌아갑니다. 아래의 각 필드는 OpenCart 주문 상태 목록을 보여 줍니다.
Order Status After Payment: 예상된 금액과 통화로 성공한 결제(iPay88 상태 1). 기본값: Processing.
Awaiting Payment Status: 대기 중인 결제(상태 6). 예: 고객이 아직 하지 않은 ATM 또는 가상 계좌 이체. iPay88이 확인하면 주문은 결제 후 상태로 바뀝니다. 기본값: Pending.
On Hold (Review) Status: iPay88이 성공한 결제를 보고했지만, 주문과 다른 금액이나 통화였거나, 취소된 주문에 대한 결제였습니다. 메모에 세부 정보가 표시되며, 주문은 결제 완료로 표시되지 않습니다. 기본값: Pending. OpenCart에는 On hold 상태가 없기 때문입니다. System > Localisation > Order Statuses에서 직접 상태를 만들고 여기서 선택할 수 있습니다.
Failed Payment Status: 대기 중이던 결제(상태 6)가 나중에 iPay88에 의해 실패(상태 0)로 보고된 경우. 기본값: Failed.
Cancelled Order Status: 쇼핑몰이 취소된 주문에 사용하는 상태입니다. 이런 주문에 대해 받은 결제는 결제 완료로 표시하지 않고 검토 상태로 둡니다. 확장 기능은 이 상태를 직접 설정하지 않습니다. 기본값: Canceled.
고급
Debug log: 결제 요청과 iPay88 응답을 OpenCart 로그 폴더(storage/logs)의 ipay88_p_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 개인 데이터, Merchant Key, 서명은 기록되지 않습니다. 오류와 경고는 스위치가 꺼져 있어도 항상 기록됩니다. 기본값: 끔.
Log: 로그의 크기와 최근 항목을 보여 줍니다. Clear log를 클릭하면 로그가 비워집니다.
Delete data on uninstall: 켜 두면 확장 기능을 제거할 때 설정과 로그가 삭제됩니다. 주문과 iPay88 결제 기록은 절대 삭제되지 않으므로, 재설치 후에도 이전 결제에 대한 지연된 응답이 계속 처리됩니다. 기본값: 끔.
가져오기 / 내보내기
Export: Download JSON은 설정을 JSON 파일로 저장합니다. Merchant Key는 내보내지 않습니다.
Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정이 복원됩니다. 저장된 Merchant Key는 유지됩니다.
체크아웃
Payment Method 단계에서 고객은 결제 수단을 선택합니다(기본값은 iPay88). Confirm Order 단계에서 고객은 귀하가 작성한 설명을 봅니다. OpenCart는 이 단계에서 아직 상태가 없는 주문을 생성합니다. 고객이 Confirm Order를 클릭하면, 귀하의 지역에 있는 iPay88 결제 페이지로 서명된 양식이 전송되는 동안 단계에 Redirecting to iPay88 payment gateway...와 Please do not close this window.가 표시됩니다. 브라우저가 자동으로 전송하지 않으면 고객은 Pay Now를 클릭합니다. 확장 기능은 주문 통화의 주문 총액(테스트 모드에서는 테스트 금액), 상품명, 고객의 이름, 이메일, 전화번호를 전달합니다. iPay88 페이지에서 고객은 카드, FPX 인터넷 뱅킹, 전자지갑, 또는 귀하의 계정이 제공하는 다른 방법으로 결제합니다.
OpenCart 4에서 고객은 결제 수단 블록의 Choose 버튼을 눌러 Payment method options 창에서 결제 수단을 선택한 다음, 체크아웃 페이지 하단의 Confirm Order를 클릭합니다. 기본적으로 OpenCart 4는 체크아웃에서 전화번호를 묻지 않습니다. 그러나 iPay88에는 전화번호가 필요합니다. 주문에 전화번호가 없으면 확인 단계에 필수 Phone 필드가 표시되며 iPay88 requires the contact number of the payer.가 나타납니다. 번호를 입력하지 않으면 고객에게 iPay88 requires a phone number. Please enter your phone number and try again.가 표시됩니다. 입력한 번호는 다음 시도를 위해 유지됩니다.
주문은 iPay88이 서명된 응답으로 결제를 확인한 뒤에만 결제 완료로 표시됩니다. 고객의 복귀 시 또는 백엔드 알림을 통해서입니다. 이후 주문은 일반적인 OpenCart 방식대로 상태를 받고, 일반적인 주문 이메일과 재고 업데이트가 이루어집니다. 결제가 성공하면 고객은 Your iPay88 payment has been received.가 표시된 OpenCart 주문 성공 페이지를 봅니다. 대기 중인 결제의 경우 페이지에는 Your payment is pending confirmation from iPay88. We will update your order as soon as the payment is confirmed.가 표시됩니다. 검토 중인 주문의 경우 We have received a payment notification from iPay88 and are reviewing it. We will contact you if anything is needed.가 표시됩니다. 대기 중인 결제가 나중에 확인되거나 실패하면, OpenCart는 고객에게 새 상태를 알립니다.
같은 시점에 백엔드 알림으로 주문이 확인되고 있다면, 고객에게 We have not received the payment confirmation from iPay88 yet. If you completed the payment, your order will be updated shortly.가 표시되며, Check again과 Back to checkout 버튼이 나타납니다.
결제가 실패하거나 취소되면 주문은 상태 없이 남고 장바구니는 유지됩니다. 고객은 The payment was not completed:와 iPay88이 제시한 이유가 표시된 체크아웃으로 돌아가며, 이어서 You can try again or choose another payment method.가 나타납니다. OpenCart 4에서는 이 메시지가 체크아웃 페이지 상단에 표시됩니다. OpenCart 3는 Confirm Order 단계가 표시될 때마다 새 주문을 만들므로 새 RefNo도 생성됩니다. OpenCart 4는 체크아웃의 주문을 업데이트하므로, 고객은 같은 주문을 다시 결제합니다. 같은 주문을 다시 시도하면 같은 RefNo가 사용됩니다. 응답을 확인할 수 없으면 고객에게 The payment response could not be verified. If you completed the payment, please contact us with your order number — the payment will be checked manually.와 Return to the store 버튼이 표시됩니다.
결제를 시작할 수 없으면 고객은 Confirm Order 단계에 머무르며, This payment method is temporarily unavailable. Please choose another payment method.(키가 없거나 총액이 0인 경우) 또는 iPay88 cannot accept payments in ... Please choose another payment method.(지역에서 통화를 청구할 수 없는 경우)가 표시됩니다. 같은 장바구니는 한 번만 결제됩니다. 같은 장바구니의 다른 주문이 이미 결제되었거나 대기 중인 결제를 기다리고 있다면, 두 번째 결제 양식은 만들어지지 않고 고객은 주문 성공 페이지로 이동합니다. 수량 변경을 포함한 장바구니 변경은 자체 결제가 필요한 새 장바구니로 취급됩니다.
OpenCart 4는 성공 페이지가 표시될 때까지 체크아웃에 주문을 유지합니다. 그 사이에 결제 없이 해당 주문이 닫혔다면(예: 대기 중이던 이체가 실패했거나 주문을 취소한 경우), 고객은 Your previous order was cancelled without a payment. Please confirm the order again to pay with a new order.가 표시된 체크아웃으로 돌아갑니다. 주문이 이미 접수되었고 장바구니가 변경되었다면 메시지는 Your previous order #(number) has already been placed. Your cart has changed: please confirm the new order to pay for it.입니다. 두 경우 모두 다음 Confirm Order에서 장바구니의 새 주문이 결제됩니다.
이 확장 기능은 일회성 결제만 처리합니다. OpenCart에서의 환불, 저장된 카드, 구독, 사전 승인 및 매입, 또는 쇼핑몰의 카드 입력란은 제공하지 않습니다. iPay88에 결제 상태를 다시 조회하지도 않습니다. 주문은 iPay88 응답과 백엔드 알림을 통해서만 업데이트됩니다.
주문
주문 상태
No status (missing order): 고객이 iPay88로 이동했지만 아직 결과가 도착하지 않았거나, 결제가 실패한 경우입니다. Sales > Orders에서 이런 주문은 Order Status 필터를 Missing Orders로 설정했을 때만 표시됩니다.
Order Status After Payment (default Processing): iPay88이 예상된 금액과 통화로 성공한 결제를 보고했습니다. 메모에는 TransID, PaymentID, 금액, 통화가 표시됩니다. 테스트 모드에서는 두 번째 메모가 주문 총액 대신 테스트 금액이 청구되었음을 알려 줍니다.
Awaiting Payment Status (default Pending): iPay88이 결제를 대기 중으로 보고했습니다. iPay88이 확인하면 주문은 Order Status After Payment로 바뀌고, 실패하면 Failed Payment Status로 바뀝니다.
Failed Payment Status (default Failed): 대기 중이던 결제가 이후 실패했습니다. 메모에는 iPay88이 제시한 이유가 표시됩니다. 고객은 새 주문을 할 수 있습니다.
On Hold (Review) Status (default Pending): iPay88이 주문과 다른 금액이나 통화의 성공한 결제를 보고했거나, 주문이 취소된 후에 결제가 도착했습니다. 주문은 결제 완료로 표시되지 않았습니다. 메모에 이 내용이 설명됩니다. iPay88 포털에서 결제를 확인한 뒤 주문을 처리하거나 결제를 환불하세요.
결제 완료되었거나 완료된 주문은 이후의 응답으로 절대 변경되지 않습니다. 같은 주문이나 같은 장바구니의 다른 주문에 다른 성공 결제가 들어오면, 메모는 iPay88 포털에서 확인하고 중복이라면 환불하라고 요청합니다. 실패 응답은 결제 완료, 취소, 검토 중인 주문을 절대 변경하지 않습니다. 반복된 응답은 새로운 내용을 추가하지 않습니다.
메모는 고객에게 보이지 않는, 주문의 History 항목입니다.
VibeFox iPay88 Payment 탭
Sales > Orders에서 iPay88으로 결제된 주문을 엽니다. 주문 페이지 하단, History와 Additional 옆의 VibeFox iPay88 Payment 탭에는 RefNo, TransId, Status, Requested 금액, Amount received, PaymentId, AuthCode, Error, Region이 표시되며, 테스트 결제에는 TEST MODE 배지가, 주문의 iPay88 notes도 함께 표시됩니다. 이 탭은 확장 기능에 접근 권한이 있는 사용자에게 표시됩니다.
환불
환불은 OpenCart에서 iPay88으로 전송되지 않습니다. iPay88 가맹점 포털에서 결제를 환불한 뒤, OpenCart에 환불 내용을 수동으로 기록하세요.
라이선스 키
이 확장 기능은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox iPay88 Payment는 Extensions > Extensions > Payments > VibeFox iPay88 Payment > Edit 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭합니다. 그러면 블록에 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 다음 버튼이 표시됩니다: 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key. 그 아래에는 Product: opencart-payment-ipay88 줄과, vibefox.net 계정을 여는 Manage licenses and domains in your account 링크가 있습니다. 확장 기능에 대한 Modify 권한이 있는 관리자 사용자만 키를 변경할 수 있습니다. 블록의 텍스트는 관리자 언어를 따릅니다(영어와 러시아어 포함).
키가 승인되지 않으면 블록에 이유가 표시됩니다. 예: Key not found, This key belongs to another product, Domain limit reached, 또는 License expired on과 날짜. 쇼핑몰 주소를 바꾼 뒤나 계정에서 도메인 슬롯을 비운 뒤에는 Check now를 클릭하세요. 라이선스 서버에 연결할 수 없으면 확장 기능은 마지막으로 확인된 상태를 기준으로 계속 작동합니다.
키 하나는 도메인 하나에서만 작동합니다. 여기서 도메인은 OpenCart 설정의 쇼핑몰 주소입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하세요.
활성 키가 없으면 iPay88은 체크아웃에서 고객에게 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. 같은 브라우저에서 관리자 화면에 로그인한 관리자 사용자는 쇼핑몰에서 여전히 결제 수단을 보며, 이때 (unlicensed — visible to admins only)로 표시되므로, 키를 구매하기 전에 확장 기능을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리 보기를 사용할 수 없습니다. 쇼핑몰은 관리자 로그인을 인식하지 않으므로, 활성 키가 없으면 결제 수단은 모든 사용자에게 숨겨집니다. Edit 페이지를 한 번 열면 관리자 Dashboard에 알림이 나타납니다. ×로 닫으면 7일 동안 숨겨집니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 계속 확인됩니다.
라이선스가 만료되어도 확장 기능은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 관리자 Dashboard 또는 Edit 페이지를 열 때 상태가 자동으로 다시 확인됩니다. 키를 입력한 뒤 처음 14일 동안은 하루 한 번, 그 후에는 주 1회입니다. cron 작업은 필요하지 않습니다. 확장 기능을 제거하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
iPay88이 체크아웃에 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, Merchant Code와 Merchant Key가 입력되어 있는지, 고객의 체크아웃 통화를 선택한 iPay88 region에서 청구할 수 있는지 확인하세요. 무엇인가 빠져 있으면 설정 페이지에 경고가 표시됩니다. 또한 결제 주소가 선택한 Geo Zone 안에 있는지, 주문이 설정의 Total에 도달하는지도 확인하세요.
결제는 되었지만 주문이 상태 없이 남아 있음: 고객의 복귀도, 백엔드 알림도 유효한 서명과 함께 쇼핑몰에 도달하지 않았습니다. Log 필드를 확인하세요. 오류는 항상 기록됩니다. Merchant Key가 iPay88이 제공한 것과 정확히 같은지, 그리고 서버가 설정에 표시된 백엔드 URL로 오는 iPay88의 요청을 허용하는지 확인하세요.
iPay88 페이지에 "Permission not allow"가 표시됨: 귀하의 웹사이트 주소가 iPay88에 요청 URL로 등록되어 있지 않습니다. 응답 및 백엔드 URL 섹션에 표시된 주소를 등록해 달라고 iPay88에 요청하세요.
백엔드 알림이 BAD SIGNATURE로 응답함: 서명이 Merchant Key와 일치하지 않습니다. Merchant Key를 확인하세요. 아무것도 변경되지 않았습니다.
백엔드 알림이 NOT CONFIGURED로 응답함: Merchant Code 또는 Merchant Key가 설정되지 않아 응답을 확인할 수 없습니다. iPay88이 알림을 다시 보냅니다.
백엔드 알림이 UNKNOWN ORDER로 응답함: 이 쇼핑몰에서 이 참조 번호에 대한 iPay88 결제가 시작된 적이 없습니다. 예: 같은 계정을 사용하는 다른 쇼핑몰이 Reference prefix를 사용하지 않거나 같은 접두사를 사용하는 경우.
백엔드 알림이 RETRY로 응답함: 주문(또는 같은 장바구니의 다른 주문)이 고객의 복귀나 다른 알림에 의해 같은 시점에 확인되고 있었거나, 주문 상태를 설정할 수 없었습니다. iPay88이 알림을 다시 보냅니다.
백엔드 URL을 브라우저에서 열면 BAD REQUEST가 표시됨: 정상입니다. 이 URL은 iPay88의 서명된 요청만 허용합니다.
주문이 On Hold (Review) Status 상태임: iPay88이 주문과 맞지 않는 결제를 보고했거나, 주문이 취소되었습니다. VibeFox iPay88 Payment 탭의 메모를 읽고, iPay88 포털에서 결제를 확인한 뒤 주문을 완료하거나 결제를 환불하세요.
고객에게 "iPay88 cannot accept payments in"과 통화가 표시됨: 체크아웃 통화를 선택한 지역에서 청구할 수 없습니다. iPay88 말레이시아에서는 MYR 이외의 통화에 iPay88 계정의 다중 통화 옵션도 필요합니다.
고객에게 This payment method is not available. Please reload the checkout page.가 표시됨: 체크아웃 세션이 더 이상 주문과 맞지 않거나, 그 사이에 결제 수단이 꺼졌습니다. 고객은 체크아웃 페이지를 새로 고칩니다.
실제 고객에게 1.00만 청구됨: Test mode가 켜져 있습니다. 끄세요.
제거
Extensions > Extensions로 이동하여 유형을 Payments로 선택하고, VibeFox iPay88 Payment 옆의 Uninstall(빨간 − 버튼)을 클릭합니다. 이 확장 기능의 라이선스 키와 라이선스 상태는 항상 제거됩니다. OpenCart는 확장 기능 자체의 설정을 항상 제거합니다: Enable/Disable, Sort Order, Geo Zone, Total, 그리고 Orders 섹션의 주문 상태들이며, 이들은 재설치 시 기본값으로 돌아갑니다. 확장 기능의 OpenCart 이벤트도 제거됩니다(OpenCart 4에서는 이벤트와 점검 모드에서 iPay88 응답을 통과시키는 시작 액션도 제거됩니다). Delete data on uninstall이 켜져 있으면 나머지 설정(제목, 설명, 지역, Merchant Code와 Key, 서명 유형, 결제 수단, 접두사, 테스트 모드, 디버그 로그 스위치)과 로그가 제거됩니다. 꺼져 있으면 이후 재설치를 위해 보존됩니다. 주문의 iPay88 결제 기록은 항상 보존됩니다. 주문은 삭제되지 않으며 결제 메모를 유지합니다.
OpenCart 4에서 파일까지 제거하려면, 제거 후 Extensions > Installer로 이동하여 설치된 확장 기능 목록에서 VibeFox iPay88 Payment 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, Delete(빨간 휴지통 버튼)를 클릭해 업로드된 패키지를 삭제하세요.
iPay88은 해당 소유자의 상표입니다. 이 확장 기능은 iPay88과 제휴하거나 iPay88의 승인을 받은 것이 아닙니다.
