뒤로

VibeFox EveryPay for OpenCart — 도움말

요구 사항

OpenCart: 3.0.x (3.0.5.0에서 테스트됨) 또는 4.0.2 이상 (4.1.0.3에서 테스트됨).

PHP: 8.0 이상.

EveryPay 계정: 쇼핑몰의 API 사용자 이름, API 시크릿, 처리 계정(processing account) 이름이 필요합니다. 이 정보는 EveryPay Merchant Portal의 쇼핑몰 설정에 표시됩니다. 데모 포털(테스트 모드)과 운영 포털의 자격 증명은 별도입니다. 고객이 사용할 수 있는 결제 수단(카드, Apple Pay, Google Pay, 은행 링크)은 EveryPay 계정에서 활성화된 수단입니다.

통화: 하나의 처리 계정은 한 가지 통화로만 결제합니다. 계정 이름은 해당 통화 코드로 시작합니다. 예를 들어 EUR3D1은 유로로 결제합니다. EveryPay는 고객이 해당 통화로 결제할 때만 제공됩니다.

공개 웹사이트: 쇼핑몰의 콜백 URL은 인터넷에서 접근할 수 있어야 하며, 기본 인증이나 방화벽에 의해 차단되지 않아야 합니다.

VibeFox 라이선스 키: vibefox.net에서 구입합니다. 키 하나는 도메인 하나에서 사용할 수 있습니다.

설치

다운로드 파일은 두 OpenCart 버전용 패키지가 들어 있는 zip 파일 하나입니다. 컴퓨터에서 압축을 풀어 주세요. 내용은 README.txt, OpenCart 3용 패키지 wcp_everypay_payment-oc3-(version).ocmod.zip, OpenCart 4용 패키지 wcp_everypay_payment.ocmod.zip입니다. 사용 중인 OpenCart 버전에 맞는 패키지만 설치하세요. 라이선스 키는 두 버전에서 동일합니다.

OpenCart 3

1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고, wcp_everypay_payment-oc3-(version).ocmod.zip 파일을 선택하세요. 이 확장 기능에는 OCMOD 수정 사항이 없으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. 설치 도구 대신, 이 패키지의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.

2. Extensions > Extensions로 이동하여 유형으로 Payments를 선택하세요. VibeFox EveryPay Payment를 찾아 Install(녹색 + 버튼)을 클릭하세요. 관리자 사용자에게 결제 확장 기능 목록을 수정할 권한이 있어야 합니다.

3. Edit(연필 버튼)을 클릭하여 설정 페이지를 여세요. 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 붙여 넣고 Activate를 클릭하세요(라이선스 키 섹션 참조).

4. 데모 포털에서 받은 테스트 API 사용자 이름, 테스트 API 시크릿, 처리 계정 이름을 입력하세요. Callback notification URL을 Merchant Portal에 복사하세요(설정 섹션 참조).

5. Enable/Disable을 켜고 Save를 클릭하세요. 테스트 모드에서 테스트 주문을 한 후, 운영 자격 증명을 입력하고 Test Mode를 끄세요.

OpenCart 4

1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고, wcp_everypay_payment.ocmod.zip 파일을 선택하세요. 파일 이름을 바꾸지 마세요. OpenCart 4는 파일 이름에서 확장 기능 코드를 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.

2. 설치된 확장 기능 목록에 같은 페이지의 패키지가 나타납니다. 그 옆의 Install(녹색 + 버튼)을 클릭하세요.

3. Extensions > Extensions로 이동하여 유형으로 Payments를 선택하세요. VibeFox EveryPay Payment를 찾아 Install(녹색 + 버튼)을 클릭한 다음 Edit(연필 버튼)을 클릭하세요.

4. 라이선스 키, EveryPay 자격 증명, 콜백은 OpenCart 3의 3~5단계와 같이 입력하세요. 설정 페이지와 그 필드는 두 버전에서 동일합니다. 콜백 URL만 다릅니다(결제 알림(콜백) 참조).

