VibeFox Authorize.Net for OpenCart — 도움말
요구 사항
OpenCart: 3.0.x (3.0.5.0에서 테스트됨) 또는 4.0.2 이상(4.1.0.3에서 테스트됨).
PHP: 8.0 이상.
HTTPS: 체크아웃은 반드시 HTTPS를 사용해야 합니다. Accept.js는 일반 HTTP 페이지에서 실행되지 않습니다.
Authorize.Net 계정: Authorize.Net 계정의 API Login ID, Transaction Key, Public Client Key가 필요하며, 웹훅을 사용하는 경우 Signature Key도 필요합니다. 운영 계정(account.authorize.net)과 샌드박스 계정(sandbox.authorize.net)의 자격 증명은 서로 다릅니다. Authorize.Net 계정은 미국, 캐나다, 영국, 유럽, 호주, 뉴질랜드의 가맹점에서 사용할 수 있습니다.
통화: 주문 통화는 USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD, NZD 중 하나여야 하며, Authorize.Net 계정이 해당 통화로 정산해야 합니다. 그 밖의 통화에서는 체크아웃에서 결제 수단이 표시되지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서만 사용할 수 있습니다.
설치
이 다운로드는 두 OpenCart 버전용 패키지가 들어 있는 zip 파일 하나입니다. 컴퓨터에서 압축을 푸십시오. 압축 파일에는 README.txt, OpenCart 3용 패키지 wcp_authorizenet_gateway-oc3-(version).ocmod.zip, OpenCart 4용 패키지 wcp_authorizenet_gateway.ocmod.zip이 들어 있습니다. 사용하는 OpenCart 버전에 맞는 패키지만 설치하십시오. 라이선스 키는 두 버전이 같습니다.
OpenCart 3
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_authorizenet_gateway-oc3-(version).ocmod.zip 파일을 선택합니다. 이 확장 기능에는 OCMOD 수정 사항이 없으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. 설치 도구 대신 압축 파일의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.
2. Extensions > Extensions로 이동하여 유형으로 Payments를 선택합니다. VibeFox Authorize.Net Gateway를 찾아 Install(초록색 + 버튼)을 클릭합니다. 관리자 사용자에게 결제 확장 기능 목록을 수정할 권한이 있어야 합니다.
3. Edit(연필 버튼)을 클릭하여 설정 페이지를 엽니다. 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 붙여 넣고 Activate를 클릭합니다(라이선스 키 참조).
4. 샌드박스 계정과 운영 계정의 자격 증명을 입력합니다(구성 참조). 필요하면 웹훅도 설정합니다.
5. Enable/Disable을 켜고, Transaction type을 선택한 다음 Save를 클릭합니다. 샌드박스 모드에서 카드 번호 4111 1111 1111 1111, 임의의 미래 만료일, 임의의 CVV로 결제를 테스트한 후 Sandbox mode를 끕니다.
OpenCart 4
1. 관리자 화면에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_authorizenet_gateway.ocmod.zip 파일을 선택합니다. 파일 이름을 바꾸지 마십시오. OpenCart 4는 파일 이름에서 확장 기능의 코드를 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.
2. 설치된 확장 기능 목록에 같은 페이지의 패키지가 표시됩니다. 그 옆의 Install(초록색 + 버튼)을 클릭하십시오.
3. Extensions > Extensions로 이동하여 확장 기능 유형으로 Payments를 선택합니다. VibeFox Authorize.Net Gateway를 찾아 Install(초록색 + 버튼)을 클릭한 다음 Edit(연필 버튼)를 클릭하십시오.
4. 라이선스 키와 설정은 OpenCart 3의 3~5단계와 같이 입력합니다. 설정 페이지와 그 필드는 두 버전이 같습니다. 웹훅 URL만 다릅니다(웹훅 참조).
새로 설치하면 결제 수단은 꺼진 상태이고 샌드박스 모드는 켜진 상태로 시작합니다.
구성
모든 설정은 확장 기능 페이지에 있습니다: Extensions > Extensions > Payments > VibeFox Authorize.Net Gateway > Edit. 설정 섹션은 왼쪽에 나열되며, 목록 아래의 Save 버튼은 페이지 전체를 저장합니다. 설정 위에는 쇼핑몰이 HTTPS를 사용하지 않는 경우(Accept.js는 HTTPS 페이지에서만 작동합니다), 기본 쇼핑몰 통화가 Authorize.Net에서 지원되지 않는 경우, 현재 모드에 API Login ID, Transaction Key 또는 Public Client Key가 없는 경우(이때 체크아웃에서 결제 수단이 숨겨집니다), 현재 모드에 Signature Key가 없는 경우(이때 웹훅이 비활성화됩니다)에 경고가 표시됩니다. 샌드박스 모드가 켜져 있는 동안에는 Sandbox mode is on: test transactions, no real charges. 메시지가 표시됩니다. 확장 기능을 수정할 권한이 없으면 페이지에 설정은 표시되지만 저장할 수 없습니다.
저장할 때 Title은 1~128자여야 하고, Transaction type은 두 가지 옵션 중 하나여야 하며, Sort Order는 정수여야 하고, Total은 0 이상의 숫자여야 하며, 지오 존(geo zone)과 주문 상태가 존재해야 합니다. 입력값이 잘못되면 아무것도 저장되지 않으며 페이지에 해당 필드가 표시됩니다.
Authorize.Net
Enable/Disable: Enable Authorize.Net은 결제 수단을 켜거나 끕니다. 기본값: 끔.
Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Credit Card. 필수 항목이며 최대 128자입니다.
Description: Confirm Order 단계에서 카드 입력 양식 위에 고객에게 표시되는 텍스트입니다. 기본값: Pay securely with your credit card via Authorize.Net.
Sort Order: 체크아웃에서 카드 결제 수단이 다른 결제 수단들 사이에 놓이는 위치입니다. 비워 두거나 정수를 입력합니다.
Geo Zone: 선택한 지오 존에 속한 결제 주소에 대해서만 카드 입력 양식을 제공합니다. 기본값: All zones. 지오 존은 System > Localisation > Geo Zones에서 설정합니다.
Total: 결제 수단을 제공하기 전에 주문이 도달해야 하는 체크아웃 합계 금액으로, 쇼핑몰의 기본 통화 기준입니다. 비워 두면 모든 금액에 대해 제공합니다.
API credentials
Authorize.Net Merchant Interface에서 Account > Settings > Security Settings를 엽니다. API Credentials & Keys에서 API Login ID를 복사하고 Transaction Key와 Signature Key를 생성합니다. Manage Public Client Key에서 Public Client Key를 복사합니다. 샌드박스와 운영 환경은 서로 다른 자격 증명을 사용합니다. 이 섹션에는 두 모드의 필드가 모두 표시되므로 두 세트를 모두 보관할 수 있습니다.
Sandbox mode: Authorize.Net 샌드박스를 사용합니다(테스트 거래만 처리되며 실제 청구는 발생하지 않습니다). 새 결제에 사용되는 API 엔드포인트, Accept.js, 자격 증명 세트를 전환합니다. 기본값: 켬. 실제 결제를 받으려면 끄십시오. 켜져 있는 동안 고객은 카드 입력 양식 위에 Sandbox mode:와 테스트 카드 4111 1111 1111 1111을 보게 됩니다.
Sandbox API Login ID 및 Live API Login ID: 샌드박스 또는 운영 계정의 API Login ID입니다.
Sandbox Transaction Key 및 Live Transaction Key: 해당 계정의 Transaction Key입니다.
Sandbox Public Client Key 및 Live Public Client Key: 브라우저에서 Accept.js가 사용하는 공개 키입니다.
Sandbox Signature Key 및 Live Signature Key: 웹훅에만 필요합니다. 각 알림의 X-ANET-Signature 헤더를 검증하는 데 사용됩니다.
저장된 Transaction Key와 Signature Key는 다시 표시되지 않습니다. 필드는 비어 있으며 Saved — leave empty to keep it.가 표시됩니다. 값을 변경하려는 경우에만 새 값을 입력하십시오. 저장된 키를 삭제하려면 필드 아래의 Clear the saved value on save를 체크한 다음 Save를 클릭합니다.
Payment
Transaction type: 카드에 청구하는 방식입니다. 승인(authorization)은 30일 후에 만료됩니다.
Webhooks (recommended)
웹훅이 없으면 Fraud Detection Suite가 보류한 주문이나 Authorize.Net 패널에서 캡처 또는 무효화된 주문을 직접 수동으로 업데이트해야 합니다. Merchant Interface에서 Account > Settings > Business Settings > Webhooks로 이동하여 샌드박스 계정과 운영 계정 모두에서 Add Endpoint를 클릭합니다. 이 섹션의 Endpoint URL에 표시된 URL을 사용하십시오. OpenCart 3에서 URL은 https://your-store/index.php?route=extension/payment/wcp_authorizenet_gateway/webhook와 같은 형태이고, OpenCart 4에서는 https://your-store/index.php?route=extension/wcp_authorizenet_gateway/payment/wcp_authorizenet_gateway.webhook와 같은 형태이며, OpenCart 설치의 쇼핑몰 주소로 만들어집니다. 설정에 표시된 URL을 정확하게 복사하십시오. 다음 이벤트를 선택합니다(이 섹션에도 나열되어 있습니다):
Sandbox Signature Key 또는 Live Signature Key에 각 계정의 Signature Key를 입력하십시오. 유효한 서명이 없는 웹훅은 거부됩니다. 알림은 결제가 이루어진 모드의 키로 서명되어야 하며, 다른 모드의 알림은 아무것도 변경하지 않습니다. 확장 기능은 각 알림에 대해 주문을 변경하기 전에 Authorize.Net에 거래의 현재 상태와 금액도 조회하므로, 같은 알림이 반복되어도 아무 변화가 없습니다. 쇼핑몰이 점검 모드에 있는 동안에도 웹훅은 작동합니다. OpenCart가 결제 확장 기능의 요청을 통과시키기 때문입니다.
Orders
OpenCart는 Confirm Order 단계에서 상태가 없는 주문(누락된 주문)을 생성합니다. 주문은 Authorize.Net이 카드에 대해 응답한 후에야 상태를 받습니다. 아래의 각 필드에는 OpenCart 주문 상태가 나열됩니다.
Order Status After Payment: 카드에 청구되었을 때(Authorize and capture 또는 나중의 캡처) 설정되는 상태입니다. 기본값: Processing.
Authorized Status: Authorize only의 경우로, 금액은 예약되었지만 아직 캡처되지 않은 상태입니다. 주문 탭의 Capture payment는 이 상태에서만 제공됩니다. 기본값: Pending.
On Hold (Review) Status: Fraud Detection Suite가 검토를 위해 보류했거나, 청구 또는 캡처된 금액이 주문과 다른 경우에 설정됩니다. 메모에 그 이유가 설명됩니다. 기본값: Pending. OpenCart에는 On hold 상태가 없기 때문입니다. System > Localisation > Order Statuses에서 직접 상태를 만들고 여기서 선택할 수 있습니다.
Canceled Status: 결제 없이 Authorize.Net에서 거절, 무효화 또는 만료된 경우(웹훅), 또는 주문 탭에서 승인이 무효화된 경우에 설정됩니다. 기본값: Canceled.
Refunded Status: 주문 탭에서 결제 금액이 전액 환불된 후(또는 결제된 거래가 무효화된 후)에 설정됩니다. 기본값: Refunded.
Advanced
Debug log: API 요청과 응답을 OpenCart 로그 폴더(storage/logs)의 wc_ang_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없으며, 크기가 5MB에 도달하면 wc_ang_debug.old.log.php로 이동됩니다. 키, 카드 토큰, 개인 데이터는 마스킹됩니다. 기본값: 끔. 거절되었거나 실패한 결제, API 오류, 실패한 환불과 같은 오류는 이 옵션이 꺼져 있어도 항상 기록됩니다.
Log: 로그의 크기와 최신 항목을 표시합니다. Clear log를 클릭하면 로그를 비울 수 있습니다.
Delete data on uninstall: 켜면 확장 기능을 제거할 때 설정과 로그가 삭제됩니다. Authorize.Net의 거래와 환불은 항상 유지되므로, 재설치 후에도 이전에 결제된 주문을 캡처하고 환불할 수 있습니다. 기본값: 끔.
Import / Export
Export: Download JSON을 클릭하면 설정이 JSON 파일로 저장됩니다. Transaction Key와 Signature Key는 내보내지지 않습니다.
Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정이 복원됩니다. 저장된 비밀 키는 유지됩니다.
체크아웃
Payment Method 단계에서 고객이 결제 수단을 선택합니다(기본값은 Credit Card). Confirm Order 단계에서 고객은 설명을 보고, 확인 버튼 위의 양식에 카드 번호, 만료일(MM/YY), 카드 보안 코드(CVV)를 입력합니다. OpenCart는 이 단계에서 주문을 생성하지만 아직 상태는 없습니다. Accept.js는 이 양식이 표시될 때만 Authorize.Net에서 로드됩니다. 고객이 Confirm Order를 클릭하면 Accept.js가 브라우저에서 카드 정보를 일회용 토큰으로 바꿉니다. 카드 필드에는 양식 이름이 없으므로 카드 번호와 CVV는 쇼핑몰 서버로 전송되지 않습니다.
확장 기능은 Authorize.Net API를 통해 주문 통화로 된 주문 합계에 대해 토큰을 청구합니다. 청구지 주소, 이메일, IP 주소는 주소 확인과 사기 방지 필터를 위해 거래와 함께 전송되며, 주문 번호는 송장 번호로 전송됩니다. 주문은 Authorize.Net이 확인한 후에만 결제 완료로 표시됩니다. 거래가 승인되면 주문은 OpenCart의 표준 방식으로 상태를 받고, 일반 주문 이메일이 발송되며 재고가 업데이트됩니다. 장바구니는 비워지고, 고객에게는 OpenCart 주문 완료 페이지와 함께 Your card payment has been received.가 표시됩니다. Authorize only의 경우 페이지에 Your card payment has been authorized. The amount will be charged when your order is processed.가 표시됩니다. Fraud Detection Suite가 거래를 보류하면 Your payment is being reviewed. We will update your order as soon as the review is complete.가 표시됩니다.
카드가 거절되면 고객은 Confirm Order 단계에 머물며, 양식 아래에 Payment failed:와 함께 이유를 보게 됩니다. 예를 들어 카드 거절, 잘못된 카드 보안 코드, 만료된 카드 등입니다. 주문은 상태 없이 남고, 장바구니는 유지되며, 고객은 다른 카드를 입력할 수 있습니다. 설정 및 API 오류는 고객에게 표시되지 않습니다. 고객은 일반적인 메시지를 보고, 자세한 내용은 로그에 기록됩니다. 쇼핑몰이 Authorize.Net에 연결할 수 없으면 고객에게 Payment error: unable to connect to the payment gateway. Please try again.가 표시됩니다. 카드 필드가 비어 있으면 양식에서 Please enter the card number, expiry date and card code.라고 요청합니다.
더블 클릭, 두 번째 탭, 또는 반복된 제출로 같은 주문에 두 번 청구되는 일은 없습니다. OpenCart 3는 Confirm Order 단계가 표시될 때마다 새 주문을 생성하므로, 하나의 장바구니에 여러 주문이 있을 수 있습니다(OpenCart 4에서는 이전 주문이나 두 번째 브라우저 탭이 여전히 같은 장바구니를 보유할 수 있습니다). 그중 하나가 결제되면, 같은 장바구니의 다른 주문에는 청구되지 않습니다. 고객에게는 This cart has already been paid with order #…. Please check your order history — do not pay again.가 표시됩니다. 첫 번째 시도가 아직 진행 중일 때 두 번째 시도를 하면 Your payment is already being processed. Please wait a moment and check your order history before trying again.가 표시됩니다. 결제는 승인되었지만 주문 상태를 설정할 수 없었던 경우, 고객에게는 Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again.가 표시됩니다. 이후 주문은 다음 시도 때나 웹훅을 통해 승인된 결제에서 상태를 받으며, 카드에 다시 청구되지 않습니다.
OpenCart 4에서는 고객이 결제 수단 블록의 Choose 버튼을 눌러 Payment method options 창에서 결제 수단을 선택합니다. 그러면 카드 양식이 결제 페이지 하단의 주문 확인 블록, Confirm Order 위에 나타납니다. OpenCart 4에서 결제 주소는 선택 사항입니다. 결제 주소가 없으면 배송 주소가 청구지 주소로 Authorize.Net에 전송됩니다. OpenCart 4는 체크아웃에 대한 주문을 하나만 유지하고 이를 업데이트하므로, 카드가 거절된 뒤에도 고객은 같은 주문에 대해 결제합니다. 그 사이에 주문이 닫혔거나(예: 주문을 취소한 경우), 이미 결제되었고 장바구니에 새 구매 항목이 있는 경우에는 Confirm Order가 고객을 결제 페이지로 돌려보내며, 다음 Confirm Order에서 새 주문에 대해 결제가 이루어집니다. 결제 페이지 상단에는 주문이 닫혀 있었던 경우 Your previous order is closed (cancelled or refunded by the store). Please confirm the order again: the cart will be paid with a new order., 이전 장바구니에 대해 이미 결제된 경우 Your previous order is already paid. Please confirm the order again: the cart will be paid with a new order.가 고객에게 표시됩니다. 수량 변경을 포함해 장바구니가 바뀌면 새 장바구니로 간주되며, 별도의 결제가 필요합니다.
청구된 금액이 주문 합계와 일치하지 않으면, 주문은 메모와 함께 On Hold (Review) Status가 되며, 결제는 실제로 청구된 금액으로 기록됩니다.
이 확장 기능에는 저장된 카드나 고객 프로필, 구독 또는 정기 결제, eCheck/ACH, Apple Pay, Google Pay, PayPal 또는 3-D Secure가 없으며, 승인의 부분 캡처와 자동 통화 변환도 지원하지 않습니다.
주문 및 환불
Order statuses
No status (missing order): 카드가 거절되었거나 결제에 실패했습니다. Sales > Orders에서는 Order Status 필터를 Missing Orders로 설정한 경우에만 이러한 주문이 표시됩니다.
Order Status After Payment (default Processing): 카드에 청구되었거나(Authorize and capture), 승인 건이 캡처되었습니다. 메모에는 금액, Trans ID, 승인 코드, 카드 종류, 끝 4자리가 표시됩니다.
Authorized Status (default Pending): 금액은 승인만 되었습니다(Authorize only). 주문 처리 전에 캡처하십시오.
On Hold (Review) Status (default Pending): Fraud Detection Suite가 검토를 위해 거래를 보류했거나, 청구된 금액이 주문 합계와 일치하지 않거나, 웹훅으로 보고된 캡처 금액이 주문 금액과 일치하지 않는 경우입니다. 메모에 설명이 나옵니다. 보류된 거래는 Authorize.Net 패널에서 승인하거나 거절하십시오. 웹훅을 사용하면 주문이 자동으로 업데이트됩니다.
Canceled Status (default Canceled): 주문이 결제되기 전에 거래가 거절, 무효화 또는 만료되었다고 웹훅이 보고했거나, 캡처되지 않은 승인을 무효화한 경우입니다. 결제된 주문의 거래가 Authorize.Net 패널에서 무효화되면 주문 상태는 변경되지 않고 경고 메모가 추가됩니다.
Refunded Status (default Refunded): 결제가 확장 기능을 통해 전액 환불되었거나 무효화되었습니다.
OpenCart 4에서는 결제되지 않은 결제 과정 주문이 Voided 상태가 될 수 있습니다. 이는 고객이 Confirm Order 단계로 돌아올 때 OpenCart 4가 설정합니다. 확장 기능은 이러한 주문을 상태가 없는 주문으로 취급합니다. 이후의 결제 또는 웹훅이 여전히 해당 상태를 설정합니다.
메모는 주문의 History에 기록되는 항목으로, 고객에게는 보이지 않습니다.
VibeFox Authorize.Net Gateway tab
Sales > Orders에서 Authorize.Net으로 결제된 주문을 엽니다. 주문 페이지 하단의 History 및 Additional 옆에 있는 VibeFox Authorize.Net Gateway 탭에는 샌드박스 결제의 경우 Sandbox 라벨과 함께 Trans ID, Transaction type, 거래의 Status, Card와 승인 코드, Charged / order / refunded 금액, 캡처 버튼, 환불 양식, 환불 내역, 주문의 Authorize.Net notes가 표시됩니다. 이 탭은 확장 기능에 접근 권한이 있는 사용자에게 표시됩니다. 캡처와 환불에는 확장 기능을 수정할 권한이 필요합니다(System > Users > User Groups에서 설정).
Capture
Authorized Status 상태의 주문에 대해 탭에서 Capture payment를 클릭하고 Capture the authorized amount through Authorize.Net?를 확인합니다. 승인된 금액이 캡처되고, 주문은 Order Status After Payment를 받습니다. 캡처가 실패하면 오류가 표시되고 메모에 추가됩니다. Authorize.Net 패널에서도 캡처할 수 있으며, 웹훅을 사용하면 주문이 자동으로 업데이트됩니다.
Refunds
탭에서 Amount를 입력합니다(아직 환불되지 않은 금액이 자동으로 채워집니다). 필요하면 Reason (optional)을 입력하고, Refund via Authorize.Net을 클릭한 다음 Refund this amount through Authorize.Net? This cannot be undone.를 확인합니다. 전액 환불은 거래가 아직 정산되지 않았다면 먼저 거래를 무효화하고, 캡처되지 않은 승인이라면 그 승인을 무효화합니다. 정산된 거래는 보통 24시간 후에 전액 또는 부분 환불할 수 있습니다. 정산 전에는 부분 환불이 불가능합니다. 거래를 무효화하려면 전액을 환불하거나, 정산 후 다시 시도하십시오. 환불은 Authorize.Net이 청구한 금액과 통화로 이루어지므로, 금액이 일치하지 않는 경우 주문 합계가 아니라 고객이 실제로 결제한 금액까지만 환불할 수 있습니다. Authorize.Net이 환불을 승인하지 않으면 탭에 오류가 표시되며 환불은 기록되지 않습니다. 환불 또는 무효화가 성공하면 환불 내역과 메모에 추가됩니다. 전액 환불은 고객에게 알리지 않고, 수동으로 상태를 변경한 것과 마찬가지로 제품을 재고로 되돌리지 않은 채 주문을 Refunded Status로 설정합니다(승인만 무효화된 경우에는 Canceled Status). 부분 환불은 상태를 바꾸지 않습니다. 거래가 검토를 위해 보류된 동안에는 환불이 제공되지 않습니다.
주문의 캡처, 환불, 웹훅 확인은 주문이 결제된 모드의 자격 증명을 사용합니다. 따라서 Sandbox mode를 전환한 후에도 다른 모드의 주문을 캡처하고 환불할 수 있습니다. 해당 주문이 모두 처리될 때까지 그 모드의 자격 증명은 각 필드에 그대로 두십시오.
Sales > Returns의 제품 반품은 Authorize.Net을 통해 돈을 돌려보내지 않습니다. Authorize.Net 패널에서 이루어진 환불은 쇼핑몰에 보고되지 않으므로, 주문을 수동으로 업데이트하십시오.
라이선스 키
이 확장 기능은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. License — VibeFox Authorize.Net Gateway 라이선스 블록은 Extensions > Extensions > Payments > VibeFox Authorize.Net Gateway > Edit 페이지에서 설정 위쪽에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭합니다. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 다음 버튼이 표시됩니다: 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key. 그 아래에는 Product: opencart-payment-authorizenet 줄과 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 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 Authorize.Net 카드 결제는 체크아웃에서 고객에게 표시되지 않습니다. 그래도 결제가 시작되면 고객에게는 This payment method is not available. Please choose another one.가 표시됩니다. 같은 브라우저에서 관리자 화면에 로그인한 관리자 사용자에게는 여전히 쇼핑몰에서 결제 수단이 (unlicensed — visible to admins only)로 표시되므로, 키를 구매하기 전에 확장 기능을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리 보기를 사용할 수 없습니다. 쇼핑몰에서는 관리자 로그인이 인식되지 않으므로, 활성 키가 없으면 결제 수단이 모든 사용자에게 숨겨집니다. Edit 페이지를 한 번 열면 관리자 Dashboard에 알림이 나타납니다. ×를 클릭하면 7일 동안 숨길 수 있습니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 여전히 확인되며, 캡처와 환불도 정상적으로 작동합니다.
라이선스가 만료되어도 확장 기능은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 관리자 Dashboard 또는 Edit 페이지를 열면 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번 확인합니다. Cron 작업은 필요하지 않습니다. 확장 기능을 제거하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 카드 결제가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드에 API Login ID, Transaction Key, Public Client Key가 있는지 확인하십시오. 하나라도 없으면 설정 페이지에 경고가 표시됩니다. 고객의 통화가 지원되는지, 결제 주소가 선택한 Geo Zone에 있는지, 주문이 설정의 Total에 도달하는지도 확인하십시오.
결제는 완료되었으나 주문이 승인 또는 검토 상태에 머무름: 거래 유형이 Authorize only이거나(주문 탭에서 캡처하십시오), Authorize.Net이 거래를 검토를 위해 보류했습니다. Authorize.Net 패널에서 승인하거나 거절하십시오. 이러한 주문이 자동으로 업데이트되도록 하려면 웹훅을 설정하십시오. 사용 중인 모드의 계정에 엔드포인트가 있는지, URL이 Endpoint URL에 표시된 것과 정확히 같은지, 네 가지 이벤트가 모두 선택되었는지, 그 계정의 Signature Key가 입력되었는지 확인하십시오.
웹훅 응답: webhooks are not configured: 두 모드 모두 Signature Key가 입력되지 않았습니다.
웹훅 응답: invalid signature: Signature Key가 다른 계정의 것이거나, Authorize.Net에서 키가 변경되었습니다. Signature Key를 다시 생성하거나 복사하여 해당 모드의 필드에 붙여 넣으십시오.
웹훅 응답: mode mismatch: 알림은 한 모드의 키로 서명되었지만, 결제는 다른 모드에서 이루어졌습니다. 샌드박스와 라이브 Signature Key가 바뀌지 않았는지 확인하십시오.
웹훅 응답: verification failed, retry later: 쇼핑몰이 Authorize.Net API에서 거래를 읽지 못했거나, 결제 모드의 자격 증명이 없습니다. Authorize.Net이 전달을 다시 시도합니다.
웹훅 응답: busy, retry later: 같은 시점에 다른 요청이 주문을 업데이트하고 있었거나, 처리가 실패했습니다. Authorize.Net이 전달을 다시 시도합니다. 이유는 Log 필드에서 확인하십시오.
브라우저에서 웹훅 URL이 method not allowed를 표시함: 정상입니다. 이 URL은 Authorize.Net의 요청만 허용합니다.
카드 양식에 The secure card form (Accept.js) could not be loaded가 표시됨: 체크아웃은 HTTPS를 사용해야 하며, 현재 모드의 Public Client Key와 API Login ID가 올바라야 합니다.
Payment error: the card could not be tokenized: Accept.js가 토큰을 반환하지 않았습니다. 고객은 카드 정보를 다시 입력하고 재시도해야 합니다.
고객에게 This payment method is not available이 표시됨: 체크아웃 세션이 더 이상 주문과 일치하지 않거나, 그사이 결제 수단이 꺼졌거나, 자격 증명이 없거나, 주문 합계가 0입니다. Please reload the checkout page가 표시되면 고객은 체크아웃을 새로 고칩니다.
고객에게 일반 오류가 표시됨: 확장 기능 페이지의 Log 필드를 확인하십시오. 오류는 항상 그곳에 기록됩니다. 계정이 지원하지 않는 통화는 Authorize.Net이 거절합니다.
거래가 아직 정산되지 않아 부분 환불이 실패함: 거래를 무효화하려면 전액을 환불하거나, 정산 후(보통 24시간 이내) 다시 시도하십시오.
모드와 관련된 메시지와 함께 환불 또는 캡처가 실패함: 결제가 샌드박스 또는 라이브 모드에서 이루어졌는데, 그 모드의 API Login ID와 Transaction Key가 설정되지 않았습니다. 값을 입력하고 다시 시도하십시오.
제거
Extensions > Extensions로 이동하여 유형으로 Payments를 선택한 다음, VibeFox Authorize.Net Gateway 옆의 Uninstall(빨간색 − 버튼)을 클릭합니다. 이 확장 기능의 라이선스 키와 라이선스 상태는 항상 제거됩니다. OpenCart는 확장 기능 자체의 설정을 항상 제거합니다: Enable/Disable, Sort Order, Geo Zone, Total, 그리고 Orders 섹션의 주문 상태들이며, 이들은 재설치 시 기본값으로 돌아갑니다. 확장 기능의 OpenCart 이벤트도 제거됩니다(OpenCart 4에서는 결제 페이지 상단에 메시지를 표시하는 이벤트와, 점검 모드에서도 웹훅을 통과시키는 시작 작업을 포함합니다). Delete data on uninstall이 켜져 있으면 나머지 설정(제목, 설명, 샌드박스 모드, 자격 증명, 거래 유형, 로깅)과 로그가 제거됩니다. 꺼져 있으면 나중에 재설치할 때 사용할 수 있도록 유지됩니다. Authorize.Net의 거래와 환불은 항상 유지되므로, 재설치 후에도 이전에 결제된 주문을 캡처하고 환불할 수 있습니다. 기존 주문은 결제 메모를 그대로 유지합니다.
OpenCart 4에서 확장 기능의 파일까지 제거하려면, 제거한 후 Extensions > Installer로 이동하여 설치된 확장 기능 목록에서 VibeFox Authorize.Net Gateway 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, 업로드된 패키지를 삭제하려면 Delete(빨간색 휴지통 버튼)를 클릭하십시오.
Authorize.Net은 각 소유자의 상표입니다. 이 확장 기능은 Authorize.Net과 제휴하거나 Authorize.Net의 승인을 받은 것이 아닙니다.
