VibeFox iPay88 for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0 ~ 9.x.
PHP: 8.0 이상. 모듈은 이전 PHP 버전에서는 설치되지 않습니다.
iPay88 가맹점 계정: Merchant Code와 Merchant Key는 가맹점 계정이 활성화될 때 iPay88에서 발급합니다. iPay88 가맹점 포털에도 표시됩니다. 아직 가맹점이 아니라면 iPay88 웹사이트에서 신청하십시오. Merchant Key는 비밀로 유지하십시오. 결제에 서명하는 데 사용됩니다. iPay88에는 별도의 샌드박스가 없으므로 테스트 키도 없습니다.
Request URL: 쇼핑몰 주소가 iPay88에 Request URL로 등록되어 있어야 합니다. 그렇지 않으면 iPay88 페이지에 "Permission not allow"가 표시됩니다.
통화: Malaysia — MYR, iPay88 계정에서 다중 통화 옵션을 켠 경우 USD, SGD, AUD, CAD, EUR, GBP, HKD, CNY, TWD, INR, IDR, PHP 또는 THB; Philippines — PHP 또는 USD; Indonesia — IDR; Thailand — THB. 장바구니 통화를 고객의 지역에서 청구할 수 없으면 체크아웃에서 결제 방법이 숨겨집니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
1. 관리자 페이지에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈의 ZIP 파일을 선택합니다.
2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox iPay88 Payment를 찾아 Configure를 클릭합니다.
3. Configure 페이지 상단의 라이선스 블록에서 License key에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다(라이선스 키 참조).
4. iPay88 region을 선택하고, Merchant Code와 Merchant Key를 입력한 다음, Enable/Disable을 켜고 Save를 클릭합니다.
5. 설정을 확인하려면 Test mode를 켠 상태로 결제를 진행한 뒤 테스트 모드를 끕니다.
설치 시 모듈은 두 개의 주문 상태를 생성합니다: Awaiting iPay88 payment와 iPay88 payment on hold. PrestaShop은 모든 통화, 국가, 고객 그룹에 새 결제 모듈을 제공합니다. Payment > Preferences에서 이를 제한할 수 있습니다. 모듈 설치 후에 활성화한 국가는 그곳에서도 이 모듈에 체크되어 있어야 합니다. 그렇지 않으면 해당 국가의 고객에게 iPay88이 표시되지 않습니다. 응답 URL과 백엔드 URL은 모든 결제와 함께 전송됩니다.
구성
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox iPay88 Payment > Configure. 각 Save 버튼은 페이지 전체를 저장합니다. 필드 위에는 키가 없는 동안 iPay88 Merchant Code와 Merchant Key를 입력하십시오 — 그때까지 체크아웃에 결제 방법이 표시되지 않습니다.라는 안내가 표시되며, 쇼핑몰의 기본 통화를 선택한 지역에서 청구할 수 없으면 경고가 표시됩니다(이 경우 체크아웃에서 결제 방법이 숨겨집니다). 테스트 모드가 켜져 있는 동안에도 경고가 표시됩니다.
iPay88
Enable/Disable: Enable iPay88 Payment Gateway는 결제 방법을 켜거나 끕니다. 기본값: 끔.
Title: 체크아웃에서 고객에게 보이는 결제 방법 이름입니다. 주문에 저장되는 결제 방법 이름이기도 합니다. 기본값: iPay88.
Description: 체크아웃에서 결제 방법 아래에 표시되는 텍스트입니다. 기본값: Pay securely via iPay88 (credit card, online banking, e-wallet).
iPay88 계정
iPay88 region: iPay88 가맹점 계정의 국가입니다. iPay88 결제 페이지와 청구할 수 있는 통화를 결정합니다. 주문은 항상 해당 통화로 청구됩니다. 기본값: Malaysia.
Merchant Code: iPay88 Merchant Code입니다. 예: M01234.
Merchant Key: iPay88 Merchant Key입니다. 결제 요청에 서명하고 iPay88 응답을 검증합니다. 비밀로 유지하십시오. 저장된 키는 다시 표시되지 않습니다. 필드는 비어 있으며 저장됨 — 유지하려면 비워 두십시오.라고 표시됩니다. 값을 변경하려는 경우에만 새 값을 입력하십시오. 키는 따옴표와 백슬래시를 포함하여 입력한 그대로 저장됩니다.
Clear saved secret: Merchant Key에 체크하고 Save를 클릭하면 저장된 키가 삭제됩니다. 필드가 비어 있으면 저장된 값이 유지됩니다.
Signature type: 결제 요청에 서명하는 방식입니다. 응답은 두 형식 모두로 검증되므로, 전환 전에 시작된 결제도 계속 검증할 수 있습니다.
결제
Payment method: Malaysia 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의 끝에서부터 읽히기 때문입니다. 저장 후 페이지에는 저장된 값이 표시됩니다. 같은 iPay88 계정으로 WooCommerce에서 PrestaShop으로 옮기는 경우, 새 참조 번호가 기존 주문 번호를 반복하지 않도록 접두사를 설정하십시오.
Test mode: Charge a fixed test amount instead of the order total. iPay88에는 별도의 샌드박스가 없습니다. 테스트 결제는 iPay88 실서비스 결제 페이지에서 소액(1.00; IDR 10,000)으로 이루어지는 실제 거래입니다. 테스트 금액이 수신되면 주문은 결제 완료로 표시되고, 주문 메모에 그 내용이 기록됩니다. 테스트 모드가 켜져 있는 동안 체크아웃에는 TEST MODE: only a test amount of ... will be charged.가 표시됩니다. 테스트 모드에서 시작된 결제는 iPay88이 응답하기 전에 테스트 모드를 끄더라도 항상 테스트 금액 기준으로 확인됩니다. 실서비스 쇼핑몰에서는 테스트 모드를 절대 켜 두지 마십시오. 기본값: 끔.
응답 URL과 백엔드 URL
모듈은 모든 결제와 함께 두 URL을 전송하므로 따로 설정할 것이 없습니다. iPay88이 요청하면 이 섹션에서 복사하십시오. 친숙한 URL을 사용하면 다음과 같은 형태입니다: https://your-shop/module/wcp_ipay88_payment/response(Response URL, 고객의 복귀)와 https://your-shop/module/wcp_ipay88_payment/backend(Backend URL, 서버 간 알림). 필요하면 /en/ 같은 언어 코드가 붙을 수 있습니다. 이 섹션에는 iPay88에 Request URL로 등록되어 있어야 하는 쇼핑몰 주소도 표시됩니다.
iPay88의 두 응답은 같은 방식으로 확인됩니다: 필수 필드, Merchant Key로 생성된 서명, 그리고 이 쇼핑몰이 이 장바구니에 대해 시작한 결제의 참조 번호. 유효한 서명이 없는 응답은 거부되며, 장바구니나 주문을 절대 변경하지 않습니다. 백엔드 알림은 처리가 끝난 후에만 RECEIVEOK로 응답합니다. 그렇지 않으면 iPay88이 다시 전송합니다. 쇼핑몰이 유지 보수 모드인 동안에도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다. iPay88은 다음 결제 상태를 보고합니다:
고급
Debug log: 결제 요청과 iPay88 응답을 모듈 폴더의 logs/ipay88_p_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 개인정보, Merchant Key, 서명은 기록되지 않습니다. 오류와 경고는 스위치가 꺼져 있어도 항상 기록됩니다. 기본값: 끔.
Log: 로그의 크기와 최근 항목을 표시합니다. Clear log를 클릭하면 로그를 비울 수 있습니다.
Delete data on uninstall: 모듈을 제거할 때 설정, 로그, iPay88 결제 데이터를 삭제합니다. 주문과 주문 상태는 절대 삭제되지 않습니다. 기본값: 끔.
체크아웃
결제 단계에서 고객은 결제 방법(기본적으로 iPay88)을 선택하고 확인합니다. 고객이 속한 지역의 iPay88 결제 페이지로 양식이 전송되는 동안, 다음 페이지에는 Redirecting to iPay88 payment gateway...와 Please do not close this window.가 표시됩니다. JavaScript가 없으면 고객은 Pay Now를 클릭합니다. 이 시점에는 아직 주문이 존재하지 않습니다. 모듈은 장바구니 합계를 장바구니 통화로(테스트 모드에서는 테스트 금액), 상품명, 고객의 이름, 이메일, 전화번호와 함께 전달합니다. iPay88 페이지에서 고객은 카드, FPX 온라인 뱅킹, 전자지갑 또는 계정에서 제공하는 다른 방법으로 결제합니다.
주문은 고객의 복귀 시 또는 백엔드 알림을 통해, iPay88이 서명된 응답으로 확인한 후에만 결제 완료로 표시됩니다. 결제가 성공하면 주문이 생성되고, 고객은 Your iPay88 payment has been received.가 포함된 표준 주문 확인 페이지를 보게 됩니다. 대기 중인 결제의 경우 페이지에 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.가 표시됩니다. 주문이 Payment error 상태이거나 취소된 경우에는 The payment was not completed. Please contact us.가 표시됩니다.
같은 시점에 백엔드 알림이 확인을 처리하고 있다면, 고객에게는 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.가 표시되는 체크아웃으로 돌아갑니다. 같은 장바구니에 대한 모든 시도는 같은 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 버튼이 표시됩니다.
결제를 시작할 수 없으면 고객은 This payment method is temporarily unavailable. Please choose another payment method.(키가 없거나 합계가 0인 경우) 또는 iPay88 cannot accept payments in ... Please choose another payment method.(지역에서 통화를 청구할 수 없는 경우)가 표시된 체크아웃으로 돌아갑니다. 장바구니에 이미 주문이 있으면(결제 완료되었거나 대기 중인 결제가 있는 경우) 두 번째 결제 양식은 생성되지 않으며, 고객은 주문 확인 페이지로 이동합니다.
이 모듈은 일회성 결제만 지원합니다. PrestaShop에서의 환불, 카드 저장, 구독, 사전 승인 및 캡처, 사이트의 카드 입력 필드는 지원하지 않습니다. 결제 상태를 iPay88에 다시 조회하지 않으며, 주문은 iPay88 응답과 백엔드 알림을 통해서만 업데이트됩니다.
주문
Order statuses
No order yet: 고객이 iPay88으로 이동했지만 아직 결과가 도착하지 않았거나, 결제가 실패했습니다. 장바구니만 존재합니다.
Payment accepted: iPay88이 예상된 금액과 통화로 결제 성공을 보고했습니다. 결제는 iPay88 TransId를 거래 ID로 하여 기록됩니다. 비공개 메모에는 TransID, PaymentID, 금액, 통화가 표시됩니다. 테스트 모드에서는 두 번째 메모에 주문 합계 대신 테스트 금액이 청구되었다고 표시됩니다.
Awaiting iPay88 payment: iPay88이 결제를 대기 중으로 보고했습니다. iPay88이 확인하면 주문은 Payment accepted로, 실패하면 Payment error로 바뀝니다.
Payment error: 대기 중이던 결제가 이후 실패했습니다. 메모에는 iPay88의 사유가 표시됩니다. 이 장바구니에는 이미 주문이 있으므로 고객은 다시 결제할 수 없고 새 주문을 합니다.
iPay88 payment on hold: iPay88이 주문과 다른 금액 또는 통화의 결제 성공을 보고했거나, 주문이 취소된 후에 결제가 도착했습니다. 주문은 결제 완료로 표시되지 않았습니다. 메모에 그 이유가 설명되어 있습니다. iPay88 포털에서 결제를 확인한 다음 주문을 처리하거나 결제를 환불하십시오.
결제 완료되었거나 환불된 주문은 이후 응답으로 절대 변경되지 않습니다. 해당 주문에 다른 결제 성공 응답이 도착하면, 메모가 iPay88 포털에서 확인하고 중복이면 환불하라고 알려 줍니다. 실패 응답은 결제 완료, 환불, 취소된 주문을 절대 변경하지 않습니다. 반복된 응답은 새로운 내용을 추가하지 않습니다.
iPay88 결제 블록
주문 페이지에는 RefNo, TransId, 상태, 요청 금액, 수신 금액, PaymentId, AuthCode, 오류, 지역을 포함한 iPay88 payment 블록이 표시되며, 테스트 결제의 경우 TEST MODE 배지가 표시됩니다.
환불
환불은 PrestaShop에서 iPay88으로 전송되지 않습니다. iPay88 가맹점 포털에서 결제를 환불한 다음, PrestaShop에 환불 내역을 수동으로 기록하십시오.
라이선스 키
이 모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox iPay88 Payment은 Modules > Module Manager > VibeFox iPay88 Payment > Configure의 첫 번째 블록이며 설정 위에 있습니다. 키를 License key에 입력하고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스 유효 기간 종료일과 도메인), 그리고 다음 버튼이 표시됩니다: 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key. 그 아래에는 Product: presta-payment-ipay88 줄과 vibefox.net 계정을 여는 Manage licenses and domains in your account 링크가 있습니다. 이 모듈의 Configure 권한이 있는 직원만 키를 변경할 수 있습니다. 블록의 텍스트는 백오피스 언어를 따릅니다(영어와 러시아어 포함).
키가 허용되지 않으면 블록에 그 이유가 표시됩니다(예: Key not found, This key belongs to another product, Domain limit reached 또는 날짜와 함께 License expired on). 쇼핑몰 주소를 변경하거나 계정에서 도메인 슬롯을 해제한 후에는 Check now를 클릭하십시오. 라이선스 서버에 연결할 수 없으면 모듈은 마지막으로 확인된 상태로 계속 작동합니다.
키 하나는 도메인 하나에서 작동합니다. 메인 쇼핑몰의 도메인이며, 다중 스토어 설정에서도 마찬가지입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 체크아웃에서 고객에게 iPay88이 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. PrestaShop 스토어프런트는 백오피스에 로그인했는지 알지 못하므로, 결제 수단은 귀하에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만, 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 나타납니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 여전히 확인됩니다.
라이선스가 만료되면 모듈은 계속 작동하지만 업데이트와 지원에는 갱신이 필요합니다. 백오피스에서 작업하는 동안 상태는 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그다음부터는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 재설정하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 iPay88이 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, Merchant Code와 Merchant Key가 입력되어 있는지, 그리고 장바구니 통화를 선택한 iPay88 region에서 청구할 수 있는지 확인하십시오. 설정 페이지는 무언가 빠져 있으면 경고를 표시합니다. Payment > Preferences에서 모듈이 장바구니 통화, 고객의 국가, 고객 그룹에 대해 허용되어 있는지 확인하십시오.
결제는 완료되었지만 주문이 생성되지 않음: 고객의 복귀도, 백엔드 알림도 유효한 서명과 함께 쇼핑몰에 도달하지 못했습니다. Log 필드를 확인하십시오. 오류는 항상 기록됩니다. Merchant Key가 iPay88이 제공한 키와 정확히 일치하는지, 그리고 서버가 설정에 표시된 Backend URL로 오는 iPay88 요청을 허용하는지 확인하십시오.
iPay88 페이지에 "Permission not allow"가 표시됨: 쇼핑몰 주소가 iPay88에 Request URL로 등록되어 있지 않습니다. Response and backend URLs 섹션에 표시된 주소를 iPay88에 등록해 달라고 요청하십시오.
백엔드 알림이 BAD SIGNATURE로 응답함: 서명이 Merchant Key와 일치하지 않습니다. Merchant Key를 확인하십시오. 아무것도 변경되지 않았습니다.
백엔드 알림이 NOT CONFIGURED로 응답함: Merchant Code 또는 Merchant Key가 설정되지 않아 응답을 검증할 수 없습니다. iPay88이 알림을 다시 전송합니다.
백엔드 알림이 UNKNOWN ORDER로 응답함: 이 쇼핑몰에서 이 참조 번호에 대한 iPay88 결제가 시작되지 않았습니다. 예를 들어 같은 계정을 쓰는 다른 쇼핑몰이 Reference prefix를 사용하지 않거나 같은 접두사를 쓰고 있거나, 제거 시 iPay88 결제 데이터가 삭제되었을 수 있습니다.
백엔드 알림이 RETRY로 응답함: 같은 시점에 고객의 복귀로 장바구니 확인이 진행 중이었거나, 주문을 생성할 수 없었습니다(예: 모듈이 비활성화된 경우). iPay88이 알림을 다시 전송합니다.
브라우저에서 Backend URL에 BAD REQUEST가 표시됨: 정상입니다. 이 URL은 iPay88의 서명된 요청만 받아들입니다.
주문이 iPay88 payment on hold 상태임: iPay88이 주문과 맞지 않는 결제를 보고했거나, 주문이 취소되었던 것입니다. 주문 메모와 iPay88 포털의 결제를 확인한 다음 주문을 완료하거나 결제를 환불하십시오.
고객에게 통화와 함께 "iPay88 cannot accept payments in"이 표시됨: 장바구니 통화를 선택한 지역에서 청구할 수 없습니다. iPay88 Malaysia에서 MYR 이외의 통화는 iPay88 계정에서 다중 통화 옵션도 필요합니다.
실제 고객에게 1.00만 청구됨: Test mode가 켜져 있습니다. 끄십시오.
제거
Modules > Module Manager로 이동하여 VibeFox iPay88 Payment 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 확인 창에는 Delete data on uninstall이 켜져 있지 않은 한 설정과 iPay88 결제 데이터가 유지된다고 표시됩니다. 켜져 있으면 설정, 로그, iPay88 결제 데이터가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 것이 유지됩니다. 주문 상태 Awaiting iPay88 payment와 iPay88 payment on hold는 항상 유지됩니다. 주문은 절대 삭제되지 않으며, 결제 메모와 거래 ID도 그대로 남습니다.
iPay88은 해당 소유자의 상표입니다. 이 모듈은 iPay88과 제휴하지 않았으며 iPay88의 승인을 받은 것이 아닙니다.