새로 설치하면 결제 수단은 꺼진 상태이고 테스트 모드는 켜진 상태로 시작합니다.

설정

모든 설정은 확장 기능 페이지에 있습니다: Extensions > Extensions > Payments > VibeFox EveryPay Payment > Edit. 섹션은 왼쪽에 나열되며, 목록 아래의 Save 버튼은 페이지 전체를 저장합니다. 설정 위쪽에는 테스트 모드가 켜져 있는 동안 Test mode is on: payments go to the EveryPay demo environment, no real money is charged. 문구가 표시됩니다. 결제 수단은 활성화되어 있는데 현재 모드의 API 사용자 이름, API 시크릿 또는 처리 계정이 없으면(이 경우 결제 수단은 체크아웃에서 숨겨집니다), 그리고 처리 계정의 통화가 쇼핑몰의 기본 통화와 다르면 경고가 표시됩니다. 확장 기능을 수정할 권한이 없으면 페이지에 설정은 표시되지만 저장할 수 없습니다.

저장할 때 Title은 최대 128자여야 하고, Sort Order는 정수여야 하며, Total은 0 이상의 숫자여야 합니다. 또한 선택한 지역(Geo Zone)과 주문 상태가 존재해야 합니다. 그렇지 않으면 오류가 해당 항목을 알려 주며 아무것도 저장되지 않습니다. 사용자 이름, 시크릿, 계정 이름의 공백과 줄 바꿈은 제거됩니다.

EveryPay

Enable/Disable: Enable EveryPay payment gateway는 결제 수단을 켜거나 끕니다. 기본값: 꺼짐.

Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 최대 128자이며, 비워 두면 고객에게 EveryPay가 표시됩니다. 기본값: EveryPay.

Description: Confirm Order 단계에서 확인 버튼 위에 고객에게 표시되는 텍스트입니다. 기본값: Pay securely by card or bank link on the EveryPay payment page.

Sort Order: 체크아웃에서 결제 수단 중 EveryPay의 표시 위치입니다. 비워 두거나 정수를 입력하세요.

Geo Zone: 선택한 지역(Geo Zone)에 속한 결제 주소에 대해서만 EveryPay를 제공합니다. 기본값: All zones. 지역은 System > Localisation > Geo Zones에서 설정합니다.

Total: EveryPay를 제공하기 위해 주문이 도달해야 하는 체크아웃 합계 금액입니다(쇼핑몰 기본 통화 기준). 비워 두면 금액과 관계없이 EveryPay를 제공합니다.

EveryPay 계정

API 사용자 이름, API 시크릿, 처리 계정 이름은 EveryPay Merchant Portal(쇼핑몰 설정)에 표시됩니다. 테스트 모드에는 데모 포털을, 실제 결제에는 운영 포털을 사용하세요(이 섹션에 두 포털의 링크가 있습니다). 테스트 환경과 운영 환경의 자격 증명은 별도입니다.

Test Mode: 결제는 테스트 자격 증명을 사용하여 EveryPay 데모 환경으로 전송되며, 실제 금액은 청구되지 않습니다. 기본값: 켜짐. 실제 결제를 받으려면 운영 자격 증명을 사용하고 이 옵션을 끄세요. 켜져 있는 동안 고객은 Confirm Order 단계에서 TEST MODE: EveryPay demo environment, no real money is charged. 문구를 보게 됩니다.

Test API Username: 데모 환경의 API 사용자 이름입니다.

Test API Secret: 데모 환경의 API 시크릿입니다.

Live API Username: 운영 환경의 API 사용자 이름입니다.

Live API Secret: 운영 환경의 API 시크릿입니다.

Processing Account Name: EveryPay 처리 계정입니다(예: EUR3D1). 이 계정이 청구 통화를 정합니다. 결제 수단은 해당 통화의 주문에 대해서만 제공됩니다.

