뒤로

VibeFox NZ Post for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

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

NZ Post API 접근 (실시간 요금에만 필요): 실시간 요금은 NZ Post ShippingOptions API를 사용합니다. NZ Post 웹사이트의 Developer Resource Centre에서 API 접근을 신청하십시오. NZ Post는 먼저 테스트 환경(UAT)용 Client ID와 Client Secret을 발급하고, 이후 go-live 체크리스트를 거친 뒤 운영 환경용을 발급합니다. 뉴질랜드 국내 요금에는 NZ Post 비즈니스 계정도 필요합니다: 계정 번호와 그 auth code 또는 site code입니다. 고정 요금만 사용하신다면 API 접근 권한은 필요하지 않습니다.

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

설치

1. 관리자 패널에서 Modules > Module Manager로 이동하여 Upload a module을 클릭하십시오. 모듈의 ZIP 파일을 선택하십시오.

2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox NZ Post를 찾아 Configure를 클릭하십시오.

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

4. 실시간 요금을 사용하려면 NZ Post API (live rates) 섹션을 작성하십시오. 필요하면 고정 요금도 입력할 수 있습니다. 고정 요금은 실시간 요금이 없을 때와 대체 수단으로 사용됩니다(설정 항목 참조). Save를 클릭하십시오.

설치 시 모듈은 배송 기간 문구 NZ Post parcel delivery와 함께 NZ Post 운송업체를 생성합니다. 이 운송업체는 모든 지역과 모든 고객 그룹에 할당됩니다. 지역, 고객 그룹, 배송 기간, 로고, 크기 제한은 Shipping > Carriers에서 변경할 수 있습니다. 그곳에서는 요금을 설정하지 마십시오. 요금은 항상 모듈에서 가져옵니다.

설정

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox NZ Post > Configure. 설정은 운송업체의 모든 지역에 적용됩니다. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 저장할 때마다 캐시된 NZ Post 요금과 액세스 토큰도 지워집니다.

저장된 값으로는 실시간 요금이 작동할 수 없을 때 설정 위에 경고가 표시됩니다: Client ID와 Client Secret 중 하나만 입력된 경우, NZD 환율이 없는 경우, 또는 국내 요금에 필요한 정보가 불완전한 경우입니다. 쇼핑몰의 무게 또는 치수 단위를 모듈이 인식하지 못하면(이때 무게는 kg, 치수는 cm로 처리됩니다)에도 경고가 나타납니다. 단위는 International > Localization(Local units)에서 설정하십시오. 숫자 입력란에는 0 또는 양수를 입력해야 하며, 그렇지 않으면 페이지에 오류가 표시되고 아무것도 저장되지 않습니다.

General

Enable NZ Post: 운송업체를 켜거나 끕니다. Shipping > Carriers의 운송업체 상태와 같은 스위치입니다.

Method title: 장바구니와 체크아웃에 표시되는 운송업체 이름입니다. 기본값: NZ Post. 필수 항목이며 최대 64자입니다.

Tax: 운송업체의 세금 규칙, 또는 No tax(배송비에는 세금을 부과하지 않음)입니다. 쇼핑몰이 배송비에 GST를 추가한다면, GST가 이중으로 부과되지 않도록 아래 API prices를 Excluding GST로 설정하십시오.

NZ Post API (live rates)(고정 요금만 사용하려면 Client ID를 비워 두십시오)

Environment: Production (api.nzpost.co.nz)(기본값) 또는 Testing / UAT (api.uat.nzpost.co.nz). Client ID가 발급된 환경을 사용하십시오.

Client ID: NZ Post API 애플리케이션의 OAuth2 client ID입니다. 이 값을 지우면 저장된 Client Secret도 지워집니다.

Client Secret: OAuth2 client secret입니다. 이 값은 액세스 토큰으로 교환되며, 토큰은 만료될 때까지 캐시됩니다. 저장한 후에는 이 필드가 비어 있고 Saved — leave empty to keep it이 표시됩니다. 변경하려는 경우에만 새 값을 입력하십시오.

