뒤로

VibeFox Adyen for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

PHP: 8.0 이상. 모듈은 이전 PHP 버전에 설치되지 않습니다.

Adyen 계정: Adyen 가맹점 계정 이름, 사용하는 각 환경(테스트 및 운영)의 API 키와 HMAC 키, 그리고 운영 결제의 경우 운영 URL 접두사가 필요합니다. API 키는 Checkout webservice 및 Merchant PAL webservice 역할을 가진 API 자격 증명에 속합니다. HMAC 키는 Standard 웹훅용으로 생성됩니다(설정 참조). 테스트 고객 영역은 ca-test.adyen.com, 운영 고객 영역은 ca-live.adyen.com입니다. 테스트 키와 운영 키는 별도입니다. 결제 페이지는 Adyen이 호스팅하므로 클라이언트 키는 필요하지 않습니다.

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

설치

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

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

3. 모듈 설정 페이지 상단의 라이선스 블록에서 VibeFox 라이선스 키를 License key에 입력하고 Activate를 클릭합니다 (라이선스 키 참조).

4. 가맹점 계정, 테스트 API 키, 테스트 HMAC 키를 입력하고, 나중에 운영 API 키, 운영 HMAC 키, 운영 URL 접두사를 입력합니다.

5. Adyen 고객 영역(테스트 및 운영)에서, 모듈의 Webhook 섹션에 표시된 URL로 Standard 웹훅을 추가합니다(설정 참조).

6. Enable/Disable을 켜고 Save를 클릭합니다. Test mode를 켠 상태에서 결제를 테스트한 다음 끕니다.

설치 시 모듈은 주문 상태 Adyen payment on hold를 생성합니다. PrestaShop은 그 시점에 활성화된 통화, 국가 및 고객 그룹에 대해 새 결제 모듈을 제공합니다. Payment > Preferences에서 확인하고 변경하십시오. 나중에 추가하는 국가는 그곳에서 체크해야 합니다.

설정

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Adyen Gateway > Configure. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 현재 모드의 설정이 불완전한 동안 페이지에는 Adyen is hidden at checkout until the test settings are complete(또는 live settings)가 표시되고, 누락된 항목이 나열됩니다: Merchant account, API 키, HMAC 키, 운영 모드에서는 Live URL prefix. 테스트 모드가 켜져 있으면 페이지에 Test mode is on: payment links and refunds go to the Adyen test environment, no real money.가 표시됩니다. 저장할 때, 16진수가 아닌 HMAC 키와 문자, 숫자, 하이픈 이외의 문자가 포함된 운영 URL 접두사는 저장되지 않습니다. 경고에 해당 필드가 표시되고 이전 값이 유지됩니다.

Adyen

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

Title: 고객이 결제 단계에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Adyen. 필수.

Description: 결제 단계에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay securely via Adyen.

Adyen 계정

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

Test mode: Adyen 테스트 환경을 사용합니다(실제 돈이 청구되지 않음). 켜면 결제 링크와 환불이 테스트 API 키로 checkout-test.adyen.com에 전송됩니다. 기본값: 켬. 실제 결제를 받으려면 끄십시오. 켜져 있는 동안 고객은 결제 수단 아래에서 Test mode: no real payment is taken.를 봅니다.

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에서 가져옵니다.

저장된 API 키와 HMAC 키는 다시 표시되지 않습니다. 필드는 비어 있으며, 안내 문구는 Saved — leave empty to keep it.로 끝납니다. 변경하려는 경우에만 새 값을 입력하십시오.

Clear saved secrets: 키를 체크하고 Save를 클릭하면 삭제됩니다. 빈 필드는 저장된 값을 유지합니다.

Webhook

주문은 Adyen 웹훅으로만 생성됩니다. 고객 영역(테스트 및 운영)에서 Developers > Webhooks로 이동하여, 이 섹션의 Webhook URL에 표시된 URL로 Standard webhook을 추가합니다. 친숙한 URL을 사용하면 다음과 같은 형태입니다: https://your-shop/module/wcp_adyen_gateway/webhook. 경우에 따라 /en/ 같은 언어 코드가 붙을 수 있습니다. Adyen은 리디렉션을 따르지 않으므로, URL을 설정에 표시된 그대로 정확히 복사하십시오. 형식으로 JSON을 선택하고, Generate HMAC key를 활성화한 다음, 키를 Test HMAC key 또는 Live HMAC key에 복사하십시오.