저장된 API 시크릿은 다시 표시되지 않습니다. 필드는 비어 있고 Saved — leave empty to keep it.가 표시됩니다. 값을 변경하려는 경우에만 새 값을 입력하세요. 저장된 시크릿을 삭제하려면 필드 아래의 Clear the saved API secret on save에 체크한 뒤 Save를 클릭하세요.

결제 알림(콜백)

콜백은 결제가 완료되었음을 쇼핑몰에 알려 주므로, 고객이 브라우저를 닫아도 주문이 확정됩니다. Callback notification URL에 표시된 URL을 데모 포털과 운영 포털 양쪽의 EveryPay Merchant Portal에 있는 쇼핑몰의 콜백 알림 URL 항목에 복사하세요. OpenCart 3에서 URL은 https://your-store/index.php?route=extension/payment/wcp_everypay_payment/callback과 같은 형식이고, OpenCart 4에서는 https://your-store/index.php?route=extension/wcp_everypay_payment/payment/wcp_everypay_payment.callback과 같은 형식이며,OpenCart 설치의 스토어프론트 주소로부터 만들어집니다. 설정 화면에 표시된 URL을 정확히 그대로 복사하세요.

콜백에는 결제 참조 정보만 포함됩니다. 확장 기능은 콜백만으로는 절대 신뢰하지 않습니다. 결제가 이루어진 모드의 자격 증명으로 EveryPay API에 결제 상태를 조회합니다. 이 쇼핑몰이 생성하지 않은 결제에 대한 콜백은 EveryPay에 어떠한 요청도 보내지 않고 거부됩니다. 쇼핑몰이 점검 모드일 때도 콜백은 작동합니다. OpenCart 3은 결제 확장 기능의 요청을 통과시키고, OpenCart 4에서는 확장 기능이 이를 위해 시작 액션(startup action)을 추가하기 때문입니다(고객이 쇼핑몰로 돌아올 때도 마찬가지입니다). 콜백이 없어도, 고객이 쇼핑몰로 돌아올 때 또는 주문 페이지에서 Check EveryPay payment status를 클릭할 때 주문은 상태를 받습니다.

주문

OpenCart는 Confirm Order 단계에서 상태 없이(누락된 주문) 주문을 생성합니다. 주문은 EveryPay가 API를 통해 결제를 확인한 후에만 상태를 받습니다. 아래의 각 항목에는 OpenCart 주문 상태 목록이 표시됩니다.

Order Status After Payment: 검증된 정산 또는 승인된 결제 후에 설정되는 주문 상태입니다. 기본값: 처리중.

Manual Review Status: 결제는 이루어졌지만 금액이나 통화가 주문과 다르거나, 그 사이에 주문이 취소되었거나, 주문이 다른 결제 수단을 사용하는 경우의 상태입니다. 메모에 이유가 기록되며, 주문은 결제 완료로 표시되지 않습니다. 기본값: 대기, OpenCart에는 On hold 상태가 없기 때문입니다. System > Localisation > Order Statuses에서 자체 상태를 만든 뒤 여기에서 선택할 수 있습니다.

Cancelled Order Status: 이 상태의 주문에 대해 결제가 도착하면, 주문을 결제 처리하는 대신 수동 검토 대상으로 표시합니다. 기본값: 취소.

고급

Debug log: 결제 이벤트를 OpenCart 로그 폴더(storage/logs)의 wc_evp_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없으며, 크기가 5 MB에 도달하면 wc_evp_debug.old.log.php로 이동됩니다. 오류와 경고는 항상 기록됩니다. API 시크릿, 이메일 주소, 카드 정보는 절대 기록되지 않습니다. 기본값: 꺼짐.

Log: 로그의 크기와 최신 항목을 표시합니다. Clear log를 클릭하면 로그를 비울 수 있습니다.

Delete data on uninstall: 켜면 확장 기능을 제거할 때 게이트웨이 설정과 로그가 삭제됩니다. 주문의 EveryPay 결제 데이터는 항상 유지됩니다. 기본값: 꺼짐.

