뒤로

VibeFox Authorize.Net for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

PHP: 8.0 이상. 이전 PHP 버전에서는 모듈 설치가 거부됩니다.

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에서 구매합니다. 키 하나는 도메인 하나에서만 작동합니다.

설치

1. 백오피스에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈의 ZIP 파일을 선택합니다.

2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox Authorize.Net Gateway를 찾아 Configure를 클릭합니다.

3. Configure 페이지 상단의 라이선스 블록에 있는 License key 입력란에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다(라이선스 키 참조).

4. 샌드박스 계정과 운영 계정의 자격 증명을 입력합니다(구성 참조). 필요하면 웹훅도 설정합니다.

5. Enable/Disable을 켜고, Transaction type을 선택한 후 Save를 클릭합니다. 샌드박스 모드에서 카드 번호 4111 1111 1111 1111, 임의의 미래 유효기간, 임의의 CVV로 결제를 테스트한 다음 Sandbox mode를 끕니다.

설치 시 모듈은 두 가지 주문 상태, Authorize.Net payment authorized와 Authorize.Net payment on hold를 만듭니다. PrestaShop은 모든 통화, 국가, 고객 그룹에 대해 새 결제 모듈을 제공합니다. Payment > Preferences에서 이를 제한할 수 있습니다.

구성

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 입력란 위에서 페이지는 다음 상황에 대해 경고합니다. 쇼핑몰에서 SSL이 활성화되지 않은 경우(Accept.js는 HTTPS 페이지에서만 작동합니다), 쇼핑몰의 기본 통화가 Authorize.Net에서 지원되지 않는 경우, 현재 모드에 API Login ID, Transaction Key 또는 Public Client Key가 없는 경우(이때 체크아웃에서 결제 방법이 숨겨집니다), 현재 모드에 Signature Key가 없는 경우(이때 웹훅이 비활성화됩니다). 샌드박스 모드가 켜져 있는 동안에는 Sandbox mode is on: test transactions, no real charges.가 표시됩니다.

Authorize.Net

Enable/Disable: Enable Authorize.Net은 결제 방법을 켜거나 끕니다. 기본값: 꺼짐.

Title: 고객이 체크아웃에서 보는 결제 방법 이름입니다. 주문에 저장되는 결제 방법 이름이기도 합니다. 기본값: Credit Card. 필수.

Description: 체크아웃에서 결제 방법 아래에 표시되는 텍스트입니다. 기본값: Pay securely with your credit card via Authorize.Net.

API 자격 증명

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, 새 결제에 사용되는 자격 증명 세트를 전환합니다. 기본값: 켜짐. 실제 결제를 받으려면 끄십시오. 켜져 있는 동안 고객은 결제 방법 아래에서 테스트 카드 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 saved secrets: 키를 체크하고 Save를 클릭하면 삭제됩니다. 입력란이 비어 있으면 저장된 값이 유지됩니다.

결제

Transaction type: 카드에 청구하는 방식입니다. 승인은 30일 후에 만료됩니다.

Authorize and capture: 카드에 즉시 청구합니다. 주문은 결제 완료 상태가 됩니다(기본값).
Authorize only: 금액을 예약합니다. 주문은 Authorize.Net payment authorized가 됩니다. 나중에 주문의 Authorize.Net 블록 또는 Authorize.Net 패널에서 Capture payment로 캡처하십시오.

웹훅(권장)

웹훅이 없으면 Fraud Detection Suite가 보류한 주문이나 Authorize.Net 패널에서 캡처 또는 무효화된 주문은 수동으로 업데이트해야 합니다. Merchant Interface에서 Account > Settings > Business Settings > Webhooks로 이동한 후 샌드박스 계정과 운영 계정 모두에서 Add Endpoint를 클릭합니다. 이 섹션의 Endpoint URL에 표시된 URL을 사용합니다. 친숙한 URL을 사용하는 경우 다음과 같은 형태입니다: https://your-shop/module/wcp_authorizenet_gateway/webhook. /en/ 같은 언어 코드가 붙을 수도 있습니다. 설정에 표시된 그대로 URL을 정확히 복사하십시오. 다음 이벤트를 선택합니다(이 섹션에도 나열되어 있습니다):

