VibeFox Canada Post for WooCommerce — 도움말
요구 사항
WordPress: 5.8 이상.
WooCommerce: 5.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인이 활성화되지 않습니다.
PHP: 8.0 이상.
Canada Post Developer Program(실시간 요금에만 필요): 실시간 요금은 Canada Post Rating API를 사용합니다. Canada Post 웹사이트에서 Canada Post Developer Program에 가입하고 API 키와 고객 번호를 복사하세요. API 키는 username:password 형식이며, Canada Post는 개발(샌드박스) 환경과 운영 환경에 대해 별도의 키를 발급합니다. 또한 발송지인 캐나다 우편번호도 필요합니다. 고정 요금만 사용한다면 API 키는 필요하지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 사용할 수 있습니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택하고 Install Now를 클릭합니다. FTP로 vfd_canada_post 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. Activate를 클릭합니다.
3. 설정을 엽니다: WooCommerce > Settings > Shipping > VibeFox Canada Post, 또는 Plugins 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
4. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
5. 실시간 요금을 사용하려면 API 사용자 이름과 비밀번호, 고객 번호, 발송지 우편번호를 입력합니다. 쇼핑몰 통화가 CAD가 아니라면 CAD 환율을 입력합니다. 고정 요금이나 대체 요금이 필요하면 Country prices를 입력합니다(설정 참조).
6. WooCommerce > Settings > Shipping > Shipping zones에서 배송 지역에 VibeFox Canada Post를 추가하거나, Ignore shipping zones를 켜고 국가를 선택합니다.
설정
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Shipping > VibeFox Canada Post. 설정은 모든 배송 지역에 적용됩니다. 배송 지역에 방법을 추가하면 지역 창에는 필드가 하나만 표시됩니다:
Title (zone): 이 지역에서 고객에게 표시되는 이름. 비워 두면 전체 Method title을 사용합니다.
설정을 저장할 때마다 캐시된 Canada Post 요금이 삭제됩니다. 설정이 제대로 작동할 수 없는 경우 페이지에 오류도 표시됩니다: API 사용자 이름과 비밀번호 중 하나만 입력된 경우, 발송지 우편번호가 캐나다 우편번호가 아닌 경우, 다른 통화를 쓰는 쇼핑몰에 CAD 환율이 없는 경우, 또는 API 키와 고정 요금이 모두 없는 경우입니다.
일반
Enable/Disable: 모든 지역에서 이 방법을 한 번에 켜거나 끕니다.
Method title: 장바구니와 체크아웃에 표시되는 배송 방법 이름. 기본값: Canada Post. 지역마다 고유한 제목을 사용할 수 있습니다.
Tax status: Taxable은 배송비에 WooCommerce 세금을 추가하고, None은 추가하지 않습니다.
Canada Post API(실시간 요금)
API 사용자 이름과 비밀번호를 입력하면 요금은 Canada Post Rating API에서 가져옵니다. API가 요금을 반환하지 않으면(API 사용 불가, 잘못된 우편번호, 서비스 사용 불가) Country prices의 고정 요금을 사용하며, 고정 요금도 없으면 이 방법을 숨깁니다.
API username: API 키에서 콜론 앞부분. Sandbox에서는 개발용 키를, 운영 쇼핑몰에서는 운영용 키를 사용합니다.
API password: API 키에서 콜론 뒷부분. 로그에 기록되지 않습니다.
Customer number: 고객 번호를 입력하면 Canada Post가 계정의 상업(할인) 요금을 반환합니다. 고객 번호가 없으면 일반(창구) 요금을 사용하려면 비워 두세요.
Contract number: 선택 사항. 계약 고객용이며 고객 번호와 함께 사용될 때만 쓰입니다.
Sandbox: Canada Post 개발 환경을 사용하여 개발용 API 키로 테스트합니다. 요금은 테스트 데이터입니다. 운영 쇼핑몰에서는 끄세요.
Ship-from postal code: 소포를 보내는 캐나다 우편번호(예: K1A 0B1). 실시간 요금에 필요합니다.
Service in Canada: 캐나다 주소의 서비스: Cheapest available, Regular Parcel(기본값), Expedited Parcel, Xpresspost 또는 Priority.
Service to the USA: Cheapest available(기본값), Expedited Parcel USA, Tracked Packet USA, Small Packet USA Air, Xpresspost USA 또는 Priority Worldwide parcel USA.
International service: Cheapest available(기본값), International Parcel Surface, International Parcel Air, Tracked Packet International, Small Packet International Surface, Small Packet International Air, Xpresspost International 또는 Priority Worldwide parcel International.
선택한 서비스가 주소나 소포에 제공되지 않으면 사용 가능한 가장 저렴한 서비스를 사용합니다.
Canadian sales taxes: GST/HST/PST를 제외한 Canada Post 요금을 사용합니다. 캐나다 주소의 경우 Canada Post 요금에 이러한 세금이 포함됩니다. WooCommerce가 배송비에 세금을 직접 부과할 때(Tax status = Taxable) 켜세요. 그래야 세금이 이중으로 부과되지 않습니다.
CAD → store currency rate: 필드 이름에는 쇼핑몰 통화가 표시됩니다. Canada Post 요금은 CAD입니다. 쇼핑몰 통화가 CAD가 아니면 CAD 1단위가 쇼핑몰 통화로 얼마인지 입력하세요. 예: 0.68. 입력하지 않으면 실시간 요금을 사용하지 않습니다. 쇼핑몰 통화가 CAD라면 비워 두세요. 소수점 구분자로 점과 쉼표를 모두 사용할 수 있습니다.
Default product weight (kg): 무게가 없는 각 상품에 대해 Canada Post로 전송되는 무게. 기본값: 0.5. 상품 무게와 치수는 쇼핑몰 단위에서 변환되며, 장바구니는 하나의 소포로 계산됩니다.
고정 요금(API 인증 정보 없이 사용되며, API가 요금을 반환하지 않을 때 대체로도 사용됨)
Country prices: Base 요금과 쇼핑몰 통화로 된 장바구니 무게별 요금이 있는 국가 표: XS 1 kg까지, S 1–2 kg, M 2–3 kg, L 3–5 kg, XL 5 kg 초과. 크기별 요금이 비어 있거나 0이면 Base 요금을 사용합니다. Add country를 클릭하면 행이 추가되고, ×를 클릭하면 행이 삭제됩니다. * Default (all other countries) 행은 자체 행이 없는 모든 국가의 요금을 설정합니다. 행이 없는 국가(그리고 *에도 해당하지 않는 국가)에는 고정 요금이 없습니다. 기본 요금이 0이면 해당 국가는 무료 배송입니다.
Fixed price per: Order는 요금을 한 번만 청구합니다. Item (price × quantity)은 장바구니의 상품 수량을 곱합니다. 이는 고정 요금에만 적용됩니다. 실시간 요금은 항상 소포 전체를 기준으로 계산됩니다.
조건
Min cart weight (kg): 장바구니 무게가 이 값보다 낮으면 이 방법을 숨깁니다. 0은 제한 없음을 뜻합니다.
Max cart weight (kg): 장바구니 무게가 이 값보다 높으면 이 방법을 숨깁니다. 기본값: 25. 0은 제한 없음을 뜻합니다. Canada Post 소포는 최대 30 kg까지 가능합니다.
Minimum order amount: 장바구니 소계가 이 금액에 도달한 경우에만 이 방법을 표시합니다. 비워 두면 항상 표시합니다.
Excluded shipping classes: 장바구니의 상품 중 하나라도 이 WooCommerce 배송 등급에 속하면 이 방법을 숨깁니다.
Free shipping: 아래 금액 이상일 때 무료 배송을 켭니다.
Free shipping from: 배송이 무료가 되는 장바구니 소계. 이 경우 API 요청은 보내지 않습니다.
배송 지역 없이 사용 가능 여부
Ignore shipping zones: 일치하는 지역과 관계없이 아래 국가에 대해 이 방법을 제공합니다.
Countries: 이 모드의 배송 대상 국가. 비워 두면 쇼핑몰이 배송하는 모든 국가를 사용합니다. 이 필드는 Ignore shipping zones가 켜져 있을 때만 사용됩니다.
고급
Debug log: 요금 계산을 WooCommerce > Status > Logs에 기록합니다. 소스는 vfd-canada-post입니다. 이 옵션이 꺼져 있어도 API 오류는 항상 기록됩니다. API 키, 고객 번호, 고객 우편번호는 기록되지 않습니다.
Remove data on uninstall: 켜져 있으면 플러그인을 삭제할 때 설정, 지역별 방법, 캐시된 요금이 제거됩니다. 플러그인을 비활성화해도 아무것도 삭제되지 않습니다.
체크아웃에서의 동작
고객이 배송 주소를 입력하면 WooCommerce가 플러그인에 요금을 요청합니다. 플러그인은 먼저 조건을 확인합니다: 장바구니 무게, 최소 주문 금액, 제외된 배송 등급. 무료 배송이 적용되면 고객은 무료 요금을 받고 Canada Post에 요청이 전송되지 않습니다.
API 키를 사용하는 경우 플러그인은 Canada Post에 발송지 우편번호, 목적지, 소포 무게, 그리고 모든 상품에 치수가 있으면 예상 소포 크기를 보냅니다. 캐나다의 목적지는 우편번호, 미국은 ZIP 코드, 그 밖의 국가는 국가만 사용합니다. 실시간 요금은 캐나다 또는 미국 주소에 유효한 우편번호나 ZIP 코드가 있을 때만 요청합니다. Canada Post는 소포에 대해 가능한 모든 서비스를 반환합니다. 플러그인은 목적지 그룹에서 선택한 서비스 또는 가장 저렴한 서비스를 고르고, Canadian sales taxes가 켜져 있으면 캐나다 판매세를 제거하며, CAD 요금을 설정한 환율로 변환합니다. 서비스 이름은 주문과 함께 저장되고, 관리자 주문 화면에 Canada Post service로 표시됩니다.
각 응답은 1시간 동안 캐시되므로 같은 장바구니와 주소로는 새 요청이 발생하지 않습니다. 실패한 요청은 10분 동안 캐시되므로 Canada Post 장애가 매번 체크아웃 새로 고침을 느리게 만들지 않습니다. API 제한 시간은 10초입니다. 30 kg을 초과하는 소포는 API로 보내지 않습니다.
API가 요금을 반환하지 않으면 고정 요금을 사용하며, 고정 요금이 없으면 이 방법을 숨깁니다. 고객은 API 오류 세부 정보를 전혀 보지 않으며, 이는 WooCommerce 로그로 전달됩니다.
이 방법은 클래식 체크아웃과 장바구니 및 체크아웃 블록에서 작동합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.
플러그인은 요금만 계산합니다. 배송 건을 생성하지 않으며, 송장을 출력하거나, 반품 또는 매니페스트를 생성하거나, 소포를 추적하지 않습니다. 고객은 우체국이나 픽업 장소를 선택할 수 없습니다. 배송일, 보험 또는 서명 옵션이 없는 Canada Post 요금 하나만 표시합니다. 장바구니는 항상 하나의 소포로 계산되며, 통화 환율은 자동으로 업데이트되지 않습니다.
라이선스 키
이 플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Shipping > VibeFox Canada Post 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 블록에는 라이선스가 유효한 날짜와 도메인 등 상태가 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하고, Remove key로 이 사이트에서 키를 제거할 수 있습니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하세요.
유효한 키가 없으면 체크아웃에서 고객에게 Canada Post가 표시되지 않습니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only)라고 표시된 상태로 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지와 WooCommerce 페이지에 알림이 표시됩니다. 기존 주문에는 영향이 없습니다.
라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
체크아웃에 Canada Post가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 이 방법이 고객 국가의 지역에 추가되어 있는지(또는 Ignore shipping zones가 켜져 있고 해당 국가가 허용되어 있는지) 확인하세요. 무게 제한, Minimum order amount, Excluded shipping classes도 확인하세요. 요금이 있어야 합니다. API 키를 사용하는 경우 주소에 유효한 우편번호(캐나다) 또는 ZIP 코드(미국)가 있어야 하며, 그렇지 않으면 해당 국가 또는 *에 고정 요금이 있어야 합니다.
실시간 요금이 나타나지 않음: Debug log를 켜고 체크아웃을 새로 고침한 다음 WooCommerce > Status > Logs를 열고 소스 vfd-canada-post를 확인하세요. 원인이 표시됩니다: API 사용자 이름이나 비밀번호 누락, 잘못된 발송지 또는 목적지 우편번호, CAD 환율 누락, 30 kg을 초과하는 소포, 또는 Canada Post 오류 메시지. 그 사이 고객은 고정 요금이 있으면 그 요금을 받습니다.
요금이 Canada Post 웹사이트와 다름: 고객 번호를 입력하면 계정의 상업(할인) 요금을 받습니다. 고객 번호가 없으면 일반(창구) 요금입니다. 캐나다 주소의 경우 Canada Post 요금에는 GST/HST/PST가 포함됩니다. 요금은 CAD 환율로 변환됩니다.
배송비에 세금이 이중으로 부과됨: Canadian sales taxes를 켜거나 Tax status를 None으로 설정하세요.
운영 쇼핑몰에서 요금 테스트: Sandbox를 끄고 운영 API 키를 사용하세요.
변경 후 요금이 오래된 것처럼 보임: 설정 페이지를 저장하세요. 캐시된 Canada Post 요금이 삭제됩니다.
라이선스 블록에 오류가 표시됨: 블록에 나온 메시지를 따르세요. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하세요. 사이트 주소가 바뀌었다면 Check now를 클릭하여 새 도메인에서 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.
삭제
플러그인을 비활성화하면 모든 데이터가 유지됩니다. 제거하려면 비활성화한 뒤 Plugins 페이지에서 삭제하세요. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 제거됩니다. 설정, 지역별 방법, 캐시된 요금은 Remove data on uninstall이 켜져 있었을 때만 제거됩니다. 그렇지 않으면 나중에 다시 설치할 때를 위해 남아 있습니다. 주문은 절대 건드리지 않습니다.
Canada Post는 각 소유자의 상표입니다. 이 플러그인은 Canada Post와 제휴하거나 Canada Post의 승인을 받은 것이 아닙니다.