Account number: NZ Post 비즈니스(청구) 계정 번호입니다. 뉴질랜드 국내 요금에 필수입니다. 국제 요금에는 선택 사항이며, 입력하면 NZ Post가 계약 요금을 반환합니다. 이 값을 지우면 저장된 auth code도 지워집니다.

Auth code: 국내 요금용 계정 인증 코드입니다. site code를 입력하는 경우에는 필요하지 않습니다. Client Secret과 마찬가지로, 저장 후에는 다시 표시되지 않습니다.

Site code: auth code 대신 사용할 수 있는 항목으로, NZ Post 집하 사이트 코드입니다.

Ship-from suburb: 소포를 발송하는 주소의 교외 지역(suburb)입니다. 예: Petone. 국내 요금에 필요합니다.

Ship-from city: 소포를 발송하는 도시 또는 읍 단위 지역입니다. 예: Lower Hutt. 국내 요금에 필요합니다.

Ship-from postcode: 소포를 발송하는 4자리 뉴질랜드 우편번호입니다. 예: 5012. 국내 요금에 필요합니다.

Services: 쉼표로 구분한 선택 사항인 NZ Post 서비스 코드입니다. 예: CPOLP, ICOU. 여기에 입력한 서비스에만 요금이 책정됩니다. 비워 두면 소포에 대해 NZ Post가 반환하는 가장 저렴한 서비스를 사용합니다.

API prices: Including GST(기본값) 또는 Excluding GST. NZ Post 국내 요금에는 15% GST가 포함되어 있으며, 국제 우편 요금은 영세율입니다. 운송업체에 세금 규칙(위의 Tax)이 있다면 GST가 이중으로 부과되지 않도록 Excluding GST를 선택하십시오.

NZD → (shop currency) rate: NZ Post 요금은 NZD로 표시됩니다. 쇼핑몰의 기본 통화가 NZD가 아니라면, NZD 1단위가 귀사 통화로 몇 단위인지 입력하십시오. 예: 0.55. 입력하지 않으면 실시간 요금을 사용할 수 없습니다. 같은 환율로 국제 요청에 보내는 주문 금액도 환산됩니다. 환율은 0보다 커야 합니다. 쇼핑몰 통화가 NZD라면 비워 두십시오.

Parcel for live rates

장바구니는 하나의 소포로 NZ Post에 전송됩니다. 상품 무게와 치수는 쇼핑몰 단위에서 kg과 cm로 환산됩니다. 소포는 상품 중 가장 큰 길이와 너비를 사용하며, 모든 상품의 부피가 들어갈 때까지 높이가 늘어납니다. 아래 값은 무게나 치수가 없는 상품에 사용됩니다.

Default product weight (kg): 무게가 없는 각 상품에 사용됩니다. 기본값: 0.5.

Default parcel length (cm): 장바구니의 어떤 상품에도 치수가 없을 때 사용됩니다. 기본값: 30.

Default parcel width (cm): 장바구니의 어떤 상품에도 치수가 없을 때 사용됩니다. 기본값: 20.

Default parcel height (cm): 장바구니의 어떤 상품에도 치수가 없을 때 사용됩니다. 기본값: 10.

Fixed prices(실시간 요금이 설정되지 않았거나 NZ Post가 요금을 반환하지 않을 때 사용됩니다)

요금은 세금을 제외한 쇼핑몰 기본 통화로 표시됩니다.

Country prices: 목적지 국가마다 한 행입니다. Add country를 클릭하면 행이 추가되고, 휴지통 아이콘을 클릭하면 행이 삭제됩니다. 다른 모든 국가를 포괄하는 행에는 * Default를 선택하십시오. 각 행에는 Any weight 요금과 선택 사항인 무게 열이 있습니다: ≤ 1 kg, 1–2 kg, 2–3 kg, 3–5 kg, > 5 kg(장바구니 무게). 값이 입력된 무게 열은 Any weight보다 우선합니다. 비어 있거나 0인 열은 Any weight를 사용합니다. Any weight 요금이 0이면 해당 국가로의 배송은 무료입니다. "9.99"와 "9,99"를 모두 입력할 수 있습니다. 요금이 없는 행과 음수 요금은 저장할 때 삭제됩니다. 국가당 행은 하나만 유지됩니다.

