뒤로

VibeFox EveryPay for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

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

EveryPay 계정: 쇼핑몰의 API 사용자 이름, API 시크릿, 처리 계정 이름이 필요합니다. 이 정보는 EveryPay Merchant Portal의 쇼핑몰 설정에 있습니다. 테스트 모드에는 데모 포털을, 실제 결제에는 운영 포털을 사용합니다. 테스트 환경과 운영 환경은 자격 증명이 별도입니다. 또한 두 포털 모두에서 쇼핑몰의 콜백 URL을 설정해야 합니다(설정 항목 참조).

쇼핑몰 통화: 처리 계정이 청구할 통화를 결정합니다. 예를 들어 EUR3D1은 EUR로 청구합니다. 이 결제 수단은 해당 통화의 장바구니에 대해서만 제공됩니다.

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

설치

1. 관리자 페이지에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈의 ZIP 파일을 선택합니다.

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

3. Configure 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 입력하고 Activate를 클릭하십시오(라이선스 키 항목 참조).

4. 데모 Merchant Portal에서 테스트 API 사용자 이름, 테스트 API 시크릿, 처리 계정 이름을 입력합니다. Test Mode는 켜진 상태로 둡니다.

5. 설정 페이지에 표시된 콜백 URL을 복사하여 Merchant Portal의 쇼핑몰 Callback notification URL에 입력합니다.

6. Enable/Disable을 켜고 Save를 클릭한 다음 테스트 주문을 진행합니다. 모든 것이 정상적으로 작동하면 운영 자격 증명을 입력하고, 운영 포털에도 콜백 URL을 설정한 뒤 Test Mode를 끕니다.

설치 시 모듈은 주문 상태 EveryPay payment on hold를 생성합니다. PrestaShop은 모든 통화, 국가, 고객 그룹에 대해 새로운 결제 모듈을 제공합니다. 이는 Payment > Preferences에서 제한할 수 있습니다.

설정

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox EveryPay Payment > Configure. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 테스트 모드가 켜져 있는 동안 페이지는 입력란 위에 테스트 모드가 켜져 있습니다. 결제는 EveryPay 데모 환경으로 전송되며 실제 금액은 청구되지 않습니다.를 표시합니다. 결제 수단이 활성화되어 있는데 현재 모드의 API 사용자 이름, API 시크릿 또는 처리 계정이 비어 있으면(이 경우 결제 수단은 체크아웃에서 숨겨집니다), 그리고 처리 계정이 쇼핑몰의 기본 통화와 다른 통화로 청구하면 경고합니다. 자격 증명과 함께 붙여넣은 공백과 줄바꿈은 저장할 때 제거됩니다.

EveryPay

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

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

Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay securely by card or bank link on the EveryPay payment page.

EveryPay 계정

API 사용자 이름, API 시크릿, 처리 계정 이름은 EveryPay Merchant Portal(쇼핑몰 설정)에 표시됩니다. 테스트 모드에는 데모 포털을, 실제 결제에는 운영 포털을 사용합니다. 이 섹션에는 두 포털 모두에 대한 링크가 있습니다.

Test Mode: 켜면 결제는 테스트 자격 증명을 사용하여 EveryPay 데모 환경으로 전송됩니다. 실제 금액은 청구되지 않습니다. 기본값: on. 켜져 있는 동안 고객은 결제 수단 아래에서 테스트 모드: EveryPay 데모 환경, 실제 금액은 청구되지 않습니다.를 보게 됩니다.

Test API Username: 데모 환경의 API 사용자 이름입니다.

Test API Secret: 데모 환경의 API 시크릿입니다.

Live API Username: 운영 환경의 API 사용자 이름입니다.

Live API Secret: 운영 환경의 API 시크릿입니다.

저장된 시크릿은 다시 표시되지 않습니다. 입력란은 비어 있으며 저장됨 — 유지하려면 비워 두십시오.를 표시합니다. 변경하려는 경우에만 새 값을 입력하십시오.

Clear saved API secrets: 시크릿을 체크하고 Save를 클릭하면 삭제됩니다. 빈 입력란은 저장된 값을 유지합니다.

