VibeFox TrustPay for OpenCart — 도움말
요구 사항
OpenCart: 3.0.x(3.0.5.0에서 테스트됨) 또는 4.0.2 이상(4.1.0.3에서 테스트됨).
PHP: 8.0 이상.
finby(TrustPay) 계정: finby Merchant Portal에 Project ID와 Secret key가 있는 프로젝트가 필요합니다. 테스트 결제에는 자체 Project ID와 Secret key를 가진 별도의 테스트(playground) 프로젝트가 필요합니다. 다른 키는 필요하지 않습니다. Secret key는 API 접근 권한을 얻는 데도, 결제 알림의 서명을 확인하는 데도 사용됩니다.
접근 가능한 알림 URL: finby가 인터넷을 통해 쇼핑몰에 접근할 수 있어야 합니다. 쇼핑몰 앞의 방화벽, 유지 관리 로그인 또는 HTTP 인증은 결제 알림을 차단합니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
다운로드는 두 OpenCart 버전용 패키지가 들어 있는 하나의 zip 파일입니다. 컴퓨터에서 압축을 푸십시오. 여기에는 README.txt, OpenCart 3 패키지 wcp_trustpay_gateway-oc3-(version).ocmod.zip, OpenCart 4 패키지 wcp_trustpay_gateway.ocmod.zip이 들어 있습니다. 사용 중인 OpenCart 버전의 패키지만 설치하십시오. 라이선스 키는 두 버전에서 동일합니다.
OpenCart 3
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 파일 wcp_trustpay_gateway-oc3-(version).ocmod.zip을 선택합니다. 이 확장 기능에는 OCMOD 수정 사항이 없으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. 설치 도구 대신 이 패키지의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.
2. Extensions > Extensions로 이동하여 유형 Payments를 선택합니다. VibeFox TrustPay Gateway를 찾아 Install(녹색 + 버튼)을 클릭합니다. 관리자 사용자에게 결제 확장 기능 목록을 수정할 권한이 있어야 합니다.
3. Edit(연필 버튼)를 클릭하여 설정 페이지를 엽니다. 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다(라이선스 키 참조).
4. 테스트 프로젝트의 Project ID와 Secret key를 입력하고, 실제 결제를 위해서는 실서비스 프로젝트의 값도 입력합니다(설정 항목 참조). 알림 URL은 모든 결제와 함께 전송되므로 Merchant Portal에서 따로 설정할 것은 없습니다.
5. Enable / Disable을 켜고 Save를 클릭합니다. Test mode를 켠 상태에서 테스트 결제를 진행한 다음, Test mode를 꺼서 실제 결제를 받습니다.
OpenCart 4
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 파일 wcp_trustpay_gateway.ocmod.zip을 선택합니다. 파일 이름을 바꾸지 마십시오. OpenCart 4는 파일 이름에서 확장 기능 코드를 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.
2. 패키지는 같은 페이지의 설치된 확장 기능 목록에 나타납니다. 그 옆의 Install(녹색 + 버튼)을 클릭하십시오.
3. Extensions > Extensions로 이동하여 유형 Payments를 선택하고, VibeFox TrustPay Gateway를 찾아 Install(녹색 + 버튼)을 클릭한 다음 Edit(연필 버튼)을 클릭합니다.
4. 라이선스 키와 finby 프로젝트 값은 OpenCart 3의 3~5단계와 같이 입력합니다. 설정 페이지와 그 필드는 두 버전에서 동일합니다. 알림 URL만 다릅니다(설정 항목 참조).
새로 설치하면 결제 수단은 꺼져 있고 테스트 모드는 켜져 있는 상태로 시작합니다.
설정
모든 설정은 확장 기능 페이지에 있습니다: Extensions > Extensions > Payments > VibeFox TrustPay Gateway > Edit. 섹션은 왼쪽에 나열되며, 목록 아래의 Save 버튼은 페이지 전체를 저장합니다. 설정 위쪽에는 결제 수단이 켜져 있는데 현재 모드의 Project ID 또는 Secret key가 비어 있거나 쇼핑몰의 기본 통화가 지원되지 않는 경우 경고가 표시됩니다. 두 경우 모두 결제 수단은 체크아웃에서 숨겨집니다. 확장 기능을 수정할 권한이 없으면 페이지에 설정은 표시되지만 저장할 수는 없습니다.
저장할 때 Title은 비어 있거나 128자를 넘으면 안 되고, Sort order는 정수여야 하며(음수 허용), Minimum total은 0 이상의 숫자여야 하고, 선택한 지역(Geo Zone)과 주문 상태가 존재해야 합니다. 그렇지 않으면 아무것도 저장되지 않으며 페이지에 메시지가 표시됩니다. Project ID에는 숫자만 입력할 수 있습니다. 다른 값을 저장하려고 하면 페이지에 must contain digits only — the previous value was kept.가 표시되고, 다른 필드는 저장됩니다.
TrustPay / finby
Enable / Disable: Enable TrustPay / finby card payments. 결제 수단을 켜거나 끕니다. 기본값: 꺼짐.
Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Card payment (TrustPay). 필수 항목이며 최대 128자입니다.
Description: 고객이 Confirm Order 단계에서 확인 버튼 위에 보는 텍스트입니다. 기본값: Pay securely by card on the TrustPay / finby payment page.
Sort order: 체크아웃에서 결제 수단의 위치입니다. 비워 두거나 정수를 입력합니다(음수 허용).
Geo zone: 선택한 지역 안에 결제 주소가 있는 경우에만 결제 수단을 제공합니다. 기본값: All zones. 지역은 System > Localisation > Geo Zones에서 설정합니다.
Minimum total: 결제 수단이 제공되기 위해 주문이 도달해야 하는, 쇼핑몰 기본 통화 기준의 체크아웃 합계입니다. 최소 금액이 없으면 비워 둡니다.
API 자격 증명
finby(TrustPay) Merchant Portal에서 프로젝트의 Project ID와 Secret key를 복사합니다. 이 섹션에는 Merchant Portal로 이동하는 링크가 있습니다. 테스트 결제는 자체 Project ID와 Secret key를 가진 별도의 테스트(playground) 프로젝트를 사용합니다. 그곳에서는 실제 금액이 청구되지 않습니다.
Test mode: 테스트 프로젝트를 사용합니다(실제 결제 없음). 새 결제와 환불은 테스트 자격 증명을 사용합니다. 주문의 환불은 항상 주문이 결제된 프로젝트로 처리됩니다. 기본값: 켜짐. 켜져 있는 동안 고객은 Confirm Order 단계에서 Test mode: no real payment will be taken.를 보게 됩니다.
Live Project ID: 실서비스 프로젝트의 숫자형 Project ID입니다.
Live Secret key: 실서비스 프로젝트의 Secret key입니다. API 접근 토큰을 얻고 결제 알림을 확인하는 데 사용됩니다.
Test Project ID: 테스트(playground) 프로젝트의 숫자형 Project ID입니다.
Test Secret key: 테스트 프로젝트의 Secret key입니다.
Secret key는 입력한 그대로 저장되며, 앞뒤 공백만 제거됩니다. 저장된 Secret key는 다시 표시되지 않습니다. 필드는 비어 있으며 Saved — leave empty to keep it.가 표시됩니다. 값을 바꾸고 싶을 때만 새 값을 입력합니다. 설정을 저장하면 캐시된 API 접근 토큰도 삭제되므로 새 자격 증명이 즉시 사용됩니다.
Clear saved secrets: Secret key를 선택한 다음 Save를 클릭하면 삭제됩니다. 빈 필드는 저장된 값을 유지합니다.
주문 상태
OpenCart는 Confirm Order 단계에서 주문을 상태 없이 생성합니다(누락된 주문). 주문은 finby가 서명된 알림으로 확인한 후에야 상태를 받습니다. 아래의 각 필드에는 OpenCart 주문 상태 목록이 표시됩니다. OpenCart에는 대기 중이거나 보류된 TrustPay 결제를 위한 고유 상태가 없으므로, 두 경우 모두 기본값으로 대기 중을 사용합니다. 주문 메모와 주문 탭에서 둘을 구분할 수 있습니다. 자체 상태는 System > Localisation > Order Statuses에서 만들고 여기서 선택할 수 있습니다.
Order status after payment: 결제 완료 주문의 상태입니다. 기본값: 처리 중. 결제 완료된 주문을 바로 완료 처리하려면 완료를 선택합니다. 상태는 한 번의 단계로 설정되므로 고객은 이메일을 한 통만 받습니다.
Awaiting TrustPay payment: finby가 최신 결제를 대기 중으로 보고한 상태입니다. finby가 결제를 확인하면 주문은 결제 완료 상태로 이동합니다. 기본값: 대기 중.
TrustPay payment on hold: 결제가 승인만 되고 매입되지 않았거나(Merchant Portal에서 매입 필요), 결제된 금액 또는 통화가 결제 요청이나 주문 합계와 다른 경우입니다. 기본값: 대기 중.
Payment error: finby가 대기 중인 주문의 최신 결제를 거절한 경우입니다. 이후에 확인된 결제가 있으면 주문은 여전히 결제 완료 상태로 이동합니다. 기본값: 실패.
Cancelled order status: 확장 기능은 이 상태를 설정하지 않습니다. 이 상태의 주문은 나중에 도착한 결제로 다시 열리지 않으며, 메모가 추가됩니다. 기본값: 취소됨.
Refunded order status: 주문 페이지에서 전액 환불을 한 후 설정됩니다. 기본값: 환불됨.
결제 알림
주문은 finby가 서명된 알림으로 확인한 후에만 결제 완료로 표시됩니다. 확장 기능은 모든 결제와 함께 알림 URL을 자동으로 보내므로 따로 설정할 필요가 없습니다. 이 섹션에는 Notification URL 아래에 URL이 표시됩니다. URL은 OpenCart 3에서 https://your-store/index.php?route=extension/payment/wcp_trustpay_gateway/callback, OpenCart 4에서 https://your-store/index.php?route=extension/wcp_trustpay_gateway/payment/wcp_trustpay_gateway.callback와 같은 형태이며, OpenCart 설치의 쇼핑몰 주소로부터 만들어집니다. Merchant Portal에서 프로젝트의 알림 URL로 입력할 수도 있습니다. 유효한 서명이 없는 알림은 거부됩니다. 이 URL은 쇼핑몰이 유지 관리 모드일 때도 작동합니다(OpenCart 4에서는 확장 기능의 시작 동작이 알림과 고객의 복귀를 통과시킵니다).
확장 기능은 스스로 finby에 결제 상태를 조회하지 않습니다. 알림이 쇼핑몰에 도달하지 못하면 finby가 전달할 때까지 주문은 상태 없이 남아 있습니다. finby는 알림을 다시 보냅니다.
고급
Debug logging: API 요청과 알림을 OpenCart 로그 폴더(storage/logs, OpenCart 4에서는 system/storage/logs)의 trustpay_p_debug.log.php에 추가합니다. 이 파일은 웹에서 열 수 없습니다. 이 옵션이 꺼져 있어도 오류는 항상 기록됩니다. 로그에는 키, 토큰, 카드 데이터, 고객 정보가 포함되지 않습니다. 기본값: 꺼짐.
Log: 로그의 크기와 최근 항목을 보여 줍니다. Clear log를 클릭하면 로그를 비울 수 있습니다.
Delete data on uninstall: 켜져 있으면 확장 기능을 제거할 때 확장 기능 설정과 로그가 삭제됩니다. 주문 데이터는 유지됩니다: 주문, TrustPay 결제 기록, 환불. 기본값: 꺼짐.
가져오기 / 내보내기
Export: Download JSON은 설정을 JSON 파일로 저장합니다. Secret key는 내보내지 않습니다.
Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정이 복원됩니다. 저장된 Secret key는 유지됩니다.
체크아웃
Payment Method 단계에서 고객은 결제 수단을 선택합니다(기본값 Card payment (TrustPay)). 고객의 통화가 지원되는 통화(EUR, CZK, HUF, GBP, PLN, NOK, SEK, DKK, BGN, RON, CHF, USD) 중 하나인 경우에만 제공됩니다. Confirm Order 단계에서 고객은 쇼핑몰의 설명과 You will be redirected to the secure TrustPay / finby payment page to pay by card. 안내를 봅니다. OpenCart는 이 단계에서 주문을 생성하며, 여전히 상태는 없습니다. OpenCart 4에서는 고객이 Payment method options 창에서 결제 수단 블록의 Choose 버튼으로 결제 수단을 고르고, 체크아웃 페이지 하단의 Confirm Order를 클릭합니다.
고객이 Confirm Order를 클릭하면 확장 기능은 finby에 주문 통화로 된 주문 합계에 대한 카드 결제 요청을 생성합니다. HUF 금액은 소수점 없이 전송됩니다. 고객의 이름, 주소, 이메일은 3-D Secure를 위해 전송되며, OpenCart 주문 번호는 참조 번호로 전송됩니다. 카드 결제에는 주소가 필요합니다. 상세 주소, 도시, 우편번호 또는 국가가 빠져 있으면 고객에게 Please enter your billing address (street, city, postcode and country) — it is required for card payments.가 표시됩니다. OpenCart 4는 기본적으로 결제 주소를 묻지 않으므로, 빠진 항목은 배송 주소에서 가져옵니다. 고객은 finby 결제 페이지로 리디렉션되어 그곳에서 카드로 결제합니다. 페이지는 finby가 지원하는 경우 쇼핑몰 언어로, 지원하지 않으면 영어로 열립니다.
결제 후 고객은 쇼핑몰로 돌아옵니다. 주문은 finby가 서명된 알림으로 확인한 후에만 결제 완료로 표시됩니다. 돌아오는 동작 자체는 결제 상태를 절대 바꾸지 않습니다. 알림이 이미 도착했다면 고객은 OpenCart 주문 성공 페이지를 보게 됩니다. 도착하지 않았다면 Payment confirmation 페이지에 TrustPay / finby is confirming your card payment. Your order is confirmed as soon as the payment is confirmed, and you will receive an e-mail — there is no need to pay again.가 표시됩니다. 이 페이지에는 Check again 버튼과 Back to checkout 버튼이 있습니다. 주문이 대기 중 또는 보류 상태인 동안 성공 페이지에는 Your card payment is being confirmed by TrustPay / finby. You will receive an e-mail as soon as it is confirmed — there is no need to pay again.가 표시됩니다. 대기 중이거나 보류 중인 주문이 나중에 결제되거나 finby가 결제를 거절하면, 고객은 새 주문 상태에 대한 이메일을 받습니다. finby가 결제를 거절했거나 결제되지 않은 주문이 취소되었다면 성공 페이지에는 Your card payment was not completed. Please contact us about this order.가 표시됩니다. OpenCart 4에서는 고객이 finby 결제 페이지에서 돌아올 때 짧은 중간 페이지가 쇼핑몰의 복귀 주소를 다시 열어, 장바구니와 고객 로그인이 유지됩니다.
고객이 결제 페이지에서 취소하면 The card payment was cancelled. You can try again or choose another payment method.와 함께 체크아웃으로 돌아갑니다. 결제 페이지가 오류를 반환하거나 finby가 이미 결제를 거절한 경우 메시지는 The card payment was not completed. Please try again or choose another payment method.입니다. 장바구니는 유지되며 고객은 다시 결제할 수 있습니다. OpenCart 4에서는 이 메시지들이 체크아웃 페이지 위에 표시됩니다.
OpenCart 3는 Confirm Order 단계가 표시될 때마다 새 주문을 만들고, OpenCart 4는 체크아웃의 주문을 업데이트합니다. 하나의 장바구니는 하나의 주문으로만 결제됩니다. 장바구니의 주문 중 하나에 TrustPay 상태가 붙으면, 장바구니를 다시 확인해도 두 번째 결제가 아니라 성공 페이지로 이동합니다. 수량 변경을 포함하여 장바구니가 바뀌면 자체 결제가 필요한 새 장바구니로 간주됩니다.
OpenCart 4는 성공 페이지가 표시될 때까지 주문을 체크아웃에 유지합니다. 결제가 취소되었거나 실패한 후 고객은 새 finby 결제 요청으로 같은 주문을 결제합니다. 그사이 그 주문이 마감되었다면 고객은 체크아웃으로 돌아가고, 다음 Confirm Order에서 새 주문을 결제합니다. 거절된 결제나 취소된 미결제 주문 후에는 The card payment was not completed. Please try again or choose another payment method.가, 그 밖의 경우(예: 쇼핑몰에서 주문을 취소하거나 환불한 경우)에는 Your previous order was cancelled or refunded by the store. Please confirm the order again to pay with a new order.가 표시됩니다.
finby가 결제를 시작할 수 없으면 고객은 Confirm Order 단계에 머물고, 버튼 위에 We could not start the card payment. Please try again in a moment or choose another payment method.가 표시됩니다. 기술적인 원인은 로그에 기록됩니다.
이 확장 기능은 finby 페이지에서 한 단계로 이루어지는 구매로서 카드 결제만 받습니다. 계좌 이체나 기타 finby 결제 수단, 쇼핑몰의 Apple Pay 또는 Google Pay 버튼, 카드 저장, 구독이나 정기 결제, 승인과 매입의 분리, 상태 폴링은 지원하지 않습니다.
주문 및 환불
주문 상태
상태 없음(누락된 주문): 고객이 finby로 이동했지만 결제하지 않았거나, 알림이 아직 도착하지 않은 경우입니다. Sales > Orders에서 이런 주문은 Order Status 필터를 Missing Orders로 설정한 경우에만 표시됩니다. OpenCart 4.1에서는 이런 주문이 Voided 상태를 가질 수도 있습니다. 이는 확인 단계가 다시 표시될 때 OpenCart가 설정하는 상태이며, 확장 기능은 이를 상태 없는 주문으로 취급합니다.
결제 후 주문 상태(기본값 처리 중): finby가 결제를 확인했고, 금액과 통화가 결제 요청 및 주문 합계와 일치합니다. 메모에는 금액, 결제 요청, 프로젝트(테스트 또는 실서비스)가 표시됩니다.
TrustPay 결제 대기 중(기본값 대기 중): finby가 최신 결제를 대기 중으로 보고했습니다. finby가 결제를 확인하면 주문은 결제 완료 상태로 이동합니다.
TrustPay 결제 보류(기본값 대기 중): 두 가지 경우에 설정됩니다. 결제가 승인만 되고 매입되지 않은 경우에는 finby Merchant Portal에서 매입하거나 취소한 후 주문을 업데이트하십시오. 또는 결제된 금액이나 통화가 결제 요청이나 주문 합계와 다른 경우에는 배송 전에 결제를 확인하십시오. 메모에 상황이 설명되어 있습니다. 금액은 이미 받은 상태이므로 환불이 가능합니다.
결제 오류(기본값 실패): finby가 대기 중인 주문의 최신 결제를 거절했습니다. finby가 사유를 보낸 경우 메모에 사유가 표시됩니다. 이후에 확인된 결제가 있으면 주문은 여전히 결제 완료 상태로 이동합니다.
환불된 주문 상태(기본값 환불됨): 확장 기능을 통해 결제가 전액 환불되었습니다.
취소되었거나 환불된 주문은 나중에 도착한 결제로 다시 열리지 않습니다. 메모에는 주문을 복원하거나 Merchant Portal에서 결제를 환불하라는 안내가 표시됩니다. 이미 결제된 주문에 두 번째 결제가 도착하거나, 이미 결제된 주문이 있는 장바구니의 다른 주문에 결제가 도착하면, 주문은 변경되지 않고 메모에 Merchant Portal에서 중복 결제를 환불하라는 안내가 표시됩니다. finby가 보고한 차지백과 분쟁은 메모로 추가됩니다.
메모는 고객이 보지 못하는 주문 History의 항목입니다. 메모는 쇼핑몰의 기본 언어로 작성됩니다.
VibeFox TrustPay Gateway tab
Sales > Orders에서 TrustPay로 결제된 주문을 엽니다. 주문 페이지 하단, History와 Additional 옆에 있는 VibeFox TrustPay Gateway 탭에는 Payment request ID, Payment ID, 테스트 결제에 대한 Test project 배지가 붙은 Project, Status, Requested / paid 및 Paid / refunded 금액, 환불 양식, 환불 내역, Payment requests of this order, TrustPay notes가 표시됩니다. 이 탭은 확장 기능에 접근 권한이 있는 사용자에게 표시됩니다.
환불
VibeFox TrustPay Gateway 탭에서 Amount를 입력합니다(아직 환불되지 않은 금액이 자동으로 채워집니다). 필요하면 Reason (optional)을 입력하고 Refund via TrustPay를 클릭합니다. Refund this amount through TrustPay? This cannot be undone. 질문을 확인하십시오. 전액 환불과 부분 환불을 지원합니다. 확장 기능을 수정할 권한이 있어야 합니다(System > Users > User Groups에서 설정). 환불은 finby가 결제에 대해 보고한 금액과 통화로 이루어집니다. 따라서 금액 불일치가 있었다면 주문 합계가 아니라 고객이 실제로 결제한 금액까지 환불할 수 있습니다. HUF 환불은 정수 금액이어야 합니다.
환불은 그 후에 모드를 바꾸었더라도 주문이 결제된 프로젝트(테스트 또는 실서비스)로 전송됩니다. 해당 프로젝트의 Project ID와 Secret key가 설정되어 있어야 하며, Project ID가 바뀌지 않았어야 합니다. 환불은 finby가 승인한 경우에만 기록됩니다. 그렇지 않으면 탭에 TrustPay refused the refund:와 사유가 표시되며, 환불은 기록되지 않습니다. 환불이 성공하면 환불 내역과 메모에 추가됩니다. 전액 환불은 고객에게 알리지 않고, 상품을 재고로 되돌리지도 않은 채 주문을 Refunded order status로 설정합니다. 이는 수동 상태 변경과 같습니다. 부분 환불은 상태를 바꾸지 않습니다.
Sales > Returns의 상품 반품은 finby를 통해 돈을 돌려주지 않습니다. finby Merchant Portal에서 진행한 환불은 환불로 기록되지 않습니다. finby가 이에 대한 알림을 보내면 메모로 추가되며 주문 상태는 바뀌지 않습니다.
라이선스 키
이 확장 기능은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox TrustPay Gateway는 Extensions > Extensions > Payments > VibeFox TrustPay Gateway > Edit의 첫 번째 블록이며, 설정 위에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key 버튼이 표시됩니다. 그 아래에는 Product: opencart-payment-trustpay 줄과 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 계정에서 자리를 비우십시오.
유효한 키가 없으면 체크아웃에서 고객에게 카드 결제가 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one.를 보게 됩니다. 같은 브라우저에서 관리자 화면에 로그인한 관리자 사용자에게는 결제 수단이 쇼핑몰에 (unlicensed — visible to admins only) 표시와 함께 계속 보이므로, 키를 구입하기 전에 확장 기능을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리보기를 쓸 수 없습니다. 쇼핑몰은 관리자 로그인을 볼 수 없으므로, 유효한 키가 없으면 결제 수단이 모두에게 숨겨집니다. Edit 페이지를 한 번 열면 관리자 Dashboard에 알림이 나타납니다. ×로 닫으면 7일 동안 숨겨집니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 TrustPay 알림과 쇼핑몰로의 복귀를 통해 계속 확인되며, 환불도 작동합니다.
라이선스가 만료되어도 확장 기능은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 관리자 Dashboard 또는 Edit 페이지를 열면 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 확장 기능을 제거하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
Card payment (TrustPay)이 체크아웃에 나타나지 않음: 라이선스가 활성 상태인지, Enable / Disable이 켜져 있는지, 현재 모드에 Project ID와 Secret key가 있는지 확인하십시오. 테스트 모드에서는 Test Project ID와 Test Secret key, 실서비스 모드에서는 Live Project ID와 Live Secret key입니다. 고객의 통화가 지원되는 통화 중 하나여야 합니다. 자격 증명이 없거나 기본 통화가 지원되지 않으면 설정 페이지에 경고가 표시됩니다. 또한 결제 주소가 선택한 Geo zone에 있고 주문이 Minimum total에 도달했는지 확인하십시오.
결제는 되었지만 주문에 상태가 없음: 알림이 쇼핑몰에 도달하지 않았습니다. Notification URL 아래에 표시된 URL이 인터넷에서 접근 가능한지(방화벽, 유지 관리 로그인, HTTP 인증이 없는지) 확인하십시오. finby는 알림을 다시 보내며, 알림이 도착하면 주문이 상태를 받습니다. 오류는 항상 로그에 기록되므로 확장 기능 페이지의 Log 항목을 확인하십시오.
로그에 Notification rejected: invalid signature or unknown project가 표시됨: 알림이 Project ID가 설정에 없는 프로젝트에서 왔거나, 해당 프로젝트의 Secret key가 잘못되었습니다. 쇼핑몰은 Invalid signature로 응답하며 아무것도 바뀌지 않습니다. 결제가 이루어진 모드의 Project ID와 Secret key를 확인하십시오.
로그에 Notification ignored가 표시됨: 알림이 이 쇼핑몰이 해당 주문에 대해 만들지 않은 결제 요청에 속하거나, 결제를 시작한 것과 다른 프로젝트 또는 모드에 속합니다. 아무것도 바뀌지 않습니다.
알림에 Busy, retry later 또는 Temporary error로 응답함: 같은 순간에 다른 알림이 장바구니를 업데이트하고 있었거나, 주문 상태를 설정할 수 없었습니다. finby가 다시 보냅니다. 로그에 사유가 표시됩니다.
고객에게 We could not start the card payment가 표시됨: 로그를 여십시오. 잘못된 Project ID나 Secret key는 finby가 프로젝트의 자격 증명을 거절했다는 메시지로 이어집니다. 테스트 자격 증명은 테스트 필드에, 실서비스 자격 증명은 실서비스 필드에 들어 있는지 확인하십시오.
Card payment is temporarily unavailable: 현재 모드에 Project ID나 Secret key가 없으면 고객에게 이 메시지가 표시됩니다. 값을 입력하고 저장하십시오.
주문이 보류 상태임: VibeFox TrustPay Gateway 탭의 메모를 읽어 보십시오(주문 상태 항목 참조). 배송 전에 Merchant Portal에서 결제를 확인한 다음, 주문을 처리하거나 결제를 환불하십시오.
프로젝트 관련 메시지와 함께 환불이 실패함: 주문은 테스트 또는 실서비스 프로젝트로 결제되었는데, 해당 모드의 Project ID나 Secret key가 설정되어 있지 않거나, 지금 거기에 다른 Project ID가 저장되어 있습니다. 해당 프로젝트의 자격 증명을 입력하거나, finby Merchant Portal에서 결제를 환불하십시오.
Invalid refund amount: at most … can be refunded: 금액이 결제된 금액에서 확장 기능을 통해 이미 환불된 금액을 뺀 값보다 큽니다.
제거
Extensions > Extensions로 이동하여 유형 Payments를 선택한 다음, VibeFox TrustPay Gateway 옆의 Uninstall(빨간색 − 버튼)을 클릭하십시오. 이 확장 기능의 라이선스 키와 라이선스 상태는 항상 제거됩니다. OpenCart는 항상 확장 기능 자체 설정을 제거합니다: Enable / Disable, Sort order, Geo zone, Minimum total, 그리고 주문 상태(다시 설치하면 기본값으로 돌아감). 확장 기능의 OpenCart 이벤트와 캐시된 API 접근 토큰도 제거됩니다(OpenCart 4에서는 이벤트와 유지 관리 모드에서 알림과 고객 복귀를 통과시키는 시작 동작도 제거됩니다). Delete data on uninstall이 켜져 있으면 나머지 설정(제목, 설명, 테스트 모드, Project ID, Secret key, 로깅)과 로그가 제거됩니다. 꺼져 있으면 나중에 다시 설치할 때를 위해 보존됩니다. TrustPay 결제 기록과 환불은 항상 보존되므로, 이전에 결제된 주문은 다시 설치한 후에도 환불할 수 있습니다. 기존 주문은 결제 메모를 그대로 유지합니다.
OpenCart 4에서 확장 기능의 파일도 제거하려면, 제거한 뒤 Extensions > Installer로 이동하여 설치된 확장 기능 목록에서 VibeFox TrustPay Gateway 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, Delete(빨간색 휴지통 버튼)를 클릭하여 업로드한 패키지를 삭제하십시오.
TrustPay와 finby는 각 소유자의 상표입니다. 이 확장 기능은 TrustPay 또는 finby와 제휴하거나 그들의 승인을 받은 것이 아닙니다.