Fallback cost: API와 국가별 표 모두에서 요금을 얻지 못했을 때 사용됩니다. 비워 두면 이 경우 운송업체를 숨깁니다.

Fixed price per: Order는 요금을 한 번만 청구합니다. Item (price × quantity)은 장바구니의 상품 수량을 곱하여 청구합니다. 이는 고정 요금과 대체 배송비에만 적용됩니다. 실시간 요금은 항상 소포 전체를 기준으로 계산됩니다.

Conditions

Min cart weight (kg): 장바구니가 이보다 가벼우면 운송업체를 숨깁니다. 0은 제한 없음을 뜻합니다.

Max cart weight (kg): 장바구니가 이보다 무거우면 운송업체를 숨깁니다. 기본값: 25(NZ Post 택배 소포는 최대 25kg). 빈 칸도 25로 처리됩니다. 0은 제한 없음을 뜻합니다. Ignore shipping zones가 켜져 있으면, 빈 칸은 운송업체 자체 지역 밖에서는 제한이 없음을 뜻합니다. Min cart weight가 Max cart weight보다 크면 페이지에 오류가 표시되고 아무것도 저장되지 않습니다. 운송업체가 전혀 표시되지 않게 되기 때문입니다.

Minimum order amount: 장바구니 소계(배송이 필요한 상품, 할인 후, 세금 전)가 이 금액에 도달했을 때만 운송업체를 표시합니다. 항상 표시하려면 비워 두십시오.

Free shipping from: NZ Post 배송이 무료가 되는 장바구니 소계(할인 후, 세금 전)입니다. 이 경우 NZ Post에 요청을 보내지 않습니다. 무료 배송을 제공하지 않으려면 비워 두십시오.

이러한 조건에서 장바구니 무게는 무게가 없는 상품을 0으로 계산합니다.

Availability without shipping zones

보통 운송업체는 Shipping > Carriers에서 할당된 지역에 표시됩니다.

Ignore shipping zones: 어떤 지역이 일치하든 아래의 국가에 대해 NZ Post를 제공합니다. 저장하면 운송업체가 모든 지역(이후에 만든 지역 포함)에 추가됩니다. 이 옵션을 끄면 추가된 지역이 다시 제거됩니다.

Countries: 이 모드에서의 목적지 국가입니다. 비워 두면 쇼핑몰에서 활성화된 모든 국가를 사용합니다. 이 항목은 Ignore shipping zones가 켜져 있을 때만 사용됩니다.

Advanced

Debug log: 요금 계산 내역을 모듈 폴더의 logs/vfd_nzpt_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. API 오류는 디버그 로그가 꺼져 있어도 항상 기록됩니다. 자격 증명, 토큰, 고객 주소는 기록되지 않습니다. 작업이 끝나면 로그를 끄십시오.

Log: 로그의 크기와 최근 항목을 표시합니다. Clear log를 클릭하면 로그가 비워집니다.

Remove data on uninstall: 켜져 있으면 모듈을 제거할 때 설정, 운송업체, 캐시된 요금, 저장된 주문 세부 정보, 로그가 삭제됩니다. 꺼져 있으면 다시 설치할 수 있도록 모든 데이터가 유지됩니다.

체크아웃에서의 동작