각 알림의 환경이 HMAC 키를 선택하며, 알림은 같은 환경과 같은 가맹점 계정에서 만들어진 결제 링크에만 적용됩니다. 테스트 알림은 운영 결제를 절대 확인하지 않습니다. 유효한 서명이 없는 웹훅은 HTTP 401로 거부되며, Adyen은 나중에 다시 시도합니다. 웹훅이 없으면 주문이 생성되지 않습니다.

모듈은 다음 이벤트를 처리합니다:

AUTHORISATION: 결제가 승인되었습니다(금액 검증 후 주문 생성) 또는 거부되었습니다(결제 시도는 실패로 표시되며 고객은 다시 결제할 수 있습니다).
CAPTURE: 결제가 캡처되었습니다. 메모가 추가됩니다.
CAPTURE_FAILED: 캡처에 실패했습니다. 결제 완료된 주문은 보류됩니다.
CANCELLATION: 이 주문의 결제가 Adyen에서 취소되었습니다. 주문이 취소됩니다.
REFUND: 환불이 확인되었거나 실패했습니다. 메모가 추가됩니다.
REFUND_FAILED: 환불에 실패했습니다. 메모가 돈이 반환되지 않았음을 경고합니다.

다른 이벤트는 주문 메모에 추가됩니다. 고객 영역의 테스트 버튼처럼 이 쇼핑몰의 장바구니에 속하지 않는 알림은 수락되고 무시됩니다. 웹훅은 쇼핑몰이 유지 보수 모드인 동안에도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다.

고급

Order status after payment: 성공한 AUTHORISATION 웹훅이 설정하는 주문 상태입니다.

Payment accepted (Processing): 결제 완료된 주문에 대한 PrestaShop의 표준 상태입니다(기본값).
Delivered (Completed): 결제된 모든 주문이 배송 완료 상태가 됩니다.
Adyen payment on hold (On Hold): 결제된 모든 주문은 수동 검토를 기다립니다. 결제는 주문에 계속 기록됩니다.

금액 또는 통화 불일치와 실패한 캡처는 항상 Adyen payment on hold로 갑니다.

Debug log: API 호출과 웹훅 이벤트를 모듈 폴더의 logs/adyg_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 스위치가 꺼져 있어도 오류는 항상 기록됩니다. 로그에는 API 키나 HMAC 키, 고객 개인 정보가 포함되지 않습니다. 기본값: 끔.

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

Delete data on uninstall: 켜져 있으면 모듈을 제거할 때 모듈 설정, Adyen 결제 기록(PSP 참조 번호, 웹훅 이벤트, 환불) 및 로그가 삭제됩니다. 주문 상태 Adyen payment on hold와 주문은 남습니다. 기본값: 끔.

체크아웃

결제 단계에서 고객은 결제 수단(기본값 Adyen)을 선택하고 You will be redirected to Adyen to complete the payment securely. 안내를 봅니다. 확인 후 모듈은 장바구니 합계에 대해 장바구니 통화로 Adyen 결제 링크를 만들고, 고객을 Adyen 결제 페이지로 보냅니다. 그곳에서 고객은 Adyen 계정에서 활성화된 모든 수단으로 결제합니다. 고객의 이메일, 이름, 청구지 국가와 쇼핑몰 언어가 Adyen에 전달되며, 결제는 Cart #과 장바구니 번호로 표시됩니다. 이 시점에는 아직 주문이 없습니다.

결제 후 고객은 쇼핑몰로 돌아옵니다. 돌아온다고 해서 주문이 생성되거나 결제되지는 않습니다. 주문은 Adyen이 서명된 AUTHORISATION 웹훅으로 확인하고 금액과 통화가 장바구니와 일치할 때만 결제 완료로 표시됩니다. 웹훅이 이미 도착했다면 고객은 표준 주문 확인 페이지에서 Your payment with Adyen has been received.를 봅니다(보류 중인 주문의 경우 Your payment with Adyen has been received and is being reviewed by the store.). 그 전에 Adyen이 결제를 취소했다면 페이지에 Your Adyen payment was not completed. Please contact us about this order.가 표시됩니다. 웹훅이 아직 도착하지 않았다면 Payment confirmation 페이지에 Your payment is being confirmed by Adyen. Your order will be created as soon as Adyen confirms the payment, and you will receive an e-mail.가 표시되며, 결제를 완료하지 않은 고객을 위한 Check again 및 Back to checkout 버튼이 함께 나타납니다.

