VibeFox UPS for WooCommerce — 도움말
요구 사항
WordPress: 5.8 이상.
WooCommerce: 7.0 이상, 설치되어 있고 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인이 활성화되지 않습니다.
PHP: 8.0 이상.
UPS Developer Portal 앱(실시간 요금을 사용하는 경우에만): UPS Developer Portal(developer.ups.com)에 로그인하고, "Rating" 제품을 사용하는 앱을 만든 뒤, UPS 계정을 연결하고 Client ID와 Client Secret을 복사합니다. 플러그인은 OAuth 2.0을 사용합니다. Access Key, 사용자 이름, 비밀번호는 필요하지 않습니다. 협상 요금을 사용하려면 6자리 UPS 계정 번호도 필요합니다. 자격 증명이 없으면 고정 요금만 사용됩니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서만 사용할 수 있습니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하고, 플러그인 ZIP 파일을 선택한 뒤 Install Now를 클릭합니다. FTP로 vfd_ups 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. Activate를 클릭합니다.
3. 설정을 엽니다: WooCommerce > Settings > Shipping > VibeFox UPS, 또는 플러그인 목록 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
4. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
5. Client ID와 Client Secret, UPS 계정 번호(협상 요금용), Ship from 주소를 입력합니다. 우편번호와, 미국 및 캐나다의 경우 2자리 주(state) 코드를 입력합니다.
6. UPS 계정 통화가 쇼핑몰 통화와 다르면 UPS account currency와 Exchange rate를 입력합니다.
7. WooCommerce > Settings > Shipping > Shipping zones에서 VibeFox UPS를 배송 지역에 추가하거나, Ignore shipping zones를 켜고 국가를 선택합니다.
8. 필요하면 대체용 고정 요금을 입력합니다.
구성
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Shipping > VibeFox UPS. 설정은 모든 배송 지역에 적용됩니다. 배송 지역에 이 방법을 추가하면 지역 창에는 필드가 하나만 표시됩니다:
Title (zone): 결제 시 이 옵션에 표시되는 이름. 비워 두면 전역 Name을 사용합니다.
설정을 저장할 때마다 캐시된 UPS 토큰과 요금이 지워집니다. UPS API 섹션의 Clear cached UPS token and rates를 클릭해도 됩니다. 설정 상단의 경고는 Client ID와 Client Secret 중 하나만 입력된 경우, 자격 증명과 고정 요금이 모두 없는 경우, 발송지 우편번호나 주(state)가 없는 경우, 계정 번호 없이 계정 요금을 선택한 경우, 환율이 없는 경우에 표시됩니다.
General
Enable/Disable: 모든 지역에서 이 방법을 한 번에 켜거나 끕니다.
Name: 결제 시 표시되는 배송 방법 이름. 기본값: UPS.
Tax status: Taxable을 선택하면 WooCommerce가 배송 세금을 추가하고, None을 선택하면 추가하지 않습니다. UPS 요금은 세금을 제외하고 제시되므로 세금이 이중으로 부과되지 않습니다.
UPS API(실시간 요금)
Test mode: UPS 테스트 환경을 사용합니다. 테스트 요금은 실제 가격이 아닙니다. 실시간 요금을 사용하려면 끄십시오. 기본값: 꺼짐.
Client ID: UPS Developer Portal에서 만든 앱의 Client ID.
Client Secret: 같은 앱의 Client Secret.
UPS account number: 6자리 UPS 송하인 번호(예: A1B2C3). 계정 협상 요금에는 필요하고, 공개 요금에는 선택 사항입니다.
Rates: 사용할 UPS 요금.
Measurement units: UPS에 전송되는 단위. 쇼핑몰의 무게와 크기는 변환됩니다.
Residential delivery: 고객 주소를 UPS 주거지 할증료가 적용되는 주거용 주소로 견적을 냅니다. 주로 기업에 배송하는 경우에는 끄십시오. 기본값: 켜짐.
Box size: 쇼핑몰의 치수 단위로 입력하는 선택 사항인 상자 크기(예: 30x20x15). 설정하면 UPS가 부피 무게를 적용합니다. 무게 기준으로만 견적을 내려면 비워 두십시오.
UPS account currency: UPS는 발송인 계정 국가의 통화로 견적을 냅니다. 예: 미국은 USD, 캐나다는 CAD, 유로 지역은 EUR. 기본값: USD.
Exchange rate: UPS 계정 통화가 쇼핑몰 통화와 다를 때만 필요합니다. 계정 통화 1단위의 가격을 쇼핑몰 통화로 입력합니다. 예: 0.92. 입력하지 않으면 이런 요금은 사용되지 않고 고정 요금이 적용됩니다. 환율은 자동으로 업데이트되지 않습니다.
발송지 주소(UPS가 소포를 수거하거나 소포를 맡기는 주소. 실시간 요금에 사용됨)
Country: 발송 국가. 기본값은 쇼핑몰의 국가입니다.
State / province code: 2자리 주(state) 코드. 미국과 캐나다에서 필수입니다. 예: NY, CA, ON.
City: 발송 도시.
ZIP / postal code: 발송 우편번호. UPS가 요금을 견적하는 데 필요합니다.
고정 요금(API 자격 증명을 입력하지 않았을 때 사용되며, UPS가 요금을 반환하지 않을 때의 대체 요금으로도 사용됩니다. 둘 다 비워 두면 이 경우 방법이 숨겨집니다)
Country prices: 목적지 국가별 쇼핑몰 통화 요금. + Add country를 클릭하면 행이 추가되고, ×를 클릭하면 행이 삭제됩니다. * Default 행은 다른 모든 국가에 적용됩니다. 무게 열(XS 1kg까지, S 1–2kg, M 2–3kg, L 3–5kg, XL 5kg 초과)은 해당 장바구니 무게에 대해 Price를 대체합니다. 빈 셀은 Price를 사용합니다. 0은 무료 배송을 의미합니다. 가격이 전혀 없는 행은 저장할 때 삭제되며, 숫자가 아닌 값은 메시지와 함께 거부됩니다.
Fallback cost: 어떤 국가 요금도 일치하지 않을 때 사용되는 쇼핑몰 통화의 고정 요금. 비워 두면 이 경우 방법이 숨겨집니다.
Fixed price is: Per order는 요금을 한 번만 청구합니다. Per item (each item priced by its own weight x quantity)은 각 상품을 자체 무게(무게가 없으면 기본 무게)로 가격을 책정하고 수량을 곱합니다. UPS 실시간 요금은 항상 장바구니 전체 무게를 기준으로 견적됩니다.
조건
Free shipping from: 이 방법이 무료가 되는 장바구니 소계 금액. 고객에게는 "(Free)"가 붙은 방법 이름이 표시되며, UPS에 요청이 전송되지 않습니다. 비워 두면 무료 배송을 제공하지 않습니다.
Minimum subtotal: 장바구니 소계가 이 금액 이상일 때만 이 방법을 표시합니다. 비워 두면 항상 표시됩니다.
Min weight (kg): 이 방법이 나타나기 위한 최소 장바구니 무게. 0은 제한 없음을 의미합니다.
Max weight (kg): 장바구니 무게가 이 값을 초과하면 방법이 숨겨집니다. 기본값: 70. UPS의 패키지당 한도입니다(70kg / 150lbs). 0은 제한 없음을 의미합니다.
Default product weight (kg): 무게가 없는 상품에 사용되는 무게. UPS 요금, 무게 열, 무게 제한에 사용됩니다. 기본값: 0.5.
Excluded shipping classes: 장바구니에 이 WooCommerce 배송 등급 중 하나에 속한 상품이 있으면 방법을 숨깁니다.
배송 지역 없이 사용 가능 여부
Ignore shipping zones: 배송 지역에 추가하지 않아도 아래의 국가에 대해 이 방법을 제공합니다.
Countries: 이 모드의 목적지 국가. 비워 두면 쇼핑몰의 모든 배송 국가를 사용합니다. 이 필드는 Ignore shipping zones가 켜져 있을 때만 사용됩니다.
고급
Debug log: API 요청과 요금 계산을 WooCommerce > Status > Logs에 기록합니다. 소스는 vfd-ups입니다. 이 옵션이 꺼져 있어도 API 오류는 항상 기록됩니다. 자격 증명, 토큰, 고객 주소는 기록되지 않습니다.
Remove data on uninstall: 켜면 플러그인을 삭제할 때 모든 플러그인 설정과 지역 방법이 제거됩니다. 비활성화는 설정을 절대 삭제하지 않습니다.
결제 시 작동 방식
고객이 배송 주소를 입력하면 WooCommerce가 플러그인에 요금을 요청합니다. 플러그인은 먼저 조건을 확인합니다: 장바구니 무게, 최소 소계, 제외된 배송 등급. 무료 배송이 적용되면 방법은 무료로 표시되고 UPS에 요청이 전송되지 않습니다.
플러그인은 UPS에서 OAuth 토큰을 받고 만료될 때까지 보관합니다. UPS가 거부한 토큰은 자동으로 갱신됩니다. 그런 다음 발송지 주소에서 고객 주소까지의 모든 서비스에 대해, 장바구니를 하나의 패키지로 하여 UPS Rating API에 요청합니다. 우편번호를 사용하는 국가의 경우, 고객이 우편번호를 입력할 때까지 요청이 대기합니다. 미국에서 캐나다 또는 푸에르토리코로 발송하는 경우, UPS 요구 사항에 따라 상품 가액이 전송됩니다.
고객에게는 가장 저렴한 UPS 서비스가 포함된, 쇼핑몰 통화로 환산된 옵션 하나가 표시됩니다. 플러그인은 Access Point 주소를 수집하지 않으므로 UPS Access Point Economy는 견적되지 않습니다.
각 요금 견적은 1시간 동안 캐시됩니다. 실패한 요청은 10분, 실패한 토큰 요청은 5분 동안 기억되므로, 장애가 발생해도 결제 페이지의 모든 업데이트가 느려지지 않습니다. HTTP 제한 시간은 15초입니다. 플러그인을 비활성화하면 캐시된 토큰과 요금이 지워집니다.
UPS가 요금을 반환하지 않으면(API 중단, 잘못된 자격 증명, 사용 가능한 서비스 없음), 가격은 Country prices에서, 그다음 Fallback cost에서 가져옵니다. 둘 다 해당하지 않으면 방법이 숨겨집니다. 고객에게 UPS 오류 메시지가 표시되는 일은 없습니다.
이 방법은 클래식 체크아웃과 장바구니 및 체크아웃 블록 모두에서 작동합니다. WooCommerce High-Performance Order Storage(HPOS)와 호환됩니다.
플러그인은 배송 요금만 계산합니다. UPS Access Point 선택 기능을 제공하지 않으며, 배송 라벨이나 UPS 운송장을 만들지 않고, 집화를 예약하거나 소포를 추적하지 않습니다. 여러 UPS 서비스가 아니라 하나의 옵션만 표시합니다. 상자에 담는 기능은 없으며, 장바구니는 하나의 패키지로 견적됩니다. 환율은 자동이 아닙니다.
주문
실시간 요금의 경우, 주문의 배송 행에 UPS service(예: UPS Ground)가 저장됩니다. 쇼핑몰 관리자는 관리자 주문 화면에서 이를 확인할 수 있습니다.
라이선스 키
이 플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Shipping > VibeFox UPS 상단에 있습니다. License key에 키를 붙여 넣고 Activate를 클릭하십시오. 블록에는 상태(예: 라이선스가 활성화된 마지막 날짜)와 도메인이 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하며, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서만 작동합니다. 사이트에서 키를 제거해도 해당 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 결제 시 고객에게 UPS가 표시되지 않습니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only) 표시와 함께 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 목록 페이지와 WooCommerce 페이지에 알림이 나타납니다. 기존 주문에는 영향을 주지 않습니다.
라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
결제 시 UPS가 표시되지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 그리고 이 방법이 고객 국가의 지역에 추가되어 있는지 확인하십시오(또는 Ignore shipping zones가 켜져 있고 해당 국가가 허용되어 있는지). 무게 제한, Minimum subtotal, Excluded shipping classes도 확인하십시오. UPS 자격 증명이 제대로 작동하지 않으면 이 방법에는 고정 요금(Country prices 또는 Fallback cost)이 필요합니다.
실시간 요금이 표시되지 않음: 설정 페이지 상단의 경고를 확인하십시오. Debug log를 켜고 WooCommerce > Status > Logs를 열어 소스 vfd-ups를 확인하십시오. OAuth 오류(Client ID, Client Secret, Test mode 확인), UPS 오류 메시지, 통화 문제가 표시됩니다.
요금은 USD인데 쇼핑몰은 다른 통화를 사용함: UPS는 발송인 계정의 통화로 요금을 반환합니다. UPS account currency와 Exchange rate를 설정하십시오. 환율이 없으면 이런 요금은 무시되고 고정 요금이 사용됩니다.
"This measurement system is not valid for the selected country": Measurement units를 Automatic으로 두거나, 발송 국가에 대해 UPS가 요구하는 단위를 선택하십시오.
변경 후 요금이 오래된 것처럼 보임: 설정 페이지를 저장하거나 Clear cached UPS token and rates를 클릭하십시오.
개발자용: 필터 vfd_upsx_allowed_services와 vfd_upsx_excluded_services는 표시될 수 있는 UPS 서비스를 제한합니다. vfd_upsx_rate_request는 요금 요청을 변경하고, vfd_upsx_api_base_url은 API 주소를 변경하며, vfd_upsx_currency_codes는 UPS가 반환하는 통화 코드를 매핑합니다.
라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르십시오. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하십시오. 사이트 주소가 변경되었다면 Check now를 클릭하여 새 도메인에 키를 활성화하십시오. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.
제거
플러그인을 비활성화하면 설정은 유지되고 캐시된 토큰과 요금만 지워집니다. 플러그인을 제거하려면 비활성화한 뒤 Plugins 페이지에서 삭제하십시오. 이 플러그인의 라이선스 키와 라이선스 상태, 캐시된 토큰과 요금은 항상 제거됩니다. 설정과 지역 방법은 Remove data on uninstall이 켜져 있을 때만 제거됩니다. 그렇지 않으면 나중에 재설치할 때를 위해 유지됩니다. 기존 주문은 배송 행을 그대로 유지합니다.
UPS는 각 소유자의 상표입니다. 이 플러그인은 UPS와 제휴하거나 UPS의 승인을 받은 것이 아닙니다.