배송 단계에서 PrestaShop은 모듈에 NZ Post 요금을 요청합니다. 실물 상품만 계산에 포함됩니다. 가상 상품은 무게를 더하지 않으며 주문 금액에도 포함되지 않습니다. 모듈은 먼저 조건을 확인합니다: 허용된 국가(Ignore shipping zones 사용 시), 장바구니 무게, 최소 주문 금액. 무료 배송이 적용되면 요금은 0이 되고 NZ Post에 요청을 보내지 않습니다. 그렇지 않으면 요금을 찾습니다: 먼저 NZ Post 실시간 요금, 다음으로 국가별 표, 마지막으로 대체 배송비입니다. 요금이 없으면 운송업체를 숨깁니다.

실시간 요금이 설정되어 있으면 모듈은 Client ID와 Client Secret으로 액세스 토큰을 받고 NZ Post에 요금을 요청합니다. 뉴질랜드 주소의 경우 귀사의 계정 정보, 발송지 주소, 고객의 교외 지역, 도시, 우편번호, 그리고 소포의 무게와 크기를 전송합니다. PrestaShop에는 교외 지역 필드가 없습니다. 모듈은 Address line 2에 교외 지역 이름(숫자가 없는)이 있으면 그것을 사용하고, 없으면 도시를 사용합니다. 국내 요금은 고객이 도시와 4자리 우편번호를 입력한 후에만 요청됩니다. 다른 국가의 경우 목적지 국가, 소포 무게와 크기, NZD로 환산한 주문 금액을 전송합니다.

할증료와 필수 부가 서비스를 포함하여 요금이 있는 가장 저렴한 허용 서비스를 사용합니다. 요금은 NZD에서 쇼핑몰 기본 통화로 환산된 뒤 고객의 장바구니 통화로 표시됩니다. 각 응답은 1시간 동안 캐시됩니다. 실패한 요청은 10분 동안 캐시되므로, 체크아웃이 새로 고칠 때마다 NZ Post를 기다리지 않습니다. API 제한 시간은 10초입니다. 만료된 액세스 토큰은 자동으로 갱신됩니다.

NZ Post가 요금을 반환하지 않으면(API 미설정, 오류, 주소 불완전, 서비스 이용 불가, NZD 환율 없음), 고객에게 오류는 표시되지 않습니다. 국가별 표의 요금을 사용하고, 그다음 대체 배송비를 사용합니다. 고정 요금이 없으면 운송업체를 숨깁니다. 이유는 로그에 기록됩니다.

운송업체에 주문이 생긴 뒤 Shipping > Carriers에서 운송업체를 편집하면, PrestaShop은 이를 운송업체의 새 버전으로 저장합니다. 모듈은 새 버전을 자동으로 따릅니다.

모듈은 요금만 계산합니다. 배송 라벨을 만들거나, 집하를 예약하거나, 매니페스트를 만들거나, 소포를 추적하거나, 주소를 검증하지 않으며, 고객이 수령 지점, 사서함(PO Box), 택배 보관함(parcel locker)을 선택하도록 하지도 않습니다. 장바구니는 하나의 소포로 가격이 책정되며, 고객은 서비스 목록이 아니라 NZ Post 요금 하나를 봅니다.

주문

NZ Post 운송업체로 주문이 들어오면, 모듈은 배송 요금의 산정 근거를 저장합니다. 관리자 패널의 주문 페이지에는 NZ Post 블록이 표시되며, 여기에는 NZ Post service(실시간 요금이 책정된 NZ Post 서비스)와 Price source가 나타납니다. Price source 값은 Live rate (NZ Post ShippingOptions API), Fixed price, Free shipping 중 하나입니다. 이 블록은 요금이나 설정이 나중에 바뀌더라도 주문 시점의 값을 보여 줍니다.

라이선스 키

모듈은 vibefox.net에서 발급받은 VibeFox 라이선스 키로 작동합니다. License — VibeFox NZ Post 라이선스 블록은 Modules > Module Manager > VibeFox NZ Post > Configure에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 입력하고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 다음 버튼이 표시됩니다: 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key. 그 아래에는 Product: presta-shipping-nz-post 줄과 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 계정에서 슬롯을 비우십시오.

