뒤로

VibeFox Adyen for WooCommerce — 도움말

요구 사항

WordPress: 6.0 이상.

WooCommerce: 7.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인을 활성화할 수 없습니다.

PHP: 8.0 이상.

Adyen 계정: 사용하는 각 환경(테스트 및 운영)에 대해 Adyen 가맹점 계정 이름, API 키, HMAC 키가 필요하며, 운영 결제에는 운영 URL 접두사가 필요합니다. API 키는 Checkout webservice 및 Merchant PAL webservice 역할이 있는 API 자격 증명에 속합니다. HMAC 키는 Standard 웹훅에 대해 생성됩니다(설정 항목 참조). 테스트 고객 영역은 ca-test.adyen.com, 운영 고객 영역은 ca-live.adyen.com입니다. 테스트 키와 운영 키는 별도입니다.

VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 1개는 도메인 1개에서 작동합니다.

설치

1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택한 다음 Install Now를 클릭하세요. FTP로 wcp_adyen_gateway 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.

2. Activate를 클릭하세요.

3. 설정을 엽니다: WooCommerce > Settings > Payments > Adyen > Manage, 또는 플러그인 페이지에서 플러그인 이름 아래의 Settings를 클릭하세요.

4. 페이지 상단의 라이선스 영역에 VibeFox 라이선스 키를 입력하고 Activate를 클릭하세요.

5. 가맹점 계정, 테스트 API 키, 테스트 HMAC 키를 입력하세요. 나중에 운영 API 키, 운영 HMAC 키, 운영 URL 접두사를 입력하세요.

6. Adyen 고객 영역(테스트 및 운영)에서 설정에 표시된 URL로 Standard 웹훅을 추가하세요(설정 항목 참조).

7. Enable/Disable을 켜세요. Test mode를 켠 상태에서 결제를 테스트한 다음 체크를 해제하세요.

설정

모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > Adyen. 현재 모드의 설정이 불완전하면 페이지에 Adyen is hidden at checkout until the test settings are complete(또는 live settings) 문구가 표시되고, 누락된 항목을 나열합니다: Merchant account, API 키, HMAC 키, 그리고 운영 모드에서는 Live URL prefix. 저장할 때 16진수가 아닌 HMAC 키, 또는 문자·숫자·하이픈 이외의 문자가 포함된 운영 URL 접두사는 오류와 함께 거부되며 이전 값이 유지됩니다.

일반

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

Title: 체크아웃에서 고객이 보는 결제 수단 이름입니다. 기본값: Adyen.

Description: 체크아웃에서 결제 수단 아래에 표시되는 문구입니다. 기본값: Pay securely via Adyen.

Adyen 계정

API 키는 Adyen 고객 영역의 Developers > API credentials에서 만듭니다. 두 세트의 키를 모두 입력하세요. Test mode 스위치가 사용할 키를 선택합니다.

Test mode: Use the Adyen test environment (no real money). 켜져 있으면 결제 링크와 환불이 테스트 API 키를 사용하여 checkout-test.adyen.com으로 전송됩니다. 기본값: 켜짐. 실제 결제를 받으려면 체크를 해제하세요.

Merchant account: Adyen 가맹점 계정 이름입니다(회사 계정이 아님). 예: MyShopECOM. 보통 테스트 고객 영역과 운영 고객 영역에서 같습니다.

테스트 자격 증명

Test mode가 켜져 있는 동안 사용됩니다.

Test API key: 테스트 고객 영역에서: Developers > API credentials > 해당 자격 증명 > API key.

Test HMAC key: 테스트 고객 영역에서: Developers > Webhooks > 해당 Standard 웹훅 > HMAC key(16진수). 필수 항목입니다. 유효한 서명이 없는 웹훅은 거부됩니다.

운영 자격 증명

Test mode가 꺼져 있을 때 사용됩니다.

Live API key: 운영 고객 영역에서: Developers > API credentials > 해당 자격 증명 > API key.

Live HMAC key: 운영 고객 영역에서: Developers > Webhooks > 해당 Standard 웹훅 > HMAC key(16진수).

