VibeFox Wompi for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0~9.x.
PHP: 8.0 이상. 모듈은 이전 버전의 PHP에는 설치되지 않습니다.
통화: 콜롬비아 페소(COP). Wompi Colombia는 COP로 결제를 받으며, 다른 통화의 장바구니에서는 결제 수단이 숨겨집니다. 쇼핑몰의 기본 통화가 COP가 아니면 설정 페이지에 경고가 표시됩니다.
Wompi 계정: Wompi Colombia 가맹점 계정. 각 환경(샌드박스와 운영)에는 네 개의 키가 있습니다: 공개 키, 비공개 키, 이벤트 시크릿, 무결성 시크릿. Wompi 가맹점 대시보드(comercios.wompi.co)의 개발자 섹션에서 확인할 수 있습니다. Wompi El Salvador와 Panama는 다른 API를 사용하며 지원하지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 동작합니다.
설치
1. 백 오피스에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈 ZIP 파일을 선택합니다.
2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox Wompi Payment를 찾아 Configure를 클릭합니다.
3. VibeFox 라이선스 키를 Configure 페이지 상단 라이선스 블록의 License key에 붙여 넣고 Activate를 클릭합니다(라이선스 키 참조).
4. Wompi 가맹점 대시보드에서 샌드박스와 운영 키를 붙여 넣고, Wompi에서 이벤트 URL을 설정합니다(설정 참조).
5. Enable/Disable을 켜고 Save를 클릭합니다. 샌드박스 모드에서 결제를 테스트한 다음, 실제 결제를 받으려면 Sandbox mode를 끕니다.
설치 시 모듈은 두 개의 주문 상태 Awaiting Wompi payment와 Wompi payment on hold를 만듭니다. PrestaShop은 그 시점에 존재하는 통화, 국가, 고객 그룹에 대해 새 결제 모듈을 제공합니다. Payment > Preferences에서 COP가 허용되어 있는지 확인하세요. 나중에 추가한 국가는 그 국가의 고객이 Wompi를 보기 전에 그곳에서 체크해야 합니다.
설정
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Wompi Payment > Configure. 필드가 있는 각 섹션에는 자체 Save 버튼이 있으며, 이 버튼은 페이지 전체를 저장합니다. 필드 위의 상태 상자에는 현재 모드인 SANDBOX 또는 PRODUCTION이 표시됩니다. 이 모드의 키가 없으면 상자가 누락된 키를 나열하고, 이 환경의 모든 키가 설정될 때까지 결제 수단이 체크아웃에서 숨겨진다고 알려줍니다. 모든 키가 설정되면 실제 결제가 청구되는지 알려줍니다. 저장할 때 키가 해당 섹션의 접두사로 시작하지 않으면, 또는 Wompi가 활성화되어 있지만 키가 없어서 체크아웃에서 숨겨져 있으면 모듈이 경고합니다.
Wompi
Enable/Disable: Enable Wompi는 결제 수단을 켜거나 끕니다. 기본값: off.
Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Wompi. 비워 두면 모듈 이름이 사용됩니다.
Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay securely with Wompi: cards, PSE, Nequi, Bancolombia and more.
Wompi 계정
Wompi 가맹점 대시보드(comercios.wompi.co)의 개발자 섹션에서 키를 복사합니다. 각 환경에는 고유한 공개 키, 비공개 키, 이벤트 시크릿, 무결성 시크릿이 있습니다.
Sandbox mode: Wompi 샌드박스를 사용합니다(샌드박스 키, 실제 돈은 오가지 않음). 키와 Wompi API(sandbox.wompi.co 또는 production.wompi.co)가 모두 전환됩니다. 결제 시도는 진행된 환경을 유지합니다. 기본값: on. 실제 결제를 받으려면 끄세요. 켜져 있는 동안 고객에게는 결제 수단 아래에 샌드박스 모드: 실제 결제가 이루어지지 않습니다.가 표시됩니다.
샌드박스 키
Wompi 샌드박스의 네 가지 키입니다. 각각 pub_test_, prv_test_, test_events_, test_integrity_로 시작합니다.
Public key: 샌드박스 공개 키(pub_test_...). Wompi Web Checkout에서 계정을 식별합니다.
Private key: 샌드박스 비공개 키(prv_test_...). Wompi API에서 거래를 읽는 데 사용됩니다.
Events secret: 샌드박스 이벤트 시크릿(test_events_...). Wompi 이벤트의 서명을 검증합니다.
Integrity secret: 샌드박스 무결성 시크릿(test_integrity_...). Web Checkout으로 보내는 결제 요청에 서명합니다.
운영 키
Wompi 운영 환경의 네 가지 키입니다. 각각 pub_prod_, prv_prod_, prod_events_, prod_integrity_로 시작합니다.
Public key: 운영 공개 키(pub_prod_...).
Private key: 운영 비공개 키(prv_prod_...).
Events secret: 운영 이벤트 시크릿(prod_events_...).
Integrity secret: 운영 무결성 시크릿(prod_integrity_...).
공개 키는 각 필드에 표시됩니다. 저장된 비공개 키와 시크릿은 다시 표시되지 않습니다. 필드는 비어 있으며 저장됨: 유지하려면 비워 두세요.가 표시됩니다. 변경하려는 경우에만 새 값을 입력하세요.
Clear saved secrets: 두 환경 중 하나의 비공개 키나 시크릿을 체크하고 Save를 클릭하면 삭제됩니다. 빈 필드는 저장된 값을 유지합니다.
이벤트 URL(webhook)
Wompi 이벤트는 거래가 변경되었음을 쇼핑몰에 알립니다. Wompi 가맹점 대시보드의 개발자 섹션에서, 이 섹션에 표시된 이벤트 URL을 샌드박스와 운영 모두에 설정하세요. 친근한 URL을 사용하면 https://your-shop/module/wcp_wompi_payment/webhook 형태이며, /es/ 같은 언어 코드가 포함될 수도 있습니다. 설정에 표시된 URL을 정확히 복사하세요.
모듈은 다음 이벤트를 사용합니다:
다른 이벤트에는 Ignored로 응답합니다. 각 이벤트는 해당 환경(샌드박스 또는 운영)의 이벤트 시크릿으로 검증됩니다. 유효한 서명이 없는 webhook은 거부됩니다. 검증 후 거래는 해당 환경의 비공개 키로 Wompi API에서 읽으며, 그 데이터만 사용됩니다. 이벤트 URL이 없으면 주문은 고객이 결제 후 쇼핑몰로 돌아올 때만 생성됩니다.
고급
Debug log: 결제 및 webhook 활동을 모듈 폴더의 logs/wompi_p_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 이 옵션이 꺼져 있어도 오류와 경고는 항상 기록됩니다. 키, 시크릿, 고객 데이터는 절대 기록되지 않습니다. 기본값: off.
Log: 로그의 크기와 최신 항목을 표시합니다. Clear log를 클릭하면 비워집니다.
Delete data on uninstall: 켜져 있으면 모듈을 제거할 때 모듈 설정과 로그가 삭제됩니다. Wompi 결제 시도와 모듈의 주문 상태는 항상 남아 있으므로, 기존 주문은 Wompi 데이터를 유지합니다. 기본값: off.
체크아웃
결제 단계에서 고객은 결제 수단(기본값 Wompi)을 선택하고 확인합니다. 모듈은 고유 참조 번호(PS-, 장바구니 번호, 타임스탬프)로 결제 시도를 만들고, 무결성 시크릿으로 서명한 뒤, 장바구니 합계를 COP로 표시하여 고객을 Wompi Web Checkout으로 보냅니다. 고객의 이메일과 청구지 주소의 이름이 Wompi에 전달됩니다. 이 시점에는 아직 주문이 없습니다.
Wompi 페이지에서 고객은 Wompi 계정에서 활성화된 결제 수단으로 결제합니다. 그 후 Wompi는 고객을 쇼핑몰로 돌려보냅니다. 주문은 Wompi가 확인한 후에만 결제 완료로 표시됩니다. 서명된 이벤트를 받거나, 고객이 돌아올 때 서버에서 Wompi API로 요청하여 확인합니다. 반환 주소에 있는 거래 번호 자체는 신뢰하지 않으며, 시도의 환경에서 해당 장바구니에 대해 생성된 거래만 허용합니다. 페이지를 새로 고치면 거래는 최대 20초에 한 번씩 다시 확인됩니다.
거래가 승인되면 주문이 생성되고 고객은 표준 주문 확인 페이지를 봅니다. 대기 중인 결제(예: PSE, Nequi 또는 현금 결제)의 경우 페이지에 Wompi 결제가 확인 대기 중입니다(예: PSE, Nequi 또는 현금 결제). Wompi가 결제를 확인하는 즉시 주문을 처리하겠습니다.가 표시됩니다. 보류 상태의 주문에는 Wompi 결제를 받았으며 검토 중입니다. 필요한 사항이 있으면 연락드리겠습니다.가 표시됩니다. 대기 중이던 결제가 나중에 거절되면 페이지에 Wompi 결제가 승인되지 않았습니다. 문의해 주세요.가 표시됩니다. 무효화되면 Wompi 결제가 무효화되었고 이 주문은 취소되었습니다. 문의해 주세요.가 표시됩니다.
고객이 돌아왔을 때 Wompi가 아직 거래를 확인하지 않았다면, Wompi가 결제를 확인하기를 기다리고 있습니다. 확인되는 즉시 이메일을 받게 됩니다.라는 페이지와 Check again 버튼이 표시됩니다. Wompi 이벤트가 도착하는 즉시 주문이 생성됩니다.
결제가 거절되면 주문은 생성되지 않고 장바구니는 유지됩니다. 고객은 Wompi 결제가 승인되지 않았습니다(...). 다시 시도하거나 다른 결제 수단을 선택할 수 있습니다.라는 메시지와 함께 체크아웃으로 돌아가며, Wompi가 제공한 사유가 함께 표시됩니다. 무효화된 결제에는 Wompi 결제가 무효화되었습니다. 다시 시도하거나 다른 결제 수단을 선택할 수 있습니다.가 표시됩니다. 고객이 결제하지 않고 Web Checkout을 떠나면 메시지는 Wompi 결제가 완료되지 않았습니다. 다시 시도하거나 다른 결제 수단을 선택할 수 있습니다.입니다. 새 시도마다 새 참조 번호가 부여됩니다. 장바구니에 주문(결제 완료, 대기, 결제 오류 또는 취소됨)이 생기면 다시 결제할 수 없으며, 고객은 주문 확인 페이지로 이동합니다.
결제 수단은 라이선스가 활성 상태이고, 현재 모드의 네 가지 키가 모두 설정되어 있고, 장바구니 통화가 COP이며 모듈에서 허용되어 있고, 합계가 COP 1,500 이상인 경우에만 표시됩니다. 결제를 시작할 수 없으면 고객은 짧은 메시지와 함께 체크아웃에 머뭅니다:
이벤트 URL은 쇼핑몰이 유지 보수 모드에 있는 동안에도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다.
모듈은 PrestaShop에서 환불하지 않습니다. 쇼핑몰에는 저장된 카드, 구독, 카드 입력란이 없습니다. 모든 결제 정보는 Wompi에서 입력됩니다.
주문
주문 상태
아직 주문 없음: 고객은 Wompi로 이동했지만 결제하지 않았거나, 결제가 거절되었거나, Wompi가 아직 거래를 확인하지 않은 상태입니다. 장바구니만 존재합니다.
Awaiting Wompi payment: Wompi가 거래를 대기 중으로 보고한 상태입니다. 예를 들어 확인을 기다리는 PSE, Nequi 또는 현금 결제입니다. Wompi가 승인하거나 거절할 때까지 주문은 대기합니다. 승인되면 결제가 기록되고 주문은 Payment accepted로 넘어갑니다.
Payment accepted: 거래가 COP 장바구니 금액으로 승인되었습니다. 결제는 Wompi 거래 ID와 함께 기록되며, 메모에는 거래, 결제 수단 유형(예: CARD, PSE 또는 NEQUI), 참조 번호, 금액, 환경이 표시됩니다.
Wompi payment on hold: Wompi가 주문 합계와 다른 금액이나 통화를 승인했거나(예: 결제가 시작된 후 장바구니가 변경됨), 주문이 취소된 후에 결제가 승인된 경우입니다. 주문은 결제 완료로 표시되지 않습니다. 메모에 이유가 설명되어 있습니다. Wompi 대시보드에서 결제를 확인한 후 주문을 처리하거나 결제를 환불하세요.
Payment error: 최근 결제 시도의 대기 중인 거래가 거절되었거나 오류로 끝났습니다. Wompi 메시지가 메모에 추가됩니다. 이전 시도의 결과는 주문을 바꾸지 않습니다.
Canceled: 최근 결제 시도의 대기 중인 거래가 Wompi에서 무효화되었습니다.
이미 결제 완료된 주문에 두 번째 승인 결제가 들어오면 주문은 변경되지 않습니다. 중복 결제를 Wompi 대시보드에서 환불하라는 메모가 추가됩니다. 결제 거래가 Wompi에서 무효화되면 주문을 검토하라는 메모가 추가됩니다. 환불된 주문에 대한 늦은 결제는 메모만 추가합니다. 반복되는 이벤트와 재방문으로 메모, 이메일, 결제가 중복되는 일은 없습니다.
Wompi 결제 블록
주문 페이지에는 참조 번호, 거래 ID, 상태(Wompi 상태 포함), 요청 금액, 거래 금액, 결제 수단, Wompi 메시지, 샌드박스 결제에 대한 SANDBOX 배지, 장바구니에 여러 결제 시도가 있을 때의 Payment attempts, 그리고 주문의 Wompi notes가 포함된 Wompi payment 블록이 표시됩니다.
환불
환불은 PrestaShop에서 보내지 않습니다. Wompi 가맹점 대시보드에서 결제를 환불하거나 무효화한 다음, PrestaShop에 환불을 수동으로 기록하세요. Wompi에서 이루어진 결제 거래의 무효화는 메모로 주문에 추가됩니다.
라이선스 키
모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 동작합니다. License — VibeFox Wompi Payment 라이선스 블록은 Modules > Module Manager > VibeFox Wompi Payment > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 그러면 블록에 마스킹된 키, 상태(예: 라이선스 만료일과 도메인), 그리고 Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거) 버튼이 표시됩니다. 그 아래에는 Product: presta-payment-wompi 줄과 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 계정에서 슬롯을 해제하세요.
활성 키가 없으면 Wompi는 체크아웃에서 고객에게 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one.를 보게 됩니다. PrestaShop 스토어프런트는 백 오피스에 로그인되어 있는지 알 수 없으므로, 결제 수단은 관리자에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 나타납니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 Wompi 이벤트와 고객의 재방문으로 계속 확인됩니다.
라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 백 오피스에서 작업하는 동안 상태는 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 이후에는 일주일에 한 번입니다. 크론 작업은 필요 없습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 Wompi가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드의 네 가지 키가 모두 설정되어 있는지 확인하세요(설정 페이지의 상태 상자에 누락된 키가 표시됩니다). 장바구니 통화가 COP이고 합계가 COP 1,500 이상인지도 확인하세요. Payment > Preferences에서 모듈이 COP, 고객의 국가, 고객의 그룹에 대해 허용되어 있는지 확인하세요.
결제는 완료되었지만 주문이 생성되지 않음: 이벤트 URL이 작동하지 않습니다. Wompi 대시보드에서 사용 중인 환경(샌드박스 또는 운영)에 이벤트 URL이 설정되어 있고 설정에 표시된 것과 정확히 같은지 확인하세요. 해당 환경의 이벤트 시크릿이 맞는 섹션에 있는지도 확인하세요. 고객이 결제 후 쇼핑몰로 돌아와도 주문이 생성됩니다.
이벤트 URL이 Not configured로 응답: 이벤트 환경의 이벤트 시크릿이 비어 있습니다. 설정에 붙여 넣으세요.
이벤트 URL이 Invalid signature로 응답: 이벤트 시크릿이 다른 환경 또는 다른 계정의 것입니다. Wompi 대시보드에서 다시 복사하세요.
이벤트 URL이 Transaction lookup failed로 응답: Wompi API가 거래를 반환하지 않았습니다. 예를 들어 잘못된 비공개 키나 네트워크 문제 때문일 수 있습니다. Wompi가 나중에 이벤트를 다시 보냅니다.
이벤트 URL이 Retry로 응답: 같은 시점에 다른 요청이 주문을 확인하고 있었거나, 주문을 생성할 수 없었습니다(예: 모듈이 비활성화됨). Wompi가 나중에 이벤트를 다시 보냅니다. 이유는 Log 필드를 확인하세요.
이벤트 URL이 Environment mismatch로 응답: 샌드박스 거래가 운영 결제 시도에 대해 들어왔거나 그 반대입니다. 샌드박스 결제는 운영 주문을 확정하지 않습니다.
이벤트 URL이 Unknown reference로 응답: 거래 참조 번호가 이 쇼핑몰에서 발급된 것이 아닙니다. 예를 들어 같은 Wompi 계정을 다른 쇼핑몰이 사용하고 있습니다. 다른 시스템의 참조 번호에는 Ignored로 응답합니다.
브라우저에서 webhook URL이 Method not allowed를 표시: 정상입니다. 이 URL은 Wompi의 요청만 받습니다.
저장할 때 키가 ...로 시작하지 않는다는 경고: 키가 잘못된 섹션에 붙여 넣어졌습니다. 샌드박스 키는 pub_test_, prv_test_, test_events_, test_integrity_로, 운영 키는 pub_prod_, prv_prod_, prod_events_, prod_integrity_로 시작합니다.
주문이 Wompi payment on hold 상태임: Wompi payment 블록의 메모를 읽고(주문 상태 참조), 그다음 Wompi 대시보드에서 주문을 처리하거나 결제를 환불하세요.
기타 오류: 모듈 페이지의 Log 필드와 주문의 Wompi notes를 확인하세요. 오류는 항상 기록됩니다. 더 자세한 내용은 Debug log를 켜세요.
제거
Modules > Module Manager로 이동하여 VibeFox Wompi Payment 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 제거됩니다. Delete data on uninstall이 켜져 있으면 모듈 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 설정이 유지됩니다. Wompi 결제 시도와 Awaiting Wompi payment, Wompi payment on hold 주문 상태는 항상 유지되므로, 재설치 후에도 오래된 결제의 늦은 이벤트를 인식합니다. 기존 주문은 결제 메모와 거래 ID를 그대로 유지합니다.
Wompi는 각 소유자의 상표입니다. 이 모듈은 Wompi와 제휴하거나 Wompi의 승인을 받은 것이 아닙니다.