활성 키가 없으면 체크아웃에서 고객에게 NZ Post 운송업체가 표시되지 않으며 요금도 계산되지 않습니다. PrestaShop 프런트엔드는 백오피스에 로그인했는지 알지 못하므로 운송업체는 사용자에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만, 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다.

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

문제 해결

체크아웃에 NZ Post가 나타나지 않음: 라이선스가 활성 상태인지, Enable NZ Post가 켜져 있는지 확인하십시오. Shipping > Carriers에서 운송업체가 고객 국가의 지역과 고객 그룹을 포함하는지 확인하십시오(또는 Ignore shipping zones가 켜져 있고 해당 국가가 허용되어 있는지 확인하십시오). 무게 제한과 Minimum order amount도 확인하십시오. NZ Post가 요금을 반환하지 않으면, 운송업체는 국가별 요금이나 Fallback cost가 있을 때만 표시됩니다. 상품 페이지에서 특정 운송업체로 상품을 제한해 두었을 수도 있습니다.

실시간 요금이 나타나지 않음: 모듈 페이지 상단의 경고를 확인하십시오. 그다음 Debug log를 켜고, 체크아웃을 새로 고친 후 Log 필드를 보십시오. API 오류는 항상 거기에 표시됩니다. 로그에는 Client ID 또는 Client Secret 누락, 토큰 거부, 계정 또는 발송지 데이터 누락, 아직 입력되지 않은 고객의 도시 또는 우편번호, NZD 환율 없음, 요금이 책정된 서비스 없음 등의 원인이 나타납니다. 문제를 해결하는 동안에는 고정 요금이 사용됩니다.

토큰 요청 실패: Client ID, Client Secret, Environment를 확인하십시오. UAT 자격 증명은 운영 환경에서 작동하지 않으며, 그 반대도 마찬가지입니다.

국내 요금은 없고 국제 요금은 작동함: 뉴질랜드 국내 요금에는 Account number, Auth code 또는 Site code, 그리고 4자리 우편번호가 포함된 전체 발송지 주소가 필요합니다. 고객은 도시와 4자리 우편번호를 입력해야 합니다. 개발자는 actionVfdNzptDeliverySuburb 훅으로 배송지 주소에 전송되는 교외 지역을 변경할 수 있습니다.

쇼핑몰이 NZD를 사용하지 않음: NZD → (shop currency) rate를 입력하십시오. 고정 요금은 항상 쇼핑몰 기본 통화로 설정됩니다.

배송비에 GST가 이중으로 부과됨: NZ Post 국내 요금에는 15% GST가 포함되어 있습니다. 운송업체의 Tax에 세금 규칙이 있다면 API prices를 Excluding GST로 설정하십시오.

변경 후 요금이 오래된 것처럼 보임: 모듈 페이지에서 Save를 클릭하십시오. 이렇게 하면 캐시된 NZ Post 요금과 토큰이 지워집니다.

페이지에 NZ Post 운송업체를 찾을 수 없다고 표시됨: Shipping > Carriers에서 운송업체가 삭제되었습니다. Modules > Module Manager에서 모듈을 초기화하면 다시 만들어집니다.

제거

Modules > Module Manager로 이동하여 VibeFox NZ Post 옆의 메뉴를 열고 Uninstall을 선택하십시오. 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 캐시된 요금과 토큰은 항상 삭제됩니다. Remove data on uninstall이 켜져 있으면 운송업체가 삭제되고(주문은 이력을 유지합니다), 설정, 저장된 주문 세부 정보, 로그도 삭제됩니다. 꺼져 있으면 운송업체는 비활성화만 되고 모든 설정이 유지됩니다. 모듈을 다시 설치하거나 Reset을 실행하면, 저장된 운송업체가 이전 상태(켜짐 또는 꺼짐)로 복원됩니다.

NZ Post는 각 소유자의 상표입니다. 본 모듈은 NZ Post와 제휴하거나 NZ Post의 승인을 받지 않았습니다.