Processing Account Name: EveryPay 처리 계정입니다(예: EUR3D1). 이 계정이 청구할 통화를 결정하며, 결제 수단은 해당 통화의 장바구니에 대해서만 제공됩니다. 두 모드 모두 같은 계정 이름을 사용합니다.

결제 알림(콜백)

콜백은 결제가 완료되었음을 쇼핑몰에 알려, 고객이 브라우저를 닫더라도 주문이 생성되도록 합니다. Callback notification URL에 표시된 URL을 EveryPay Merchant Portal의 쇼핑몰 Callback notification URL에 복사하십시오. 데모와 운영 포털 모두에 설정합니다. 친숙한 URL을 사용하는 경우 다음과 같은 형태입니다: https://your-shop/module/wcp_everypay_payment/callback. 설정에 표시된 그대로 URL을 정확히 복사하십시오. 결제 요청에는 콜백 URL이 포함되지 않으므로 포털에서 설정해야 합니다.

콜백에는 결제 참조 정보만 포함됩니다. 콜백이 도착하면 모듈은 결제가 생성된 환경의 자격 증명으로 EveryPay API에 결제 상태를 조회하고, 응답이 이 장바구니에 속하는지 확인합니다. 쇼핑몰이 생성하지 않은 결제에 대한 콜백은 EveryPay에 요청하지 않고 거부됩니다. 콜백이 없으면 고객이 결제 후 쇼핑몰로 돌아오거나 EveryPay가 콜백을 재시도할 때 주문이 생성됩니다.

고급

Debug log: 결제 이벤트를 모듈 폴더의 logs/wc_evp_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 오류와 경고는 이 옵션이 꺼져 있어도 항상 기록됩니다. API 시크릿, 카드 정보, 고객 이메일은 절대 기록되지 않습니다. 기본값: off.

Log: 로그의 크기와 최근 항목을 보여 줍니다. Clear log를 클릭하면 로그를 비울 수 있습니다.

Uninstall: 모듈을 제거할 때 게이트웨이 설정과 로그를 삭제합니다. 주문의 EveryPay 결제 데이터는 항상 보존됩니다. 기본값: off.

체크아웃

결제 단계에서 고객은 결제 수단(기본값은 EveryPay)을 선택하고 확인합니다. 모듈은 고객의 이메일과 청구지 주소를 포함하여 장바구니 통화로 장바구니 금액에 대한 일회성 EveryPay 결제를 생성하고, 고객을 EveryPay 결제 페이지로 보냅니다. 결제 페이지의 언어는 쇼핑몰 언어를 따릅니다(영어, 에스토니아어, 러시아어, 라트비아어, 리투아니아어, 핀란드어 또는 독일어; 그 외에는 영어). 고객은 그 페이지에서 EveryPay 계정에 활성화된 결제 수단 중 하나로 결제합니다. 이 시점에는 아직 주문이 없습니다.

결제 후 고객은 쇼핑몰로 돌아옵니다. 주문은 EveryPay가 결제를 확인한 후에만 결제 완료로 표시됩니다. 모듈은 돌아올 때와 콜백 시 EveryPay API에 결제 상태를 조회합니다. 그 후 주문이 생성되고 고객은 표준 주문 확인 페이지를 보게 됩니다. EveryPay가 아직 결제를 처리 중이거나 그 시점에 API에 연결할 수 없으면, Payment confirmation 페이지에 EveryPay에서 결제를 확인하고 있습니다. 주문이 확정되면 이메일을 받게 됩니다. 메시지와 Check again 버튼이 표시됩니다. EveryPay가 결제를 확인하는 즉시 콜백이 주문을 생성합니다.

결제가 실패하면 고객은 체크아웃으로 돌아가 EveryPay 결제가 성공하지 못했습니다. 다시 시도하거나 다른 결제 수단을 선택하십시오.라는 메시지를 보게 됩니다. 고객이 결제하지 않고 결제 페이지를 떠났다면 메시지는 EveryPay 결제가 완료되지 않았습니다. 다시 시도하거나 다른 결제 수단을 선택할 수 있습니다.입니다. 장바구니는 유지됩니다. 새 시도마다 새로운 EveryPay 결제가 생성되며, 이전 시도도 기록되므로 이전 링크로 한 결제도 계속 인식됩니다.