가져오기 / 내보내기

Export: Download JSON은 설정을 JSON 파일로 저장합니다. API 시크릿은 내보내지지 않습니다.

Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정이 복원됩니다. 저장된 API 시크릿은 유지됩니다.

체크아웃

Payment Method 단계에서 고객은 결제 수단을 선택합니다(기본값은 EveryPay). Confirm Order 단계에서 고객은 설명과 You will be redirected to the secure EveryPay payment page. 안내 문구를 봅니다. OpenCart는 이 단계에서 상태 없이 주문을 생성합니다. OpenCart 4에서 고객은 결제 수단 블록의 Choose 버튼으로 Payment method options 창에서 결제 수단을 선택하고, 체크아웃 페이지 하단의 Confirm Order를 클릭합니다. 고객이 Confirm Order를 클릭하면 확장 기능은 주문 통화로 주문 합계에 대한 1회성 EveryPay 결제를 생성하고, 고객의 이메일과 결제 주소를 함께 전달한 뒤 고객을 EveryPay 결제 페이지로 보냅니다. 결제 페이지의 언어는 고객의 쇼핑몰 언어를 따릅니다(영어, 에스토니아어, 러시아어, 라트비아어, 리투아니아어, 핀란드어 또는 독일어이며, 그 밖에는 영어). 고객은 그곳에서 EveryPay 계정에서 활성화된 결제 수단 중 하나로 결제합니다.

결제 후 고객은 쇼핑몰로 돌아옵니다. 주문은 EveryPay가 확인한 뒤에만 결제 완료로 표시됩니다. 확장 기능은 고객이 돌아올 때와 콜백이 도착할 때 EveryPay API에 결제 상태를 조회합니다. 이후 주문은 일반적인 OpenCart 방식으로 상태를 받으며, 일반 주문 이메일과 재고 업데이트가 이루어지고, 고객은 OpenCart 주문 완료 페이지를 봅니다. EveryPay가 아직 결제를 처리 중이거나 이 순간 API에 연결할 수 없으면, Payment confirmation 페이지에 Your payment is being confirmed by EveryPay. You will receive an e-mail as soon as the order is confirmed. 문구와 Check again 버튼이 표시됩니다. 콜백은 EveryPay가 결제를 확인하는 즉시 주문 상태를 설정합니다.

결제에 실패하면 고객은 Your EveryPay payment was not successful. Please try again or choose another payment method. 메시지와 함께 체크아웃으로 돌아갑니다. 고객이 결제하지 않고 결제 페이지를 떠났다면 메시지는 The EveryPay payment was not completed. You can try again or choose another payment method.입니다. 장바구니는 유지되고 주문은 상태 없이 남습니다. OpenCart 4에서는 이 메시지가 체크아웃 페이지 위에 표시됩니다.

OpenCart 3은 Confirm Order 단계가 표시될 때마다 새 주문을 생성합니다. OpenCart 4는 체크아웃의 주문을 갱신하므로, 새 시도는 새 EveryPay 결제로 같은 주문을 결제합니다. EveryPay는 결제가 생성된 후에는 취소할 수 없습니다. 따라서 새 결제를 진행하기 전에 확장 기능은 EveryPay API로 이 주문과 같은 장바구니의 다른 주문들에 대해 열려 있는 결제 시도를 확인합니다. 그중 하나가 이미 결제되었거나 같은 장바구니의 다른 주문이 이미 결제되었다면, 고객은 두 번째 결제 없이 성공 페이지로 이동합니다. 모든 시도는 기록되므로, 이전 링크로 이루어진 결제도 인식됩니다. 고객이 같은 장바구니의 두 번째 주문을 (예를 들어 열려 있는 두 개의 브라우저 탭에서) 그래도 결제하면, 그 주문은 상태를 받지 않고, 고객은 주문 성공 페이지를 보며, 결제된 주문에는 두 번째 결제를 EveryPay Merchant Portal에서 환불하라는 메모가 추가됩니다.