Live URL prefix: 운영 고객 영역에서: Developers > API URLs. 예: https://1797a841fbb37ca7-AdyenDemo-checkout-live.adyenpayments.com에서 가져온 1797a841fbb37ca7-AdyenDemo. 전체 URL을 붙여 넣을 수 있으며, 저장할 때 URL에서 접두사를 추출합니다.

웹훅

주문은 Adyen 웹훅으로만 결제 완료로 표시됩니다. 고객 영역(테스트 및 운영)에서 Developers > Webhooks로 이동하여, 설정의 이 섹션에 표시된 URL로 Standard webhook을 추가하세요. URL은 다음과 같은 형태입니다: https://your-site/wc-api/adyg_adyen_webhook/. 메서드로 JSON을 선택하고, Generate HMAC key를 활성화한 다음 키를 Test HMAC key 또는 Live HMAC key에 복사하세요. 각 알림의 환경에 따라 사용할 HMAC 키가 선택됩니다. 유효한 서명이 없는 웹훅은 거부되며, Adyen은 나중에 다시 시도합니다. 웹훅이 없으면 주문은 Pending payment 상태로 남습니다.

플러그인은 다음 이벤트를 처리합니다:

AUTHORISATION: 결제가 승인되었거나(금액 검증 후 주문이 결제 완료됨) 거부되었습니다(대기 중인 주문은 Failed로 변경됨).
CAPTURE: 결제가 캡처되었습니다. 메모가 추가됩니다.
CAPTURE_FAILED: 캡처가 실패했습니다. 결제 완료된 주문은 보류 중 상태가 됩니다.
CANCELLATION: 이 주문의 결제가 Adyen에서 취소되었습니다. 주문이 취소됩니다.
REFUND: 환불이 확인되었거나 실패했습니다. 메모가 추가됩니다.
REFUND_FAILED: 환불이 실패했습니다. 메모에 금액이 반환되지 않았다는 경고가 표시됩니다.

다른 이벤트는 주문 메모에 추가됩니다. 이 쇼핑몰의 주문과 관련 없는 알림(예: 고객 영역의 테스트 버튼으로 보낸 알림)은 수락된 후 무시됩니다.

고급

Order status after payment: 결제 성공 후 한 번의 상태 변경으로 설정되는 주문 상태입니다.

Processing: WooCommerce 기본 동작입니다(기본값). 가상 다운로드 주문은 자동으로 완료됩니다.
Completed: 결제 완료된 모든 주문이 완료됨이 됩니다.
On Hold: 결제 완료된 모든 주문이 수동 검토를 기다립니다.

Debug log: Log API calls and webhook events는 WooCommerce > Status > Logs에 소스 wcp_adyen_gateway로 기록합니다. 오류는 항상 기록됩니다. 로그에는 API 키, HMAC 키 또는 고객 개인 정보가 절대 포함되지 않습니다. 기본값: 꺼짐.

Delete data on uninstall: Delete the plugin settings and Adyen order meta (PSP references) when the plugin is deleted. 기본값: 꺼짐.

체크아웃에서의 작동 방식

고객은 결제 수단(기본값: Adyen)을 선택하고 주문합니다. 플러그인은 주문 합계에 대해 주문 통화로 Adyen 결제 링크를 생성하고, 고객을 Adyen 결제 페이지로 보냅니다. 고객은 여기서 Adyen 계정에서 활성화된 모든 수단으로 결제합니다. 고객의 청구 이메일, 이름, 국가와 쇼핑몰 언어가 Adyen에 전달되며, 결제 내역에는 Order #와 주문 번호로 표시됩니다.

결제 후 고객은 쇼핑몰의 주문 접수 페이지로 돌아갑니다. 돌아오는 것만으로는 주문이 결제 완료로 표시되지 않습니다. 주문은 Adyen이 서명된 AUTHORISATION 웹훅으로 확인하고 금액과 통화가 주문과 일치할 때만 결제 완료로 표시됩니다.