EveryPay가 결제를 시작할 수 없으면 고객은 체크아웃에 머물며, 예를 들어 EveryPay를 일시적으로 사용할 수 없습니다. 잠시 후 다시 시도하거나 다른 결제 수단을 선택하십시오.와 같은 짧은 메시지를 보게 됩니다. 자세한 내용은 로그에 있습니다.

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

모듈은 일회성 결제만 지원합니다. PrestaShop에서의 환불이나 캡처, 저장된 카드나 원클릭 결제, 구독이나 정기 결제, 내장 카드 입력란은 지원하지 않으며, 다중 통화도 지원하지 않습니다.

주문

주문 상태

No order yet: 고객이 EveryPay로 보내졌지만 결제하지 않았거나, 결제가 실패했거나 중단되었거나, EveryPay가 아직 결제를 확인하지 않은 상태입니다. 장바구니만 존재합니다.

Payment accepted: EveryPay가 결제가 정산되었거나 승인되었다고 보고했습니다. 결제는 EveryPay 결제 참조 번호를 거래 ID로 하여 기록되며, 메모에 금액, 통화, 참조 번호가 표시됩니다. 승인된 결제의 경우 메모에 자금이 예약되었다고 표시됩니다. 계정에서 자동 캡처를 하지 않는다면 EveryPay Merchant Portal에서 결제를 캡처하십시오. 나중에 결제가 정산되면 메모가 하나 추가됩니다.

EveryPay payment on hold: 결제에 수동 검토가 필요합니다. 결제된 금액이나 통화가 장바구니와 다르거나(예: 결제가 시작된 후 장바구니가 변경됨), 결제가 도착하기 전에 주문이 취소되었거나, 주문이 현재 다른 결제 수단을 사용하고 있는 경우입니다. 메모에 이유가 설명되며 주문이 결제 완료로 표시되지 않았다고 알려 줍니다. Merchant Portal에서 결제를 확인한 다음, 수동으로 주문을 처리하거나 환불하십시오. 이 결제에 대한 이후의 콜백은 주문을 자동으로 완료하지 않습니다.

이미 결제 완료된 주문에 대해 두 번째 결제가 완료되면 주문은 변경되지 않습니다. 메모는 EveryPay Merchant Portal에서 중복 결제를 환불하라고 요청합니다.

EveryPay 결제 블록

주문 페이지에는 주문의 모든 EveryPay 결제 시도를 보여 주는 EveryPay payment 블록이 표시됩니다: 날짜, 결제 참조 번호(테스트 결제에는 Test mode 배지 표시), 주문 참조 번호, 금액, EveryPay 상태 및 결과. 그 아래에는 주문의 EveryPay notes가 최신순으로 표시됩니다.

Check EveryPay payment status: 블록의 버튼은 주문의 모든 EveryPay 결제를 최신순으로 API에서 확인하고, 위에서 설명한 대로 결과를 적용한 뒤 각 결제의 상태를 담은 메모를 하나 추가합니다. 결과는 블록에 표시됩니다. 주문 편집 권한이 필요하며, 모듈 페이지에 대한 접근 권한은 필요하지 않습니다. 콜백이 도착하지 않았을 때 사용하십시오. 예를 들어 나중에 이루어진 캡처나 환불을 확인할 때 쓸 수 있습니다.

환불

PrestaShop에서의 환불은 지원되지 않습니다. EveryPay Merchant Portal에서 환불한 다음, PrestaShop에서 주문 상태를 업데이트하십시오. EveryPay가 결제를 환불됨 또는 차지백으로 보고하면, 모듈은 주문에 메모만 추가하며 주문 상태는 변경되지 않습니다. 주문 페이지의 PrestaShop 표준 환불 버튼은 EveryPay를 통해 금액을 돌려주지 않습니다.

라이선스 키

모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox EveryPay Payment은 Modules > Module Manager > VibeFox EveryPay Payment > Configure 페이지에서 설정 위쪽에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭하십시오. 그러면 블록에 마스킹된 키, 상태(예: 라이선스 유효 기간의 종료일과 도메인)와 함께 다음 버튼이 표시됩니다: Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거). 그 아래에는 Product: presta-payment-everypay 줄과 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 계정에서 슬롯을 해제하십시오.