OpenCart 4에서는 성공 페이지가 표시될 때까지 주문이 체크아웃에 유지됩니다. 그 사이에 결제 없이 해당 주문이 닫혔다면(예: 주문을 취소한 경우), 고객은 Your previous order was cancelled. Please confirm the order again. 메시지와 함께 체크아웃으로 돌아가며, 다음 Confirm Order에서 카트의 새 주문이 결제됩니다. 해당 주문이 이미 결제되었지만 그 이후 카트가 변경되었다면(수량 변경 포함), 메시지는 Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order.입니다. 결제된 주문이 다른 카트에 대해 결제 완료로 표시되는 일은 없습니다.

EveryPay가 결제를 시작할 수 없으면, 고객은 Confirm Order 단계에 머물며 버튼 위에 짧은 메시지를 보게 됩니다. 예를 들어 EveryPay is temporarily unavailable. Please try again in a moment or choose another payment method. 세부 내용은 로그에 있습니다.

이 확장 기능은 1회성 결제만 지원합니다. 쇼핑몰에서의 환불이나 승인 후 매입(capture)은 지원하지 않으며, 저장된 카드나 원클릭 결제도 없습니다. 구독이나 정기 결제, 내장 카드 입력란, 다중 통화도 지원하지 않습니다.

주문

주문 상태

No status (missing order): 고객이 EveryPay로 이동했지만 결제하지 않았거나, 결제에 실패했거나, 결제를 중도에 포기했거나, EveryPay가 아직 결제를 확인하지 않은 경우입니다. Sales > Orders에서 이러한 주문은 Order Status 필터를 Missing Orders로 설정했을 때만 표시됩니다.

Order Status After Payment (default Processing): EveryPay가 결제를 정산 또는 승인된 것으로 보고했습니다. 메모에는 금액, 통화, 결제 참조 번호가 표시됩니다. 승인된 결제의 경우, 메모에 자금이 예약되었다고 나타납니다. 계정이 자동으로 매입하지 않는다면 EveryPay Merchant Portal에서 결제를 매입(capture)하세요. 나중에 정산되면 그 사실을 알리는 메모가 하나 추가됩니다.

Manual Review Status (default Pending): 결제에 수동 검토가 필요합니다. 결제된 금액이나 통화가 주문과 다르거나, 결제가 도착하기 전에 주문에 Cancelled Order Status가 설정되어 있었거나, 주문이 현재 다른 결제 수단을 사용하고 있는 경우입니다. 메모에 이 내용이 설명되며, 주문이 결제 완료로 표시되지 않았다고 알려 줍니다. Merchant Portal에서 결제를 확인한 뒤 주문을 수동으로 처리하거나 환불하세요. 이 결제에 대한 이후의 콜백은 주문을 자동으로 완료하지 않습니다. 다만 같은 주문의 다른 시도에서 올바른 결제가 이루어지면 주문은 결제 완료됩니다.

이미 결제 완료된 주문에 대해 두 번째 결제가 완료되어도 주문은 변경되지 않습니다. 메모는 중복 결제를 EveryPay Merchant Portal에서 환불하라고 요청합니다. 메모는 고객에게 보이지 않는 주문의 History 항목입니다.

VibeFox EveryPay Payment 탭

Sales > Orders에서 EveryPay로 결제된 주문을 여세요. 주문 페이지 하단, History와 Additional 옆에 있는 VibeFox EveryPay Payment 탭에는 각 시도의 EveryPay payments of this order가 표시됩니다: Payment reference, Order reference, Mode(테스트 또는 운영), Amount, EveryPay state, Result, Date. 그 아래에는 주문의 EveryPay notes가 있습니다. 이 탭은 확장 기능에 접근 권한이 있는 사용자에게 표시됩니다.