net.authorize.payment.fraud.approved: 검토를 위해 보류된 거래가 승인되었습니다.
net.authorize.payment.fraud.declined: 검토를 위해 보류된 거래가 거절되었습니다.
net.authorize.payment.priorAuthCapture.created: 승인이 캡처되었습니다(예: Authorize.Net 패널에서).
net.authorize.payment.void.created: 거래가 무효화되었습니다.

각 계정의 Signature Key를 Sandbox Signature Key 또는 Live Signature Key에 입력합니다. 유효한 서명이 없는 웹훅은 거부됩니다. 알림은 결제가 이루어진 모드의 키로 서명되어야 합니다. 다른 모드의 알림은 아무것도 변경하지 않습니다. 모듈은 알림마다 주문을 변경하기 전에 Authorize.Net에 거래의 현재 상태와 금액을 요청하므로, 반복된 알림은 아무 변화도 일으키지 않습니다.

고급

Debug log: API 요청과 응답을 모듈 폴더의 logs/wc_ang_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 키, 카드 토큰, 개인 정보는 마스킹됩니다. 기본값: 꺼짐. 거절되거나 실패한 결제, API 오류, 실패한 환불과 같은 오류는 이 옵션이 꺼져 있어도 항상 기록됩니다.

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

Delete data on uninstall: 켜져 있으면 모듈을 제거할 때 설정과 로그가 삭제됩니다. Authorize.Net 거래와 환불, 그리고 모듈의 주문 상태는 항상 유지되므로, 이전에 결제된 주문은 재설치 후에도 캡처하고 환불할 수 있습니다. 기본값: 꺼짐.

체크아웃

결제 단계에서 고객은 결제 방법(기본값 Credit Card)을 선택하고, 그 아래 양식에 카드 번호, 유효기간(MM/YY), 카드 보안 코드(CVV)를 입력합니다. Accept.js는 체크아웃 페이지에서만 로드됩니다. 고객이 주문을 하면 Accept.js가 브라우저에서 카드 데이터를 일회용 토큰으로 교환합니다. 카드 입력란에는 양식 이름이 없으므로 카드 번호와 CVV는 서버로 전송되지 않습니다.

모듈은 Authorize.Net API를 통해 장바구니 통화로 장바구니 합계에 대한 토큰을 청구합니다. 청구지 주소, 이메일, IP 주소는 주소 확인과 사기 방지 필터를 위해 거래와 함께 전송됩니다. 결제 전에는 주문이 존재하지 않으므로 장바구니 번호가 송장 번호로 전송됩니다. 주문은 Authorize.Net이 결제를 확인한 후에만 결제 완료로 표시됩니다. 거래가 승인되면 주문이 즉시 생성되고, 고객은 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.가 표시됩니다.

카드가 거절되면 고객은 결제 단계에 머무르며 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.가 표시됩니다.

더블 클릭, 두 번째 탭, 반복된 제출로 같은 장바구니에 두 번 청구되는 일은 없습니다. 첫 번째 시도가 아직 진행 중일 때 두 번째 시도를 하면 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.를 봅니다. 그 후 다음 시도 때 또는 웹훅을 통해, 카드에 다시 청구하지 않고 승인된 결제로부터 주문이 생성됩니다.

결제 진행 중에 장바구니가 변경되면 청구된 금액은 더 이상 장바구니와 일치하지 않습니다. 이 경우 주문은 메모와 함께 Authorize.Net payment on hold가 되며, 결제는 실제로 청구된 금액으로 기록됩니다.

웹훅은 쇼핑몰이 유지 보수 모드인 동안에도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다.

이 모듈에는 저장된 카드나 고객 프로필, 구독 또는 정기 결제, eCheck/ACH, Apple Pay, Google Pay, PayPal, 3-D Secure, 승인의 부분 캡처, 자동 통화 환산 기능이 없습니다.

주문 및 환불

주문 상태

No order: 카드가 거절되었거나 결제가 실패했습니다. 장바구니만 존재합니다.

Payment accepted: 카드에 청구되었거나(Authorize and capture) 승인이 캡처되었습니다. 결제는 Authorize.Net Trans ID를 거래 ID로 기록하며, 메모에는 금액, Trans ID, 승인 코드, 카드 종류, 카드 번호 끝 네 자리가 표시됩니다.

Authorize.Net payment authorized: 금액은 승인만 된 상태입니다(Authorize only). 배송 전에 캡처하십시오.