결제가 거부되면 주문은 생성되지 않으며 고객은 다시 시도할 수 있습니다. 고객이 같은 장바구니에 대해 새 결제를 시작하면 이전 결제 링크는 만료되므로 그 링크로도 결제할 수 없습니다. 장바구니에 이미 주문이 있다면, 고객은 새 결제 대신 그 주문의 확인 페이지로 이동합니다.

결제 링크를 만들 수 없으면 고객은 체크아웃에 머물며 Payment could not be initiated. Please try again or choose another payment method.를 봅니다. 그 이유는 로그에 기록됩니다. 설정이 불완전하면 메시지는 Payment gateway is not configured properly. Please contact the store administrator.입니다.

개발자는 actionAdygPaymentLinkRequest 훅으로 결제 링크 요청을 변경할 수 있습니다.

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

주문 및 환불

주문 상태

No order yet: 고객이 Adyen으로 보내졌지만 결제하지 않았거나, 결제가 거부되었거나, Adyen이 아직 결제를 확인하지 않았습니다. 장바구니만 존재합니다.

Payment accepted, Delivered or Adyen payment on hold: 결제가 승인되었습니다. 상태는 Order status after payment를 따릅니다. 결제는 Adyen PSP 참조 번호를 거래 ID로 하여 기록되며, 메모에는 금액, PSP 참조 번호 및 결제 수단이 표시됩니다.

Adyen payment on hold after payment: Adyen이 장바구니 합계와 다른 금액 또는 통화를 확인했거나(예: 결제 시작 후 장바구니가 변경됨), 캡처가 실패했거나, 주문이 취소된 후 결제가 도착했습니다. 메모에 이유가 설명되어 있습니다. 고객 영역에서 결제를 확인한 다음 주문을 처리하거나 결제를 환불하십시오.

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

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

이미 결제된 주문에 두 번째 성공 결제가 도착하면(예: 오래된 결제 링크에서), 주문은 변경되지 않습니다. 메모는 고객 영역에서 중복 청구가 있는지 확인하고, 필요하면 거기에서 환불하라고 알려 줍니다.

Adyen 결제 블록

주문 페이지에는 Adyen payment 블록이 표시되며, PSP 참조 번호, 결제 링크, 가맹점 계정과 환경, 결제 상태, 결제 및 환불된 금액, 테스트 결제용 Test mode 배지, 환불 내역, 그리고 Adyen notes가 포함됩니다. Adyen notes는 모듈이 주문에 추가하는 메모(결제 승인, 금액 불일치, 중복 결제, 캡처, 취소, 환불 결과)로, 최신순으로 표시됩니다. 이 메모는 주문의 비공개 메시지이며, PrestaShop 8.2 및 9는 주문 페이지의 다른 곳에 표시하지 않습니다.

환불

Adyen payment 블록에 금액을 입력합니다(아직 환불되지 않은 금액이 채워집니다). 선택적으로 사유를 입력하고 Refund via Adyen을 클릭합니다. Refund this amount through Adyen? This cannot be undone. 질문을 확인하십시오. 전액 및 부분 환불을 지원합니다. 주문을 편집할 권한이 필요합니다. 환불은 Adyen이 승인한 금액과 통화로 이루어지므로, 금액 또는 통화 불일치 후에는 주문 합계가 아니라 고객이 실제로 결제한 금액까지만 환불할 수 있습니다. 환불은 결제가 이루어진 환경과 가맹점 계정으로 전송되므로, 해당 환경의 API 키가 설정되어 있어야 합니다. Adyen이 요청을 수락하지 않으면 블록에 오류가 표시되며 환불은 기록되지 않습니다.

Adyen은 환불을 비동기로 처리합니다. 요청은 received 상태로 환불 내역과 메모에 추가되며, 최종 결과는 REFUND 또는 REFUND_FAILED 웹훅으로 도착합니다. 실패한 환불은 더 이상 환불된 것으로 계산되지 않습니다. 보낸 환불이 결제 금액에 도달하면 주문이 Refunded로 설정됩니다. 부분 환불은 상태를 바꾸지 않습니다. Adyen에서 수동 캡처를 사용하는 경우, 캡처된 결제만 환불할 수 있습니다.

모듈은 크레딧 슬립을 만들지 않습니다. 주문 페이지의 표준 PrestaShop 환불 버튼은 Adyen을 통해 돈을 돌려보내지 않습니다. Adyen 고객 영역에서 이루어진 환불은 웹훅으로 도착하여 메모에 추가됩니다. 주문 상태와 크레딧 슬립은 자동으로 변경되지 않습니다.

라이선스 키