결제가 거부되면 주문은 Failed가 되며 고객은 다시 시도할 수 있습니다. 고객이 같은 주문에 대해 새 결제를 시작하면(예: Pay for order 페이지에서), 이전 결제 링크는 만료되므로 함께 결제할 수 없습니다.

결제 링크를 만들 수 없으면 고객에게 Payment could not be initiated. Please try again or choose another payment method.가 표시됩니다. 이유는 주문 메모에 추가됩니다. 설정이 불완전하면 고객에게 Payment gateway is not configured properly. Please contact the store administrator.가 표시됩니다.

JPY, KRW, IDR, VND처럼 소수점이 없는 통화에서는 WooCommerce > Settings > General > Number of decimals를 0으로 설정하세요. 그렇지 않으면 합계가 정수 단위로 반올림됩니다.

결제 수단은 클래식 체크아웃과 체크아웃 블록에서 작동합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.

플러그인에는 구독이나 정기 결제, 저장된 카드, 사이트 내 카드 입력 필드(Drop-in 또는 Components), WooCommerce의 캡처 또는 취소 버튼이 없으며, 웹훅용 기본 인증도 없습니다.

주문 및 환불

주문 상태

Pending payment: 결제 링크가 생성되었지만 Adyen이 아직 결제를 확인하지 않았습니다. 주문 메모에는 결제 링크, 금액 및 환경이 표시됩니다.

Processing, Completed or On Hold: 결제가 승인되었습니다. 상태는 Order status after payment 설정을 따릅니다. 주문 메모에는 금액, PSP 참조 번호 및 결제 수단이 표시됩니다. 거래 ID는 Adyen PSP 참조 번호입니다.

On hold after payment: Adyen이 주문 합계와 다른 금액 또는 통화를 확인했습니다. 주문 메모에 둘 다 표시되며, 주문은 결제 완료로 표시되지 않습니다. 캡처가 실패한 결제 완료 주문도 보류 중 상태가 됩니다. 금액이 회수되지 않았기 때문입니다. 고객 영역에서 결제를 확인하세요.

Failed: 결제가 거부되었습니다. 결제 완료, 보류 중, 취소된 주문은 거부된 결제에 의해 변경되지 않습니다.

Cancelled: 이 주문의 결제가 Adyen에서 취소되었습니다.

이미 결제 완료된 주문에 두 번째 성공 결제가 도착하면(예: 이전 결제 링크에서), 주문은 다시 변경되지 않습니다. 메모에는 중복 청구가 있는지 고객 영역에서 확인하고 필요하면 그곳에서 환불하라는 안내가 표시됩니다.

환불

주문을 열고 Refund를 클릭한 다음 금액을 입력하고 Refund via Adyen을 클릭하세요. 전액 및 부분 환불을 지원합니다. 환불은 결제가 이루어진 환경과 가맹점 계정으로 전송되므로, 해당 환경의 API 키가 설정되어 있어야 합니다. Adyen은 환불을 비동기로 처리합니다. 요청은 주문에 기록되고, 최종 결과는 REFUND 또는 REFUND_FAILED 웹훅에 의해 주문 메모로 추가됩니다. Adyen이 요청을 수락하지 않으면 WooCommerce가 오류를 표시하고 환불은 기록되지 않습니다. Adyen에서 수동 캡처를 사용하는 경우 캡처된 결제만 환불할 수 있습니다.

Adyen Customer Area에서 이루어진 환불은 웹훅으로 전달되어 주문 메모에 추가됩니다. 이는 WooCommerce 환불로 자동 기록되지 않습니다.

라이선스 키

이 플러그인은 vibefox.net에서 발급받은 VibeFox 라이선스 키로 작동합니다. 라이선스 영역은 WooCommerce > Settings > Payments > Adyen 페이지 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 이 영역에는 상태가 표시됩니다. 예를 들어 라이선스 유효 기한과 도메인이 표시됩니다. 상태를 다시 확인하려면 Check now를, 다른 키를 입력하려면 Change key를, 이 사이트에서 키를 제거하려면 Remove key를 사용하세요. Manage licenses and domains in your account 링크를 클릭하면 vibefox.net 계정이 열립니다.