Authorize.Net payment on hold: Fraud Detection Suite가 검토를 위해 거래를 보류했거나, 청구된 금액이 주문 합계와 일치하지 않거나, 웹훅으로 보고된 캡처 금액이 주문 금액과 일치하지 않습니다. 메모에 이유가 설명되어 있습니다. 보류된 거래는 Authorize.Net 패널에서 승인하거나 거절하십시오. 웹훅을 사용하면 주문이 자동으로 업데이트됩니다.

Canceled: 주문이 결제되기 전에 웹훅이 거래가 거절, 무효화 또는 만료되었다고 보고했거나, 캡처되지 않은 승인을 무효화했습니다. 결제된 주문의 거래가 Authorize.Net 패널에서 무효화되면 주문 상태는 변경되지 않으며 경고 메모가 추가됩니다.

Refunded: 결제가 모듈을 통해 전액 환불되었거나 무효화되었습니다.

이미 주문이 있는 장바구니에 대해 두 번째 거래가 승인되면 주문은 변경되지 않습니다. 메모는 Authorize.Net 패널에서 중복 거래를 확인하고 무효화하거나 환불하도록 안내합니다.

Authorize.Net 결제 블록

주문 페이지에는 Authorize.Net payment 블록이 표시되며, 여기에는 Trans ID, 거래 유형, 거래 상태, 카드 및 승인 코드, 청구 금액, 주문 합계, 환불 금액, 샌드박스 결제에 대한 Sandbox 배지, 환불 내역, 주문의 Authorize.Net notes가 포함됩니다. 캡처와 환불에는 주문 편집 권한만 필요하며, 모듈 페이지에 대한 접근 권한은 필요하지 않습니다.

캡처

Authorize.Net payment authorized 상태의 주문에서 블록의 Capture payment를 클릭하고 Capture the authorized amount through Authorize.Net?을 확인합니다. 승인된 금액이 캡처되고, 결제는 Trans ID와 함께 기록되며, 주문은 Payment accepted가 됩니다. 캡처가 실패하면 오류가 표시되고 메모에 추가됩니다. Authorize.Net 패널에서도 캡처할 수 있습니다. 웹훅을 사용하면 주문이 자동으로 업데이트됩니다.

환불

블록에 금액을 입력합니다(아직 환불되지 않은 금액이 자동으로 채워집니다). 필요하면 사유를 입력하고, Refund via Authorize.Net을 클릭한 후 Refund this amount through Authorize.Net? This cannot be undone.을 확인합니다. 전액 환불은 거래가 아직 정산되지 않았다면 먼저 거래를 무효화하며, 캡처되지 않은 승인이라면 그 승인을 무효화합니다. 정산된 거래는 보통 24시간 후에 전액 또는 부분 환불할 수 있습니다. 정산 전에는 부분 환불이 불가능합니다. 거래를 무효화하려면 전액을 환불하거나, 정산 후 다시 시도하십시오. 환불은 Authorize.Net이 청구한 금액과 통화로 이루어지므로, 금액 불일치 후에는 주문 합계가 아니라 고객이 실제로 결제한 금액까지만 환불할 수 있습니다. Authorize.Net이 환불을 수락하지 않으면 블록에 오류가 표시되며 환불은 기록되지 않습니다. 성공한 환불 또는 무효화는 환불 내역과 메모에 추가됩니다. 전액 환불하면 주문은 Refunded가 됩니다(승인만 무효화된 경우에는 Canceled). 부분 환불은 상태를 바꾸지 않습니다. 거래가 검토를 위해 보류된 동안에는 환불이 제공되지 않습니다.

주문의 캡처, 환불, 웹훅 확인은 주문이 결제된 모드의 자격 증명을 사용합니다. 따라서 Sandbox mode를 전환한 후에도 다른 모드의 주문은 캡처하고 환불할 수 있습니다. 해당 주문이 처리될 때까지 그 모드의 자격 증명을 해당 입력란에 그대로 두십시오.

이 모듈은 크레딧 슬립을 만들지 않습니다. 주문 페이지의 표준 PrestaShop 환불 버튼은 Authorize.Net을 통해 돈을 돌려주지 않습니다. Authorize.Net 패널에서 이루어진 환불은 쇼핑몰에 보고되지 않으므로 주문을 수동으로 업데이트하십시오.

라이선스 키

