VibeFox Mercado Envios for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0 ~ 9.x.
PHP: 8.0 이상. 모듈은 이전 PHP 버전에는 설치되지 않습니다.
Mercado Pago 계정(실시간 요금에만 필요): 실시간 요금은 아르헨티나, 브라질 또는 멕시코에 있는 Mercado Pago 계정의 Mercado Envios 요금 계산기에서 가져옵니다. 해당 계정에서 Mercado Envios가 활성화되어 있어야 합니다. 소포 요금은 그 계정에 설정된 발송지 주소를 기준으로 산출됩니다. 운영 환경용 Access Token(APP_USR-로 시작)이 필요합니다. Mercado Pago 개발자 패널에서 애플리케이션과 운영 환경 자격 증명을 여세요. 로그인 버튼은 없습니다. 토큰을 모듈 설정에 붙여 넣으면 됩니다. 국가별 가격만 사용한다면 Mercado Pago 계정은 필요하지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 하나의 키는 하나의 도메인에서 작동합니다.
설치
1. 관리자 화면에서 Modules > Module Manager로 이동한 뒤 Upload a module을 클릭합니다. 모듈 ZIP 파일을 선택하세요.
2. 업로드가 끝나면 Configure를 클릭하세요. 나중에 찾으려면 모듈 목록에서 VibeFox Mercado Envios를 찾아 Configure를 클릭하면 됩니다.
3. Configure 페이지 상단의 라이선스 블록에 있는 License key에 VibeFox 라이선스 키를 입력하고 Activate를 클릭하세요(라이선스 키 항목 참조).
4. 실시간 요금을 사용하려면 Access Token을 붙여 넣고, Mercado Envios 국가를 선택하세요. 쇼핑몰의 기본 통화가 ARS, BRL, MXN이 아니라면 환율도 설정하세요. 선택 사항으로 Country prices와 Fallback cost를 입력할 수 있습니다(실시간 요금이 없을 때 사용됩니다). Save를 클릭하세요.
설치 시 모듈은 배송 시간 텍스트가 Mercado Envios delivery인 Mercado Envios 운송업체를 생성합니다. 이 운송업체는 모든 지역과 모든 고객 그룹에 할당되며, 세금 규칙은 없습니다. 지역, 고객 그룹, 배송 시간, 로고, 크기 제한은 Shipping > Carriers에서 변경할 수 있습니다. 그곳에서는 가격을 설정하지 마세요. 가격은 항상 모듈에서 가져옵니다.
설정
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Mercado Envios > Configure. 각 섹션에는 전체 페이지를 저장하는 Save 버튼이 있습니다. 저장할 때마다 캐시된 Mercado Envios 요금과 마지막 API 오류도 지워집니다.
페이지 상단의 경고는 설정 문제를 보여줍니다. 환율 누락, Access Token과 가격이 모두 없는 경우, 날짜가 표시된 마지막 Mercado Envios API 오류, 그리고 모듈이 인식하지 못하는 쇼핑몰의 무게 또는 크기 단위(이 경우 kg 또는 cm로 간주됩니다) 등입니다. 운송업체가 삭제된 경우 General 섹션에 The Mercado Envios carrier was not found — reset the module to create it again.가 표시됩니다.
General
고객의 지역을 Shipping > Carriers에서 Mercado Envios 운송업체에 추가하거나, 아래의 Ignore shipping zones를 사용하세요. 이 설정은 모든 지역에 적용됩니다.
Enable Mercado Envios shipping: 운송업체를 켜거나 끕니다. 이는 Shipping > Carriers의 운송업체 상태와 같은 스위치입니다.
Name: 체크아웃에서 고객에게 표시되는 운송업체 이름입니다. 기본값: Mercado Envios. 필수 항목이며 최대 64자입니다.
Tax: 운송업체의 세금 규칙 또는 No tax(기본값)입니다. Mercado Envios는 최종 가격을 제공합니다. No tax는 제공된 가격을 그대로 표시하며, 세금 규칙을 선택하면 배송 세금이 그 위에 추가됩니다.
Mercado Envios API(실시간 요금)(토큰이 없으면 아래 가격만 사용됩니다)
Access token: Mercado Pago 운영 환경 Access Token(APP_USR-...)입니다. api.mercadopago.com으로만 전송되며 절대 로그에 기록되지 않습니다. 저장 후 이 필드는 비어 있고 Saved — leave empty to keep it.를 표시합니다. 값을 바꾸고 싶을 때만 새 값을 입력하세요. 실시간 요금 사용을 중단하려면 Remove the saved access token (only the prices below are used then)을 체크하고 저장하세요.
Mercado Envios country: Mercado Pago 계정의 국가입니다: Argentina (ARS)(기본값), Brazil (BRL) 또는 Mexico (MXN). 실시간 요금은 이 국가의 목적지에 대해서만 요청되며, 해당 국가의 통화로 제공됩니다.
Exchange rate: 쇼핑몰의 기본 통화가 Mercado Envios 통화와 다를 때만 필요합니다. 쇼핑몰의 기본 통화로 나타낸 1 ARS, BRL 또는 MXN의 가격입니다. 예: 0.001. 설정하지 않으면 실시간 요금은 사용되지 않습니다. 양수여야 합니다. 소수점 구분자로 점과 쉼표를 모두 사용할 수 있습니다.
실시간 요금이 없을 때의 가격
이 가격은 Access Token이 없을 때, 목적지가 Mercado Envios 국가 밖일 때, 그리고 API가 요금을 반환하지 않을 때 사용됩니다. 쇼핑몰의 기본 통화로 표시되며 세금은 제외됩니다.
Country prices: 목적지 국가와 가격의 표입니다. Add country를 클릭하면 행이 추가되고, 휴지통 아이콘을 클릭하면 행이 삭제됩니다. 자체 행이 없는 모든 국가에는 * All other countries를 선택하세요. Price는 해당 국가의 가격입니다. XS(1 kg까지), S(1-2 kg), M(2-3 kg), L(3-5 kg), XL(5 kg 초과) 열은 해당 장바구니 무게에 대해 이 가격을 대체합니다. 비어 있거나 0인 열은 Price를 사용합니다. Price가 0이면 해당 국가로의 배송이 무료라는 뜻입니다. 9.99와 9,99 모두 허용됩니다. 숫자가 아닌 값은 저장 후 알림이 표시되고 지워집니다. 가격이 전혀 없는 행은 저장할 때 삭제됩니다.
Fallback cost: API와 Country prices 모두 가격을 제공하지 않을 때 사용됩니다. 이 경우 운송업체를 숨기려면 비워 두세요.
Calculation type: Per order는 가격을 한 번만 청구합니다. Per item (each item priced by its own weight x quantity)는 각 상품의 무게에 맞는 가격을 Country prices(또는 Fallback cost)에서 찾아 수량을 곱합니다. 어떤 상품이라도 가격을 받지 못하면 운송업체가 숨겨집니다. Mercado Envios 실시간 요금은 항상 소포 전체를 기준으로 합니다.
이용 조건
Min weight: 이 운송업체가 표시되기 위한 장바구니의 최소 무게(kg)입니다. 0은 제한 없음을 뜻합니다.
Max weight: 장바구니 무게가 이 값을 넘으면 운송업체를 숨깁니다(kg). 비워 두면 25 kg, 0이면 제한 없음을 뜻합니다. Max weight보다 큰 Min weight는 저장할 때 거부됩니다.
Minimum subtotal: 장바구니 소계(할인 후, 세금 전)가 이 금액 이상일 때만 운송업체를 표시합니다. 항상 표시하려면 비워 두세요.
Ignore shipping zones: 운송업체의 지역을 설정하지 않고 아래 국가에 대해 운송업체를 제공합니다. 저장하면 운송업체가 모든 지역에 추가되며, 이후에 만든 지역에도 추가됩니다. 이 옵션을 끄면 이 옵션이 추가한 지역이 제거되고, 운송업체는 자체 지역을 유지합니다.
Countries: 이 모드의 목적지 국가입니다. 쇼핑몰의 모든 활성 국가에 적용하려면 비워 두세요. 이 필드는 Ignore shipping zones가 켜져 있을 때만 사용됩니다.
무료 배송
Free shipping from: 이 운송업체가 무료가 되는 장바구니 소계(할인 후, 세금 전)입니다. 이 경우 API 요청은 이루어지지 않습니다. 비활성화하려면 비워 두세요.
고급
Debug log: API 요청과 요금 계산을 모듈 폴더의 logs/vfd_mrcv_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 이 옵션이 꺼져 있어도 오류는 항상 기록됩니다. Access Token과 고객 주소는 절대 기록되지 않습니다.
Log: 로그의 크기와 최신 항목을 표시합니다. Clear log를 클릭하면 로그가 비워집니다.
Remove data on uninstall: 켜져 있으면 모듈을 제거할 때 설정, 운송업체, 캐시된 요금, 로그가 삭제됩니다. 꺼져 있으면 다시 설치할 수 있도록 모든 것이 보존됩니다.
체크아웃에서의 작동 방식
배송 단계에서 PrestaShop은 모듈에 Mercado Envios 가격을 요청합니다. 실물 상품만 계산에 포함됩니다. 가상 상품은 무게를 더하지 않으며 소계에도 포함되지 않습니다. 모듈은 먼저 조건을 확인합니다: 허용된 국가(Ignore shipping zones 사용 시), 장바구니 무게, 최소 소계. 무료 배송이 적용되면 가격은 0이 되며 Mercado Envios에 요청이 전송되지 않습니다.
Mercado Envios 국가 내 유효한 우편번호의 목적지인 경우, 모듈은 장바구니를 하나의 소포로 설명합니다. 상품 중 가장 큰 너비와 길이, 모든 상품 높이의 합, 그리고 그램 단위의 총 무게입니다. 각 변과 무게는 해당 국가의 Mercado Envios 최소 기준까지 올려지므로, 치수나 무게가 없는 상품도 요금을 받을 수 있습니다. 장바구니 금액은 Mercado Envios 통화의 상품 가격으로 전송됩니다. Mercado Envios가 반환한 가장 저렴한 옵션은 쇼핑몰의 기본 통화로 환산된 후 고객의 장바구니 통화로 표시됩니다.
각 견적은 1시간 동안 캐시되므로 같은 장바구니가 새 요청을 일으키지 않습니다. 실패한 견적은 5분 동안 다시 보내지 않습니다. Mercado Pago에 연결할 수 없거나, 토큰을 거부하거나, 요청을 제한하면 모든 실시간 견적이 5분 동안 일시 중지되어, 체크아웃이 새로 고침할 때마다 API를 기다리지 않습니다. API 시간 초과는 10초입니다.
토큰이 없거나, 목적지가 Mercado Envios 국가 밖이거나, 우편번호가 없거나 유효하지 않거나, 환율이 없거나, 소포가 국가별 Mercado Envios 무게 한도(아르헨티나 25 kg, 브라질 15 kg, 멕시코 30 kg)를 초과하거나, Mercado Envios가 주소에 대해 오류를 반환하거나 옵션을 제공하지 않는 경우에는, 대신 실시간 요금이 없을 때의 가격이 사용됩니다. 해당 국가의 행(또는 * 행)이 사용되고, 없으면 예비 배송비가 사용됩니다. 가격이 전혀 없으면 운송업체는 숨겨집니다. 고객은 API 오류를 절대 보지 않습니다.
주문이 있는 운송업체를 Shipping > Carriers에서 편집하면, PrestaShop은 이를 새 운송업체 버전으로 저장합니다. 모듈은 새 버전을 자동으로 따릅니다.
모듈은 요금만 계산합니다. 배송 건을 생성하거나, 라벨을 출력하거나, 소포를 추적하지 않습니다. 배송 건은 Mercado Libre 또는 Mercado Pago 계정에서 생성하세요. 모듈은 모든 옵션 중 선택하게 하는 것이 아니라, 가장 저렴한 Mercado Envios 옵션 하나의 가격만 표시하며, 픽업 포인트(지점) 선택 기능은 없습니다.
주문
실시간 Mercado Envios 요금으로 주문이 이루어지면, 모듈은 서비스 이름, 일 단위의 예상 배송 기간, 그리고 실시간 요금을 저장합니다. 관리자 화면의 주문 페이지에는 Mercado Envios service, Estimated delivery, Live rate (excl. tax)가 포함된 Mercado Envios 블록이 표시됩니다. 고객은 자신의 계정에 있는 주문 상세 페이지에서 Mercado Envios service와 Estimated delivery를 볼 수 있습니다. 기존 주문은 이후의 요금 변경의 영향을 받지 않습니다.
라이선스 키
이 모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox Mercado Envios은 Modules > Module Manager > VibeFox Mercado Envios > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 그러면 블록에 마스킹된 키, 상태(예: 라이선스 유효 기간의 종료일과 도메인), 그리고 다음 버튼이 표시됩니다. Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거). 그 아래에는 Product: presta-shipping-mercado-envios 줄과 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 계정에서 슬롯을 비우세요.
활성 키가 없으면 Mercado Envios 운송업체는 체크아웃에서 고객에게 표시되지 않으며, 요금도 계산되지 않습니다. PrestaShop 스토어프론트는 백오피스에 로그인되어 있다는 사실을 알지 못하므로, 운송업체는 당신에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만, 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문에는 영향이 없습니다.
라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 백오피스에서 작업하는 동안 상태는 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 이후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.
문제 해결
체크아웃에 Mercado Envios가 나타나지 않음: 라이선스가 활성 상태인지, Enable Mercado Envios shipping이 켜져 있는지 확인하세요. Shipping > Carriers에서 운송업체가 고객 국가의 지역과 고객 그룹을 포함하는지 확인하세요(또는 Ignore shipping zones를 켜고 Countries를 확인하세요). 모듈 페이지 상단의 경고, 무게 제한, Minimum subtotal을 확인하세요. 운송업체에는 가격이 필요합니다. Mercado Envios 국가의 주소에 대해 작동하는 Access Token이 있거나, Country prices 또는 Fallback cost가 설정되어 있어야 합니다. 또한 상품 페이지에서 특정 운송업체로만 제한되어 있을 수도 있습니다.
실시간 요금이 나타나지 않음: Debug log를 켜고 체크아웃을 새로 고친 뒤, 모듈 페이지의 Log 필드를 확인하세요. 일반적인 원인: 토큰 없음, Mercado Envios 국가 밖의 목적지, 우편번호 누락 또는 유효하지 않음, Exchange rate 누락, 무게 한도를 초과한 소포, 또는 해당 주소에 Mercado Envios 옵션이 없음.
경고에 HTTP 401 또는 403이 표시됨: Access Token이 잘못되었거나 만료되었습니다. Mercado Pago 개발자 패널에서 운영 환경 Access Token을 다시 복사하세요.
Mercado Envios가 다른 통화로 응답함: 계정의 국가가 Mercado Envios country와 일치하지 않습니다. Mercado Pago 계정의 국가를 선택하세요.
가격은 어떤 통화인가요? Country prices, Fallback cost, 그리고 임계값은 쇼핑몰의 기본 통화로 설정됩니다. 실시간 요금은 Mercado Pago 계정의 통화로 들어오며, 쇼핑몰이 다른 기본 통화를 사용하면 Exchange rate로 환산됩니다.
변경 후 요금이 오래된 것처럼 보임: 모듈 페이지에서 Save를 클릭하세요. 캐시된 요금이 지워집니다.
페이지에 Mercado Envios 운송업체를 찾을 수 없다고 표시됨: 운송업체가 Shipping > Carriers에서 삭제되었습니다. Modules > Module Manager에서 모듈을 초기화하면 다시 생성됩니다.
제거
Modules > Module Manager로 이동하여 VibeFox Mercado Envios 옆의 메뉴를 열고 Uninstall을 선택하세요. 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 캐시된 요금은 항상 삭제됩니다. Remove data on uninstall이 켜져 있으면 운송업체가 삭제되고(주문은 기록을 유지합니다), 설정, 로그, 주문에 저장된 서비스 데이터도 제거됩니다. 꺼져 있으면 운송업체는 비활성화될 뿐이며, 모든 설정과 주문 서비스 데이터가 보존됩니다. 모듈을 다시 설치하면 운송업체는 제거 전의 상태를 되찾습니다.
Mercado Envios와 Mercado Pago는 각 소유자의 상표입니다. 이 모듈은 Mercado Envios 또는 Mercado Pago와 제휴하거나 이들의 승인을 받지 않았습니다.
