VibeFox MultiSafepay for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0 ~ 9.x.
PHP: 8.0 이상. 모듈은 그 이전 PHP 버전에서는 설치되지 않습니다.
통화: 장바구니 통화는 MultiSafepay가 받는 통화여야 합니다(예: EUR, USD, GBP, PLN, CHF, SEK, DKK, NOK). 그 외 통화의 경우 체크아웃에서 이 결제 수단이 표시되지 않습니다.
MultiSafepay 계정: MultiSafepay Control에서 쇼핑몰 웹사이트의 API 키를 확인해야 합니다. 테스트 계정과 실서비스 계정의 키는 서로 다릅니다. 그 밖에 MultiSafepay에서 설정할 것은 없습니다: 알림 주소는 모든 결제와 함께 전송됩니다.
공개 사이트: MultiSafepay가 알림을 보내려면 쇼핑몰에 접근할 수 있어야 합니다. 그렇지 않더라도 고객이 MultiSafepay에서 돌아오면 주문은 생성됩니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 사용할 수 있습니다.
설치
1. 관리자 페이지에서 Modules > Module Manager로 이동한 뒤 Upload a module을 클릭하십시오. 모듈의 ZIP 파일을 선택하십시오.
2. 업로드가 끝나면 Configure를 클릭하십시오. 또는 나중에 모듈 목록에서 VibeFox MultiSafepay Gateway를 찾아 Configure를 클릭하십시오.
3. Configure 페이지 상단의 라이선스 블록에 있는 License key 입력란에 VibeFox 라이선스 키를 입력하고 Activate를 클릭하십시오(라이선스 키 참고).
4. MultiSafepay Control에서 가져온 테스트 및/또는 실서비스 API 키를 붙여넣으십시오(설정 항목 참고).
5. Enable/Disable을 켜고 Save를 클릭하십시오. Test mode를 켠 상태에서 결제를 테스트한 뒤, 실제 결제를 받으려면 끄십시오.
설치 시 모듈은 주문 상태 MultiSafepay payment on hold를 만듭니다. PrestaShop은 모든 통화, 국가, 고객 그룹에 대해 새 결제 모듈을 제공합니다. Payment > Preferences에서 이를 제한할 수 있습니다.
설정
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 입력란 위에는 테스트 모드가 켜져 있는 동안 Test mode: new payments use the MultiSafepay test environment (no real payments).가 표시되며, 현재 모드에 API 키가 없으면(이 경우 결제 수단이 체크아웃에 표시되지 않습니다) 경고하고, MultiSafepay가 쇼핑몰의 기본 통화를 받지 않으면 경고합니다. Title이 없으면 페이지를 저장할 수 없습니다.
체크아웃
Enable/Disable: Enable MultiSafepay는 결제 수단을 켜거나 끕니다. 기본값: 끔.
Title: 체크아웃에서 고객에게 보이는 결제 수단 이름입니다. 주문에도 이 이름이 결제 수단으로 저장됩니다. 기본값: MultiSafepay. 필수 항목.
Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay securely with iDEAL, cards, Bancontact, PayPal and more via MultiSafepay.
API 키
API 키는 MultiSafepay Control > Manage settings > Website settings에서 찾을 수 있습니다. 이 섹션에서 테스트 계정(testmerchant.multisafepay.com)과 실서비스 계정(merchant.multisafepay.com)으로 연결됩니다. 두 계정의 키는 서로 다릅니다. 테스트 모드에서는 테스트 키만, 실서비스 모드에서는 실서비스 키만 사용합니다.
Test mode: Use the MultiSafepay test environment (no real payments). API 주소와 API 키를 함께 전환합니다. 이미 완료된 결제는 상태 확인과 환불에 결제가 이루어진 환경을 계속 사용합니다. 기본값: 켬. 켜져 있는 동안 고객에게는 결제 수단 아래에 Test mode: no real payment will be made.가 표시됩니다.
Test API key: MultiSafepay 테스트 계정의 API 키입니다.
Live API key: MultiSafepay 실서비스 계정의 API 키입니다.
저장된 키는 다시 표시되지 않습니다. 입력란은 비어 있으며 Saved — leave empty to keep it.가 표시됩니다. 변경하려는 경우에만 새 값을 입력하십시오.
Clear saved keys: 키를 체크하고 Save를 클릭하면 삭제됩니다. 입력란을 비워 두면 저장된 값이 유지됩니다.
알림
설정할 것은 없습니다. Notification URL 입력란에는 모든 결제와 함께 MultiSafepay로 전송되는 주소가 표시됩니다. 친숙한 URL을 사용하는 경우 https://your-shop/module/wcp_multisafepay_gateway/webhook과 같은 형태이며, /en/ 같은 언어 코드가 붙을 수도 있습니다. 알림은 어떤 결제가 변경되었는지만 모듈에 알려 줍니다. 상태, 금액, 통화는 주문을 생성하거나 변경하기 전에 항상 API 키로 MultiSafepay API에서 읽습니다. 쇼핑몰에서 시작되지 않은 결제의 알림은 무시됩니다. 알림은 쇼핑몰이 점검 모드일 때도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다.
주문
Order status after payment: 결제가 완료된 주문의 상태입니다. 상태는 한 번에 설정되며, 상태 변경은 한 번만 이루어지고 고객 이메일도 한 통만 발송됩니다.
고급
Debug log: Log API calls and notifications는 모듈 폴더의 logs/mspg_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 오류와 경고는 항상 기록됩니다. API 키와 고객 데이터는 절대 기록되지 않습니다. 기본값: 끔.
Log: 로그의 크기와 최신 항목을 보여 줍니다. Clear log를 클릭하면 로그가 비워집니다.
Delete data on uninstall: 켜져 있으면 모듈을 제거할 때 설정과 로그가 삭제됩니다. 주문의 MultiSafepay 결제 데이터와 주문 상태는 항상 남으므로, 이전 주문의 환불은 계속 가능합니다. 모듈을 비활성화해도 아무것도 삭제되지 않습니다. 기본값: 끔.
체크아웃
결제 단계에서 고객은 결제 수단(기본값은 MultiSafepay 로고가 있는 MultiSafepay)을 선택하고 확인합니다. 모듈은 장바구니 금액을 장바구니 통화로 하는 MultiSafepay 결제를 만들고, 고객을 MultiSafepay 결제 페이지로 보냅니다. 거기서 고객은 MultiSafepay 계정에서 활성화된 결제 수단을 선택하여 결제합니다. 고객의 청구지 주소, 이메일, 전화번호 및 언어가 MultiSafepay로 전달되며, 결제는 Order #, 장바구니 번호, 쇼핑몰 이름과 함께 표시됩니다. 이 단계에서는 아직 주문이 존재하지 않습니다.
결제 후 고객은 쇼핑몰로 돌아옵니다. MultiSafepay가 결제를 확인한 후에만 주문이 결제 완료로 표시됩니다. 확인은 알림을 통해서 이루어지거나, 고객이 돌아왔을 때 MultiSafepay API로 확인하여 이루어집니다. 그 후 주문이 생성되며, 고객은 Your payment with MultiSafepay has been received.가 표시된 일반 주문 확인 페이지를 보게 됩니다. 보류 중인 주문의 경우 페이지에 We are confirming your payment with MultiSafepay. The order will be updated automatically — please do not pay again.가 표시됩니다. 결제가 나중에 실패하면 페이지에 Your MultiSafepay payment was not completed. Please contact us about this order.가 표시됩니다. 고객이 돌아왔을 때 MultiSafepay가 아직 결제를 확인하지 않은 경우(예: 계좌이체를 기다리는 경우), Payment confirmation 페이지에 같은 확인 문구와 Check again 버튼이 표시됩니다. 알림은 MultiSafepay가 결제를 보고하는 즉시 주문을 생성합니다.
고객이 MultiSafepay 페이지에서 취소하거나 결제가 거절되거나 만료되면, 고객은 장바구니가 유지된 상태로 체크아웃으로 돌아오며 다음 메시지 중 하나를 보게 됩니다: The MultiSafepay payment was cancelled. You can try again or choose another payment method., The payment was declined. Please try again or choose another payment method. 또는 The payment session has expired. Please try again.
같은 장바구니에 대해 새 결제를 만들기 전에 모듈은 MultiSafepay에서 이전 결제를 확인합니다. 이미 결제되었거나 처리 중이면 새 결제 대신 주문이 생성됩니다. 금액이 같고 아직 열려 있으면 같은 결제 페이지가 재사용됩니다. 금액이 바뀌었다면 이전 결제는 MultiSafepay에서 취소되어 더 이상 결제할 수 없습니다.
MultiSafepay가 결제를 시작할 수 없으면 고객은 체크아웃에 머무르며, 예를 들어 Could not connect to MultiSafepay. Please try again in a moment. 또는 MultiSafepay cannot accept this order amount or currency. Please choose another payment method. 같은 짧은 메시지를 보게 됩니다. 기술적인 원인은 로그에 기록됩니다.
이 모듈은 MultiSafepay 결제 페이지로 연결되는 결제 수단 하나만 제공합니다. MultiSafepay 결제 수단마다 별도의 PrestaShop 결제 수단이 있지 않으며, 내장 카드 입력 양식, Apple Pay 또는 Google Pay 간편 결제 버튼, 구독, 정기 결제, 저장된 카드도 없고, PrestaShop에서 매입(capture)이나 취소도 할 수 없습니다. 장바구니 데이터는 전송되지 않으므로, 이를 필요로 하는 후불 결제 수단(예: Klarna, in3, Riverty)은 이 주문에 대해 MultiSafepay에서 제공되지 않습니다.
주문 및 환불
주문 상태
아직 주문 없음: 고객은 MultiSafepay로 이동했지만 결제하지 않았거나, MultiSafepay가 아직 결제를 확인하지 않았습니다. 장바구니만 존재합니다.
Payment accepted 또는 Delivered: MultiSafepay가 결제를 확인했습니다(완료 또는 발송). 상태는 Order status after payment를 따릅니다. 결제는 MultiSafepay 주문 ID를 거래 ID로 하여 기록되며, 메모에는 결제, 결제 수단, 환경이 표시됩니다.
MultiSafepay payment on hold before payment: 결제가 미정산(MultiSafepay가 검토 중)이거나 승인(예약)된 상태입니다. 돈을 받으려면 MultiSafepay Control에서 예약된 결제를 매입(capture)하십시오. MultiSafepay가 결제를 완료로 보고하면 주문은 자동으로 결제 완료 상태로 바뀝니다.
MultiSafepay payment on hold after payment: MultiSafepay가 장바구니 합계와 다른 금액이나 통화를 확인했습니다(예: 결제 시작 후 장바구니가 변경됨). 모듈이 실서비스 모드인 동안 테스트 결제가 완료되었습니다(실제 금액은 받지 않았으며 결제도 기록되지 않습니다). 또는 주문이 취소된 후 결제가 완료되었습니다. 메모에 이유가 설명되어 있습니다. MultiSafepay Control에서 거래를 확인한 후 주문을 처리하거나 환불하십시오.
MultiSafepay payment on hold after a chargeback: 결제 완료된 주문에 대해 MultiSafepay가 차지백을 보고했습니다. 금액이 쇼핑몰 계좌에서 회수되었습니다.
Payment error: 미정산 또는 승인된 결제가 나중에 거절, 취소, 만료 또는 무효화되었습니다.
Refunded: 모듈을 통해 결제 금액이 전액 환불되었습니다.
결제 완료되었거나 환불된 주문은 늦게 도착한 알림으로 다시 열리지 않습니다. 이미 결제된 장바구니에 대해 두 번째 결제가 완료되어도 주문은 변경되지 않습니다. 메모에서 MultiSafepay Control을 통해 중복 결제를 환불하라고 안내합니다.
MultiSafepay 결제 블록
주문 페이지에는 MultiSafepay payment 블록이 표시되며, MultiSafepay 주문 ID, 결제 수단, 상태, 결제 금액과 환불 금액, 테스트 결제를 나타내는 Test mode 배지, 환불 내역, 주문의 MultiSafepay notes가 포함됩니다.
환불
MultiSafepay payment 블록에 금액을 입력하고(아직 환불되지 않은 금액이 자동으로 채워집니다), 필요하면 사유를 입력한 뒤 Refund via MultiSafepay를 클릭하십시오. Refund this amount through MultiSafepay? This cannot be undone. 확인 질문에 응답하십시오. 전액 및 부분 환불을 지원합니다. 주문을 편집할 수 있는 권한이 필요하며, 모듈 페이지에 접근할 권한은 필요하지 않습니다. 환불은 MultiSafepay가 청구한 금액과 통화로 이루어지므로, 금액 불일치가 있는 경우 주문 합계가 아니라 고객이 실제로 결제한 금액까지 환불할 수 있습니다. 환불은 결제가 이루어진 환경(테스트 또는 실서비스)으로 전송되므로 해당 환경의 API 키가 설정되어 있어야 합니다. MultiSafepay가 환불을 수락하지 않으면 블록에 MultiSafepay 오류와 함께 MultiSafepay refund failed:가 표시되며, 환불은 기록되지 않습니다. 성공한 환불은 MultiSafepay 환불 ID와 함께 환불 내역과 메모에 추가됩니다. 전액 환불을 하면 주문이 Refunded 상태가 됩니다. 부분 환불은 상태를 바꾸지 않습니다. 환불은 MultiSafepay가 결제를 보고한 후에 가능합니다.
모듈은 신용 전표(credit slip)를 만들지 않습니다. 주문 페이지의 표준 PrestaShop 환불 버튼은 MultiSafepay를 통해 돈을 돌려보내지 않습니다.
MultiSafepay Control에서 이루어진 환불은 MultiSafepay가 보고하면 메모에 추가됩니다. 주문 상태와 신용 전표는 자동으로 변경되지 않습니다. 필요하면 수동으로 업데이트하십시오.
라이선스 키
이 모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox MultiSafepay Gateway는 Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key 입력란에 붙여 넣고 Activate를 클릭하십시오. 그러면 블록에 키가 마스킹되어 표시되고, 상태(예: 라이선스 유효 기간 종료일과 도메인), 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key 버튼이 나타납니다. 그 아래에는 Product: presta-payment-multisafepay 줄과 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 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 체크아웃에서 고객에게 MultiSafepay가 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one.를 보게 됩니다. PrestaShop 스토어프런트는 관리자 페이지에 로그인되어 있는지 알지 못하므로, 귀하에게도 이 결제 수단이 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인되며 환불도 작동합니다.
라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 관리자 페이지에서 작업하는 동안 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 MultiSafepay가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드에 API 키(테스트 모드는 Test API key, 실서비스 모드는 Live API key)가 있는지, 장바구니 통화를 MultiSafepay가 받는지 확인하십시오. 키가 없거나 쇼핑몰 통화를 받지 않으면 설정 페이지에 경고가 표시됩니다. Payment > Preferences에서 장바구니 통화, 고객의 국가, 고객의 그룹에 대해 모듈이 허용되어 있는지 확인하십시오.
결제는 완료되었지만 주문이 생성되지 않음: 알림이 쇼핑몰에 도달하지 못했습니다. 쇼핑몰이 인터넷에서 접근 가능한지, 그리고 결제 환경의 API 키가 설정되어 있는지 확인하십시오. 모듈은 MultiSafepay API에서 상태를 읽기 때문입니다. API에 접근할 수 없거나 키가 없으면 알림은 ERROR로 응답하고 MultiSafepay는 알림을 다시 시도합니다. 주문은 고객이 쇼핑몰로 돌아왔을 때, 그리고 같은 장바구니를 다시 결제하려고 할 때도 생성됩니다.
알림이 Invalid request로 응답함: 요청에 올바른 거래 ID가 없었습니다. MultiSafepay의 알림에는 항상 거래 ID가 포함됩니다.
고객이 MultiSafepay를 선택할 때 오류가 표시됨: Debug log를 켜고 모듈 페이지의 Log 항목을 확인하십시오. This payment method is temporarily unavailable. Please choose another payment method.는 보통 API 키가 잘못되었거나 없다는 뜻입니다. MultiSafepay cannot accept this order amount or currency. Please choose another payment method.는 MultiSafepay가 금액 또는 통화를 거절했다는 뜻입니다.
주문이 MultiSafepay payment on hold 상태임: MultiSafepay payment 블록의 메모를 읽으십시오. 결제가 미정산이거나 예약 상태일 수 있고, 결제된 금액이나 통화가 장바구니와 다를 수 있으며, 실서비스 모드에서 테스트 결제가 들어왔을 수 있고, 주문이 취소된 후 결제가 들어왔을 수 있으며, 차지백이 있었을 수도 있습니다. MultiSafepay Control에서 거래를 확인하십시오.
테스트 결제는 실서비스 주문을 확정하지 않음: 모듈이 실서비스 모드에 있는 동안 테스트 결제는 주문을 결제 완료로 만들지 않습니다. 대신 주문이 보류됩니다. 실서비스로 전환한 뒤에도 이전 테스트 결제는 테스트 키로 계속 확인되고 환불됩니다.
환경 관련 메시지와 함께 환불 실패: 결제가 테스트 또는 실서비스 환경에서 이루어졌는데, 그 환경의 API 키가 설정되지 않았습니다. 키를 입력하고 다시 시도하십시오.
제거
Modules > Module Manager로 이동하여 VibeFox MultiSafepay Gateway 옆의 메뉴를 열고 Uninstall을 선택하십시오. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. Delete data on uninstall이 켜져 있으면 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 설정이 유지됩니다. 주문의 MultiSafepay 결제 데이터와 MultiSafepay payment on hold 주문 상태는 항상 유지되므로, 이전에 결제된 주문은 재설치 후에도 환불할 수 있습니다. 기존 주문은 결제 메모와 거래 ID를 그대로 유지합니다.
MultiSafepay는 각 소유자의 상표입니다. 이 모듈은 MultiSafepay와 제휴 관계가 아니며 MultiSafepay의 승인을 받지 않았습니다.