활성 키가 없으면 체크아웃에서 고객에게 EveryPay가 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 이 결제 수단은 사용할 수 없습니다. 다른 결제 수단을 선택하십시오.가 표시됩니다. PrestaShop 스토어프런트는 백오피스에 로그인한 사실을 알지 못하므로, 결제 수단은 관리자에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만, 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 계속 확인되며, 상태 확인도 작동합니다.

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

문제 해결

체크아웃에 EveryPay가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드의 API 사용자 이름, API 시크릿, Processing Account Name이 설정되어 있는지, 그리고 장바구니 통화가 처리 계정의 통화인지 확인하십시오. 이러한 경우 설정 페이지에 경고가 표시됩니다. Payment > Preferences에서 장바구니 통화, 고객의 국가, 고객 그룹에 대해 모듈이 허용되어 있는지 확인하십시오.

결제는 완료되었으나 주문이 생성되지 않음: 콜백이 작동하지 않고 있습니다. 설정의 콜백 URL이 사용 중인 모드(데모 또는 운영)의 Merchant Portal에 Callback notification URL로 설정되어 있는지 확인하십시오. 고객이 결제 후 쇼핑몰로 돌아와도 주문이 생성됩니다. 모듈 페이지의 Log 필드를 확인하십시오. 오류는 항상 기록됩니다.

콜백이 Unknown payment, Unknown payment reference 또는 Payment does not belong to this order로 응답함: 결제가 이 쇼핑몰 또는 이 장바구니에서 생성되지 않았거나, EveryPay 응답이 일치하지 않습니다. 아무것도 변경되지 않습니다.

콜백이 Not configured로 응답함: 결제가 생성된 환경의 자격 증명이 없습니다. 예를 들어 테스트 자격 증명을 삭제한 뒤 진행된 테스트 결제가 해당됩니다. 자격 증명을 다시 입력하십시오. EveryPay가 콜백을 재시도합니다.

콜백이 Payment status unavailable, Busy, please retry 또는 Order could not be created로 응답함: EveryPay API에 연결할 수 없었거나, 같은 순간 다른 요청이 주문을 생성하고 있었거나, 주문을 생성할 수 없었습니다(예: 모듈이 비활성화된 경우). EveryPay가 콜백을 재시도합니다. 이유는 로그에 있습니다.

고객에게 「EveryPay를 일시적으로 사용할 수 없습니다」가 표시됨: EveryPay가 자격 증명을 거부했거나 연결할 수 없었습니다. 현재 모드의 API 사용자 이름과 API 시크릿을 확인하십시오.

고객에게 「이 결제 수단은 주문 통화를 지원하지 않습니다」가 표시됨: 장바구니 통화가 처리 계정의 통화와 다릅니다.

고객이 Payment confirmation 페이지에 머묾: EveryPay가 아직 결제를 확정하지 않았습니다. 주문은 콜백에 의해 생성되거나, EveryPay가 결제를 확인한 후 고객이 Check again을 클릭할 때 생성됩니다.

주문이 EveryPay payment on hold 상태임: 주문 블록의 EveryPay notes를 읽으십시오. 금액이나 통화가 달랐거나, 결제가 도착하기 전에 주문이 취소되었습니다. Merchant Portal에서 결제를 확인한 다음, 수동으로 주문을 처리하거나 환불하십시오.

개발자용: 모듈의 README에는 훅 actionWcpEverypayOneoffRequest(결제 요청 변경)와 actionWcpEverypayLocale(결제 페이지 언어 변경)이 나열되어 있습니다.

제거

Modules > Module Manager로 이동하여 VibeFox EveryPay Payment 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 설정에서 Uninstall(게이트웨이 설정과 로그 삭제)이 켜져 있으면 게이트웨이 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 설정이 보존됩니다. 주문의 EveryPay 결제 데이터와 EveryPay payment on hold 주문 상태는 항상 보존됩니다. 기존 주문은 결제 메모와 거래 ID를 유지합니다.

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