키 1개는 도메인 1개에서 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 비워지지 않습니다. vibefox.net 계정에서 슬롯을 비우세요.

활성 키가 없으면 체크아웃에서 고객에게 Adyen이 표시되지 않습니다. 결제가 그래도 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. 로그인한 쇼핑몰 관리자에게는 결제 수단이 여전히 표시되며 (unlicensed — visible to admins only)로 표시되므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지와 WooCommerce 페이지에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 여전히 확인되며, 환불도 작동합니다.

라이선스가 만료되면 플러그인은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.

문제 해결

체크아웃에 Adyen이 표시되지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 그리고 현재 모드의 설정이 완료되었는지 확인하세요: Merchant account, 해당 모드의 API 키와 HMAC 키, 운영 모드에서는 Live URL prefix. 설정 페이지에 누락된 항목이 나열됩니다.

결제는 완료됐지만 주문이 Pending payment 상태로 남아 있음: 웹훅이 작동하지 않습니다. 사용하는 환경(테스트 또는 운영)의 고객 영역에서 Standard 웹훅이 있는지, URL이 설정에 표시된 것과 정확히 같은지, 메서드가 JSON인지 확인하세요. 해당 웹훅의 HMAC 키가 올바른 필드(Test HMAC key 또는 Live HMAC key)에 있는지 확인하세요. HMAC 키가 잘못되었거나 없으면 플러그인은 HTTP 401로 응답하고, Adyen은 나중에 전송을 다시 시도하므로 키를 고치면 주문이 자동으로 업데이트됩니다. 로그에는 Webhook rejected: invalid HMAC signature 또는 HMAC 키가 설정되지 않았다는 메시지가 표시됩니다.

웹훅이 Webhook answers busy, retry later로 응답함: 같은 순간에 다른 전송이 주문을 처리하고 있었습니다. Adyen이 웹훅을 자동으로 다시 시도합니다.

저장 시 HMAC 키 오류: 이 필드에는 고객 영역의 16진수 HMAC 키를 입력해야 합니다. 이전 값이 유지되었습니다.

고객에게 Payment could not be initiated가 표시됨: 주문 메모를 열거나 Debug log를 켜고 WooCommerce > Status > Logs에서 소스 wcp_adyen_gateway를 확인하세요. API 키, 가맹점 계정, 그리고 운영 모드에서는 운영 URL 접두사를 확인하세요.

결제 후 주문이 On hold 상태임: 주문 메모를 읽어 보세요. Adyen이 확인한 금액 또는 통화가 주문과 일치하지 않았거나 캡처가 실패했습니다. Order status after payment 설정 때문일 수도 있습니다.

환불 실패: 주문에 Adyen PSP 참조 번호가 있어야 하며, 이는 AUTHORISATION 웹훅과 함께 도착합니다. 결제가 이루어진 환경의 자격 증명이 설정되어 있어야 합니다. 수동 캡처의 경우 캡처된 결제만 환불할 수 있습니다.

라이선스 영역에 오류가 표시됨: 영역에 표시된 메시지를 따르세요. 예를 들어 키가 이미 다른 도메인에서 사용 중이면, vibefox.net 계정에서 슬롯을 비운 후 Check now를 클릭하세요. 사이트 주소가 변경된 경우 Check now를 클릭하여 새 도메인에 대해 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태에서 계속 작동합니다.

제거

플러그인을 비활성화하면 모든 데이터가 유지됩니다. 제거하려면 Plugins 페이지에서 비활성화한 후 삭제하세요. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 제거됩니다. 결제 게이트웨이 설정과 주문에 저장된 Adyen 데이터(PSP 참조 번호, 결제 링크, 처리된 이벤트)는 Delete data on uninstall이 켜져 있었던 경우에만 제거됩니다. 그렇지 않으면 나중에 재설치할 때를 위해 유지됩니다. 기존 주문은 결제 메모와 거래 ID를 그대로 유지합니다.

Adyen은 해당 소유자의 상표입니다. 이 플러그인은 Adyen과 제휴하거나 Adyen의 승인을 받지 않았습니다.