모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox Adyen Gateway은 Modules > Module Manager > VibeFox Adyen Gateway > Configure에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 입력하고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거) 버튼이 표시됩니다. 그 아래에는 Product: presta-payment-adyen 줄과 Manage licenses and domains in your account 링크가 있으며, 이 링크는 vibefox.net 계정을 엽니다. 모듈의 Configure 권한이 있는 직원만 키를 변경할 수 있습니다. 블록의 텍스트는 백오피스 언어를 따릅니다(영어와 러시아어 포함).

키가 허용되지 않으면 블록에 이유가 표시됩니다. 예: Key not found, This key belongs to another product, Domain limit reached, 또는 날짜와 함께 License expired on. 쇼핑몰 주소를 변경한 후나 계정에서 도메인 슬롯을 비운 후에는 Check now를 클릭하십시오. 라이선스 서버에 연결할 수 없으면 모듈은 마지막으로 확인된 상태로 계속 작동합니다.

키 하나는 도메인 하나에서만 작동합니다. 다중 쇼핑몰 설정에서도 기본 쇼핑몰의 도메인입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.

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

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

문제 해결

체크아웃에 Adyen이 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드의 설정이 완전한지 확인하십시오: Merchant account, 해당 모드의 API 키와 HMAC 키, 운영 모드에서는 Live URL prefix. 설정 페이지에 누락된 항목이 나열됩니다. Payment > Preferences에서 모듈이 장바구니 통화, 고객의 국가, 고객 그룹에 허용되어 있는지 확인하십시오.

결제는 완료되었지만 주문이 생성되지 않음: 웹훅이 작동하지 않습니다. 사용 중인 환경(테스트 또는 운영)의 고객 영역에서 Standard 웹훅이 있는지, URL이 Webhook URL에 표시된 것과 정확히 같은지, 방식이 JSON인지 확인하십시오. 해당 웹훅의 HMAC 키가 맞는 필드(Test HMAC key 또는 Live HMAC key)에 있는지 확인하십시오. HMAC 키가 잘못되었거나 없으면 모듈은 HTTP 401로 응답하고, Adyen은 나중에 전송을 다시 시도하므로 키를 고치면 주문이 자동으로 생성됩니다. 로그에는 Webhook rejected: invalid HMAC signature 또는 HMAC 키가 설정되지 않았다는 내용이 표시됩니다.

웹훅이 [rejected] HMAC key not configured로 응답함: 알림 환경의 HMAC 키가 비어 있습니다. 설정에 붙여넣으십시오.

웹훅이 [rejected] busy, retry later로 응답함: 같은 시각에 다른 전송이 장바구니를 처리하고 있었거나, 주문을 만들 수 없었습니다(예: 모듈이 비활성화된 경우). Adyen은 웹훅을 자동으로 다시 시도합니다. 이유는 로그에 있습니다.

브라우저에서 웹훅 URL에 [rejected] POST required in the browser가 표시됨: 정상입니다. 이 URL은 Adyen의 알림만 받습니다.

저장 시 HMAC 키 경고: 필드에는 고객 영역의 16진수 HMAC 키가 있어야 합니다. 이전 값이 유지되었습니다.

고객에게 Payment could not be initiated가 표시됨: 모듈 페이지의 Log 필드를 확인하십시오(오류는 항상 기록됩니다). API 키, 가맹점 계정, 그리고 운영 모드라면 운영 URL 접두사를 확인하십시오.

결제 후 주문이 Adyen payment on hold 상태임: 주문의 메모를 읽으십시오. Adyen이 확인한 금액 또는 통화가 장바구니와 일치하지 않았거나, 캡처가 실패했거나, 결제가 취소 후에 도착했습니다. Order status after payment 설정 때문일 수도 있습니다.

환불이 실패함: 주문에 Adyen PSP 참조 번호가 있어야 하며, 이는 AUTHORISATION 웹훅과 함께 도착합니다. 결제가 이루어진 환경의 자격 증명이 설정되어 있어야 합니다. 그렇지 않으면 블록에 자격 증명이 설정되지 않았다고 표시됩니다. 수동 캡처를 사용하는 경우, 캡처된 결제만 환불할 수 있습니다.

제거

Modules > Module Manager로 이동하여 VibeFox Adyen Gateway 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. Delete data on uninstall이 켜져 있으면 모듈 설정, Adyen 결제 기록(PSP 참조 번호, 웹훅 이벤트, 환불) 및 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모두 보존되므로, 이전에 결제된 주문도 환불할 수 있습니다. 주문 상태 Adyen payment on hold는 항상 남습니다. 기존 주문은 결제 메모와 거래 ID를 유지합니다.

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