Check EveryPay payment status: 탭의 버튼은 주문의 모든 EveryPay 결제에 대해, 최신순으로, 각 모드의 자격 증명을 사용하여 API에서 상태를 읽고, 위에서 설명한 대로 결과를 반영한 다음, 각 결제의 상태를 나열한 메모를 하나 추가합니다. 그 후 탭이 다시 로드됩니다. 주문을 수정할 권한이 필요합니다(System > Users > User Groups). 확장 기능을 수정할 권한은 필요하지 않습니다. 콜백이 한 번도 도착하지 않았을 때 사용하세요(예를 들어 나중에 이루어진 매입이나 환불을 확인하려는 경우). 이 버튼으로 설정된 상태는 체크아웃의 주문 이메일과 재고 업데이트 없이, 관리자 화면에서 수동으로 상태를 변경한 것처럼 기록됩니다.

환불

쇼핑몰에서의 환불과 매입(capture)은 지원하지 않습니다. EveryPay Merchant Portal에서 환불한 뒤, OpenCart에서 주문 상태를 업데이트하세요. EveryPay가 결제를 환불되었거나 차지백(이의 제기로 인한 환불)되었다고 보고하면, 확장 기능은 주문에 메모만 추가하며 주문 상태는 변경되지 않습니다. Sales > Returns의 제품 반품은 EveryPay를 통해 돈을 돌려주지 않습니다.

라이선스 키

이 확장 기능은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox EveryPay Payment는 Extensions > Extensions > Payments > VibeFox EveryPay Payment > Edit 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 그러면 블록에 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 다음 버튼들이 표시됩니다. 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key입니다. 그 아래에는 Product: opencart-payment-everypay 줄과, 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 계정에서 슬롯을 해제하세요.

유효한 키가 없으면 EveryPay는 체크아웃에서 고객에게 표시되지 않습니다. 그럼에도 결제가 시작되면 고객은 This payment method is not available. Please choose another one. 메시지를 봅니다. 같은 브라우저에서 관리자 화면에 로그인한 관리자 사용자는 쇼핑몰에서 결제 수단을 여전히 볼 수 있으며, (unlicensed — visible to admins only) 표시가 붙습니다. 따라서 키를 구입하기 전에 확장 기능을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리 보기를 사용할 수 없습니다. 쇼핑몰이 관리자 로그인을 인식하지 못하므로, 활성 키가 없으면 결제 수단이 모든 사용자에게 숨겨집니다. Edit 페이지를 한 번 연 후에는 관리자 화면의 Dashboard에 알림이 나타납니다. ×를 클릭하면 7일 동안 숨겨집니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 계속 확인됩니다.

라이선스가 만료되어도 확장 기능은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신해야 합니다. 관리자 화면의 Dashboard 또는 Edit 페이지를 열 때 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안에는 하루에 한 번, 그 이후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 확장 기능을 제거하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.

문제 해결

EveryPay does not appear at checkout: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드의 API 사용자 이름, API 시크릿, Processing Account Name이 설정되어 있는지, 그리고 고객이 처리 계정의 통화로 결제하는지 확인하세요. 이런 경우에는 설정 페이지에 경고가 표시됩니다. 또한 결제 주소가 선택한 Geo Zone에 있는지, 주문이 설정의 Total에 도달하는지도 확인하세요.

The payment went through, but the order stays without a status: 콜백이 작동하지 않습니다. 사용 중인 모드(데모 또는 운영)의 Merchant Portal에 Callback notification URL의 URL이 설정되어 있는지, 그리고 그 URL이 인터넷에서 열리는지 확인하세요. 주문은 고객이 결제 후 쇼핑몰로 돌아올 때도 상태를 받습니다. 확장 기능 페이지의 Log 필드를 확인하세요. 오류는 항상 기록됩니다.

Callback answers Unknown payment, Unknown payment reference, Payment cannot be verified or Payment does not belong to this order: 결제가 이 쇼핑몰에서 또는 이 주문을 위해 생성되지 않았거나, EveryPay의 응답이 결제와 일치하지 않습니다. 아무것도 변경되지 않습니다.