이 모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox Authorize.Net Gateway은(는) Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 입력하고 Activate를 클릭합니다. 그 후 블록에는 키가 마스킹되어 표시되고, 상태(예: 라이선스가 유효한 날짜와 도메인)와 버튼 Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거)가 나타납니다. 그 아래에는 Product: presta-payment-authorizenet 줄과 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 계정에서 슬롯을 해제하십시오.

활성 라이선스 키가 없으면 체크아웃에서 고객에게 Authorize.Net 카드 결제가 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one.를 보게 됩니다. PrestaShop 스토어프런트는 백오피스에 로그인한 사실을 알지 못하므로, 결제 방법은 관리자에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만, 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 나타납니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 여전히 확인되며, 캡처와 환불도 작동합니다.

라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 백오피스에서 작업하는 동안 상태는 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 재설정하면 라이선스 키와 라이선스 상태가 항상 제거됩니다.

문제 해결

체크아웃에 Authorize.Net이 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드에 API Login ID, Transaction Key, Public Client Key가 있는지 확인하십시오. 설정 페이지는 하나라도 없으면 경고를 표시합니다. 장바구니 통화가 지원되는지, 그리고 Payment > Preferences에서 장바구니 통화, 고객의 국가, 고객 그룹에 대해 모듈이 허용되어 있는지 확인하십시오.

결제는 완료되었지만 주문이 Authorize.Net payment on hold 또는 authorized 상태에 머무름: 거래 유형이 Authorize only이거나(주문 블록에서 캡처하십시오), Authorize.Net이 검토를 위해 거래를 보류했습니다. Authorize.Net 패널에서 승인하거나 거절하십시오. 이러한 주문이 자동으로 업데이트되도록 하려면 웹훅을 설정하십시오. 사용 중인 모드의 계정에 엔드포인트가 있는지, URL이 Endpoint URL에 표시된 것과 정확히 같은지, 네 가지 이벤트가 모두 선택되어 있는지, 해당 계정의 Signature Key가 입력되어 있는지 확인하십시오.

Webhook answers webhooks are not configured: 두 모드 모두 Signature Key가 입력되지 않았습니다.

Webhook answers invalid signature: Signature Key가 다른 계정의 것이거나, Authorize.Net에서 키가 변경되었습니다. Signature Key를 다시 생성하거나 복사하여 해당 모드의 입력란에 붙여 넣으십시오.

Webhook answers mode mismatch: 알림은 한 모드의 키로 서명되었지만, 결제는 다른 모드에서 이루어졌습니다. 샌드박스와 운영 Signature Key가 서로 바뀌지 않았는지 확인하십시오.

Webhook answers verification failed, retry later: 쇼핑몰이 Authorize.Net API에서 거래를 읽지 못했거나, 결제 모드의 자격 증명이 없습니다. Authorize.Net은 전송을 다시 시도합니다.

Webhook answers 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가 토큰을 반환하지 않았습니다. 고객은 카드 정보를 다시 입력하고 다시 시도해야 합니다.

고객이 일반 오류를 봄: 모듈 페이지의 Log 입력란을 확인하십시오. 오류는 항상 여기에 기록됩니다. 계정이 지원하지 않는 통화는 Authorize.Net이 거부합니다.

거래가 아직 정산되지 않아 부분 환불이 실패함: 거래를 무효화하려면 전액을 환불하거나, 정산 후(보통 24시간 이내) 다시 시도하십시오.

모드와 관련된 메시지와 함께 환불 또는 캡처가 실패함: 결제가 샌드박스 모드 또는 운영 모드에서 이루어졌는데, 해당 모드의 API Login ID와 Transaction Key가 설정되어 있지 않습니다. 입력한 후 다시 시도하십시오.

제거

Modules > Module Manager로 이동하여 VibeFox Authorize.Net Gateway 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 제거됩니다. Delete data on uninstall이 켜져 있으면 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 재설치할 수 있도록 모든 설정이 보존됩니다. Authorize.Net 거래와 환불, 그리고 주문 상태 Authorize.Net payment authorized와 Authorize.Net payment on hold는 항상 유지되므로, 이전에 결제된 주문은 재설치 후에도 캡처하고 환불할 수 있습니다. 기존 주문은 결제 메모와 거래 ID를 유지합니다.

Authorize.Net은 해당 소유자의 상표입니다. 이 모듈은 Authorize.Net과 제휴하거나 Authorize.Net의 승인을 받은 것이 아닙니다.