Callback answers Missing or invalid payment_reference: 요청에 유효한 결제 참조 번호가 없었습니다. 예를 들어 URL을 브라우저에서 직접 연 경우입니다.

Callback answers Not configured: 결제가 생성된 환경의 자격 증명이 없습니다. 예를 들어 테스트 자격 증명을 삭제한 후의 테스트 결제입니다. 자격 증명을 다시 입력하세요. EveryPay가 콜백을 다시 시도합니다.

Callback answers Payment status unavailable, Busy, please retry or Processing error, please retry: EveryPay API에 연결할 수 없었거나, 같은 시점에 다른 요청이 주문을 처리하고 있었거나, 처리에 실패했습니다. 원인은 로그에 있습니다. EveryPay가 콜백을 다시 시도합니다.

The customer sees This payment method is not available right now: 현재 모드의 자격 증명이나 처리 계정이 없습니다.

The customer sees EveryPay is temporarily unavailable or Unable to start the EveryPay payment: EveryPay가 자격 증명을 거부했거나 연결할 수 없었습니다. 현재 모드의 API 사용자 이름과 API 시크릿을 확인하세요.

The customer sees This payment method does not support the order currency: 주문 통화가 처리 계정의 통화와 다릅니다.

The customer stays on the Payment confirmation page: EveryPay가 아직 결제를 완료하지 않았습니다. 주문은 콜백으로 상태를 받거나, EveryPay가 결제를 확인한 후 고객이 Check again을 클릭하면 상태를 받습니다.

Order is in the review status: VibeFox EveryPay Payment 탭의 EveryPay notes를 읽으세요. 금액이나 통화가 맞지 않았거나, 결제가 도착하기 전에 주문이 취소되었거나, 다른 결제 수단을 사용하고 있습니다. Merchant Portal에서 결제를 확인한 뒤 주문을 수동으로 처리하거나 환불하세요.

개발자용: 결제가 생성되기 전에 확장 기능은 OpenCart 이벤트 wc_evp_oneoff_request(결제 요청 변경)와 wc_evp_locale(결제 페이지 언어 변경)을 트리거합니다.

제거

Extensions > Extensions로 이동하여 유형으로 Payments를 선택한 뒤, VibeFox EveryPay Payment 옆의 Uninstall(빨간색 − 버튼)을 클릭하세요. 이 확장 기능의 라이선스 키와 라이선스 상태는 항상 제거됩니다. OpenCart는 확장 기능 자체의 설정을 항상 제거합니다. 즉, Enable/Disable, Sort Order, Geo Zone, Total과 Orders 섹션의 주문 상태들이며, 이 설정들은 재설치 시 기본값으로 돌아갑니다. OpenCart 4에서는 확장 기능의 이벤트(체크아웃 메시지)와, 점검 모드에서도 콜백과 고객의 복귀를 통과시키는 시작 액션(startup action)도 제거됩니다. Advanced의 Uninstall 스위치가 켜져 있으면, 나머지 게이트웨이 설정(제목, 설명, 테스트 모드, 자격 증명, 처리 계정, 디버그 로그)과 로그가 제거됩니다. 꺼져 있으면 나중에 재설치할 때 사용하도록 유지됩니다. 주문의 EveryPay 결제 데이터는 항상 유지되므로, 재설치 후에도 오래된 주문에 대한 지연된 콜백이 계속 작동합니다. 기존 주문은 결제 메모를 그대로 보관합니다.

OpenCart 4에서 파일도 삭제하려면, 제거 후 Extensions > Installer로 이동하여 설치된 확장 기능 목록에서 VibeFox EveryPay Payment 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, 업로드한 패키지를 삭제하려면 Delete(빨간색 휴지통 버튼)를 클릭하세요.

EveryPay는 각 소유자의 상표입니다. 이 확장 기능은 EveryPay와 제휴하거나 EveryPay의 승인을 받지 않았습니다.