뒤로

VibeFox ShipStation for OpenCart — 도움말

요구 사항

OpenCart: 3.0.x(3.0.5.0에서 테스트) 또는 4.0.2 이상(4.1.0.3에서 테스트).

PHP: 8.0 이상.

ShipStation 계정: ShipStation에서 운송사를 연결한 다음(Settings > Shipping > Carriers), ShipStation > Settings > Account > API Settings에서 API Key와 API Secret을 복사합니다. API 접근은 ShipStation 요금제에 따라 다릅니다. 이 확장 기능은 ShipStation API V1(API Key와 API Secret)을 사용합니다. 키가 없으면 대체 요금만 사용됩니다.

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

설치

다운로드는 두 OpenCart 버전용 패키지가 들어 있는 하나의 zip 파일입니다. 컴퓨터에서 압축을 푸십시오. README.txt, OpenCart 3용 패키지 vfd_shipstation-oc3-(version).ocmod.zip, OpenCart 4용 패키지 vfd_shipstation.ocmod.zip이 들어 있습니다. OpenCart 버전에 맞는 패키지만 설치하십시오. 라이선스 키는 두 버전에서 동일합니다.

OpenCart 3

1. 관리자에서 Extensions > Installer로 이동하여 Upload를 클릭하고 vfd_shipstation-oc3-(version).ocmod.zip 파일을 선택합니다. 이 확장 기능은 OCMOD 수정 사항을 추가하지 않으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. Installer 대신 이 패키지의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.

2. Extensions > Extensions로 이동하여 확장 기능 유형으로 Shipping을 선택합니다. VibeFox ShipStation을 찾아 Install(녹색 + 버튼)을 클릭합니다.

3. Edit(연필 버튼)를 클릭하여 설정 페이지를 엽니다.

4. Edit 페이지 상단의 라이선스 블록에 있는 License key 칸에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다(라이선스 키 참조).

5. API Key와 API Secret을 붙여 넣고, 발송지 우편번호를 입력한 다음 Save를 클릭합니다. 이제 페이지에 계정의 운송사 코드가 표시됩니다. 원하는 코드를 Carrier codes에 입력하고 다시 저장합니다.

6. 쇼핑몰의 기본 통화가 ShipStation 계정의 통화와 다르면 Exchange rate를 설정합니다. 필요하면 대체 요금도 입력합니다.

7. Enable ShipStation shipping을 켜고 Save를 클릭합니다.

OpenCart 4

1. 관리자에서 Extensions > Installer로 이동하여 Upload를 클릭하고 vfd_shipstation.ocmod.zip 파일을 선택합니다. 파일 이름을 바꾸지 마십시오. OpenCart 4는 파일 이름에서 확장 기능 코드를 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.

2. 패키지는 같은 페이지의 설치된 확장 기능 목록에 나타납니다. 그 옆의 Install(녹색 + 버튼)을 클릭하십시오.

3. Extensions > Extensions로 이동하여 확장 기능 유형으로 Shipping을 선택합니다. VibeFox ShipStation을 찾아 Install(녹색 + 버튼)을 클릭한 다음 Edit(연필 버튼)을 클릭하십시오.

4. 라이선스 키와 설정은 OpenCart 3의 4~7단계와 같이 입력하십시오. 설정 페이지와 그 필드는 두 버전에서 동일합니다.

설치 후에는 이 방법을 켜고 저장하기 전까지 비활성 상태입니다. 제거한 뒤 확장 기능을 다시 설치하면, 보관해 둔 ShipStation 설정이 다시 사용됩니다.

설정

모든 설정은 확장 기능 페이지에 있습니다: Extensions > Extensions > Shipping > VibeFox ShipStation > Edit. 섹션은 왼쪽에 나열됩니다. Save 버튼 하나로 페이지 전체를 다시 불러오지 않고 저장합니다. 저장할 때마다 캐시된 ShipStation 요금이 지워지고 API Key와 API Secret이 확인됩니다. 그 후 페이지에는 계정에 연결된 운송사와 코드가 표시됩니다(예: "stamps_com (Stamps.com), ups_walleted (UPS by ShipStation)"). 이 확장 기능을 수정할 권한이 있는 관리자 사용자만 설정을 저장할 수 있습니다.

페이지 상단의 경고는 실시간 요금이 작동할 수 없는 경우를 알려 줍니다. 키가 없거나, 운송사 코드가 없거나, 발송지 우편번호가 없거나, 환율이 없거나, 연결 확인에 실패했거나, 운송사 코드가 계정에 연결되지 않은 경우입니다. 쇼핑몰의 무게 단위나 길이 단위를 확장 기능이 변환할 수 없는 경우에도 경고가 나타납니다. kg, g, lb 또는 oz와 cm, mm, m 또는 in을 사용하십시오(System > Settings > Option). 잘못된 이름, 숫자 필드, 음수나 숫자가 아닌 텍스트가 들어 있는 가격 셀, Maximum weight보다 큰 Minimum weight, 정수가 아닌 정렬 순서는 오류로 보고되며 아무것도 저장되지 않습니다.

일반

Enable ShipStation shipping: 체크아웃에서 이 방법을 표시하거나 숨깁니다. Extensions > Extensions > Shipping에 있는 확장 기능의 상태입니다.

Name: 체크아웃에서 고객에게 표시되는 배송 방법 이름. 기본값: ShipStation Shipping. 필수 항목이며, 최대 64자이고, 문자 < > ; = # { }는 사용할 수 없습니다.

Tax class: 배송비의 세금 등급 또는 No tax. ShipStation 요금에는 판매세가 포함되어 있지 않습니다. No tax를 선택하면 제시된 대로 표시되며, 세금 등급을 선택하면 세금 규칙에 따라 배송비에 세금이 추가됩니다.

Sort order: 체크아웃의 배송 방법 중 이 방법의 위치. 정수입니다.

ShipStation 계정

API Key: ShipStation > Settings > Account > API Settings의 API Key입니다. ShipStation으로만 전송되며 로그에 기록되지 않습니다. 저장한 뒤 이 필드는 비워 두며 Saved — leave empty to keep it.를 표시합니다. 변경하려는 경우에만 새 값을 입력하십시오.

API Secret: 같은 페이지의 API Secret입니다. 키와 같은 방식으로 저장됩니다.

Remove the saved API key and secret: 키가 저장되어 있으면 나타납니다. 선택하고 저장하면 둘 다 제거됩니다.

Carrier codes: 쉼표로 구분된 하나 이상의 ShipStation 운송사 코드(예: stamps_com, ups_walleted). 최대 5개의 코드가 사용되며, 운송사마다 API 요청이 한 번씩 전송됩니다. 더 많이 입력하면 처음 5개만 유지되고, 페이지에 이를 알려 줍니다. 이 운송사들의 가장 저렴한 요금이 표시됩니다. 저장 후 표시되는 목록에서 코드를 확인하십시오.

Allowed services: 선택 사항으로, 쉼표로 구분된 ShipStation 서비스 코드(예: usps_priority_mail, ups_ground). 비워 두면 위의 운송사 중 가장 저렴한 서비스가 표시됩니다.

Package code: "package"(기본값)는 자체 상자의 요금을 계산하며 운송사의 봉투와 정액 상자는 제외합니다. 비워 두면 운송사가 제공하는 모든 패키지 유형의 요금을 계산합니다.

발송지

Ship-from postal code: 실시간 요금에 필요합니다(예: 78703). ShipStation은 우편번호만으로 요금을 계산하며, 이 우편번호는 ShipStation 계정의 국가에 속해야 합니다. OpenCart에는 쇼핑몰 우편번호가 없으므로 쇼핑몰 주소에서 가져오지 않습니다.

요금

Parcels: 장바구니가 ShipStation으로 전송되는 방식.

One parcel per order (the cart is packed into one box): 모든 상품을 한 상자에 담아 한 번만 요금을 계산합니다. 기본값입니다.
One parcel per item (every unit ships in its own box): 각 상품을 개별 소포로 요금을 계산하며, 요금은 단위마다 청구됩니다. 대체 요금도 단위마다 청구됩니다.

ShipStation account currency: ShipStation이 요금을 반환하는 통화: USD, CAD, GBP, AUD, NZD 또는 EUR. 기본값: USD(미국 계정).

Exchange rate: 계정 통화 1단위의 쇼핑몰 기본 통화 가격(예: 0.92). 기본 통화가 계정 통화와 다를 때만 필요합니다. 설정하지 않으면 실시간 요금은 사용되지 않고 대체 요금이 적용됩니다. 환율은 자동으로 업데이트되지 않습니다.

대체 요금(실시간 요금이 없을 때 사용: API 키가 없거나, ShipStation에 연결할 수 없거나, 해당 주소에 운송사 요금이 없는 경우. 요금은 쇼핑몰의 기본 통화로 입력합니다. 이 경우 방법을 숨기려면 표와 Other countries를 비워 두십시오)

Prices by country: 국가별 Base 요금과 소포 무게에 따른 크기 열이 있는 표입니다: XS는 1 kg까지, S는 2 kg까지, M은 3 kg까지, L은 5 kg까지, XL은 5 kg 초과입니다. Add country를 클릭하면 행을 추가합니다. 크기 칸이 비어 있으면 기본 요금을 사용합니다. 기본 요금이 0이면 무료 배송을 의미합니다. * Default (all other countries) 행은 자체 행이 없는 국가에 적용됩니다. 요금이 하나도 없는 행은 저장되지 않습니다.

Other countries: 표에 해당 국가의 요금이 없을 때 적용되는 요금. 이 경우 방법을 숨기려면 비워 두십시오.

조건

Free shipping from: 배송이 필요한 상품의 소계(쿠폰 적용 후, 세금 전)가 이 금액 이상이면 배송이 무료입니다. 이 경우 ShipStation에 요청이 전송되지 않습니다. 사용하지 않으려면 비워 두십시오.

Minimum subtotal: 배송이 필요한 상품의 소계(쿠폰 적용 후, 세금 전)가 이 금액 이상일 때만 이 방법을 표시합니다. 항상 표시하려면 비워 두십시오.

Minimum weight: 이 방법을 표시하기 위한 최소 장바구니 무게로, 쇼핑몰의 무게 단위(필드 이름에 표시됨)로 입력합니다. 0은 제한 없음(기본값)을 의미합니다.

Maximum weight: 장바구니 무게가 이 값을 초과하면 이 방법을 숨깁니다. 쇼핑몰의 무게 단위로 입력합니다. 0은 제한 없음(기본값)을 의미합니다.

적용 가능성

Geo zone: 이 지역 구역 내 주소에만 이 방법을 제공합니다. All zones(기본값)는 제한 없음을 의미합니다. Ignore shipping zones가 켜져 있는 동안에는 확인하지 않습니다. 지역 구역은 System > Localisation > Geo Zones에서 관리합니다.

Ignore shipping zones: 지역 구역과 관계없이 아래의 국가에 이 방법을 제공합니다.

Countries: 이 모드의 배송 대상 국가. 비워 두면 쇼핑몰에서 활성화된 모든 국가를 사용합니다. 이 필드는 Ignore shipping zones가 켜져 있을 때만 사용됩니다.

고급

Debug log: ShipStation 요청을 storage/logs/vfd_shst_debug.log.php에 기록합니다(OpenCart 4에서는 system/storage/logs/vfd_shst_debug.log.php). 이 파일은 웹에서 읽을 수 없습니다. 이 옵션이 꺼져 있어도 API 오류는 항상 기록됩니다. API Key, API Secret, 고객 주소는 절대 기록되지 않습니다. 우편번호는 가려집니다. 파일이 5 MB에 도달하면 vfd_shst_debug.old.log.php로 옮겨지고 새 로그가 시작됩니다.

Log: 로그의 크기와 최신 항목을 보여 줍니다. Clear log를 클릭하면 비워집니다.

Remove data on uninstall: 켜져 있으면 확장 기능을 제거할 때 ShipStation 설정과 로그가 삭제됩니다. 꺼져 있으면(기본값) 다시 설치할 수 있도록 유지됩니다. 캐시된 요금은 항상 삭제됩니다. 이미 주문한 주문의 ShipStation 서비스는 항상 유지됩니다.

가져오기 / 내보내기

Export: Download JSON을 클릭하면 설정을 JSON 파일로 저장합니다. API Key와 API Secret은 내보내지 않습니다.

Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정을 복원합니다(예: 다른 쇼핑몰에서). 값은 일반 저장과 같은 방식으로 확인됩니다. 저장된 API Key와 API Secret은 유지됩니다.

체크아웃에서의 작동 방식

OpenCart가 배송 방법을 표시할 때, 확장 기능에 ShipStation 요금을 요청합니다. Geo zone이 설정되어 있고(Ignore shipping zones는 꺼져 있음) 주소가 그 범위 밖이면 이 방법은 제공되지 않습니다. Requires Shipping이 Yes로 설정된 상품만 계산에 포함됩니다. 그 밖의 상품은 무게를 더하지 않으며 소계에도 포함되지 않습니다. 그런 다음 확장 기능은 조건을 확인합니다. 허용된 국가(Ignore shipping zones 사용 시), 장바구니 무게, 최소 소계입니다. 기프트 카드, 포인트, 쇼핑몰 적립금은 고려되지 않습니다. 무료 배송이 적용되면 이 방법은 0원으로 표시되며 ShipStation에 요청이 전송되지 않습니다.

그런 다음 확장 기능은 ShipStation에 발송지 우편번호, 배송 국가, 주/도 코드, 도시와 우편번호, 소포 무게, 상자 크기를 보냅니다. 고객이 우편번호를 입력하기 전에는 요청이 전송되지 않습니다. 우편번호가 없는 국가는 대체 요금을 받습니다. 상품은 한 상자에 담깁니다. 상품에 치수가 없으면 소포는 무게로만 요금이 계산됩니다.

ShipStation은 운송사 코드마다 한 번씩 조회됩니다. 확장 기능은 허용된 요금 중 가장 저렴한 요금을 사용하며, 이를 쇼핑몰의 기본 통화로 환산하고 소수점 자리에 맞게 반올림합니다. 그런 다음 가격은 선택한 Tax class의 세금을 포함하여 고객의 통화로 표시됩니다.

각 응답은 1시간 동안 캐시됩니다. ShipStation이 사용 가능한 요금 없이 응답하면 그 응답은 10분 동안 기억됩니다. ShipStation이 키를 거부하거나 연결할 수 없으면 요청은 5분 동안 일시 중지됩니다. 요청 한도를 초과한 후에는 ShipStation이 알려 준 재설정 시간까지 일시 중지됩니다. 요청 제한 시간은 12초입니다.

실시간 요금이 없으면 가격은 대체 요금 표에서 가져오고, 그다음에는 Other countries에서 가져옵니다. 둘 다 해당하지 않으면 이 방법은 숨겨집니다. 고객은 ShipStation 오류 메시지를 절대 보지 않습니다. 자세한 내용은 디버그 로그에 기록됩니다.

이 확장 기능은 요금만 계산합니다. 송장을 구매하거나, ShipStation에 주문이나 배송을 만들거나, 소포를 추적하거나, 반품을 처리하지 않습니다. 픽업 장소, 체크아웃에서 여러 서비스 중 선택, 주소 검증, 보험, 서명 확인, 여러 소포로 나누어 포장하기, 요금 인상 기능은 없습니다.

OpenCart 4에서는 고객이 체크아웃 페이지의 배송 방법 블록에서 Choose를 클릭하고 Shipping method options 창에서 ShipStation을 선택합니다. 이 방법은 OpenCart 3과 같은 방식으로 작동합니다.

주문

실시간 ShipStation 요금으로 주문하면 선택한 서비스가 주문과 함께 저장됩니다. Sales > Orders에서 주문을 열면, 주문 기록 위의 ShipStation 패널에 Service로 표시됩니다(예: "USPS Ground Advantage - Package"). 그래서 ShipStation에서 해당 라벨을 만들 수 있습니다. 상품별 모드에서는 서비스가 쉼표로 구분되어 나열됩니다. 이후 장바구니를 변경해도 이 값은 바뀌지 않으며, 이 방법을 끈 뒤에도 패널은 계속 표시됩니다. 대체 요금이나 무료 배송으로 주문된 주문에는 ShipStation 패널이 없습니다.

OpenCart 4는 체크아웃용 주문을 하나만 유지하며, 고객이 다시 확인할 때마다 그 주문을 업데이트합니다. 저장된 ShipStation 서비스도 함께 업데이트됩니다. 고객이 다른 배송 방법으로 바꾸거나 지금 대체 요금이 적용되면, 저장된 서비스는 주문에서 제거됩니다.

라이선스 키

이 확장 기능은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox ShipStation은 Extensions > Extensions > Shipping > VibeFox ShipStation > Edit의 첫 번째 블록이며, 설정 위에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하십시오. 그 후 블록에는 마스킹된 키, 상태(예: 라이선스가 유효한 날짜와 도메인), 그리고 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key 버튼이 표시됩니다. 그 아래에는 Product: opencart-shipping-shipstation 줄과 vibefox.net 계정을 여는 Manage licenses and domains in your account 링크가 있습니다. 이 확장 기능에 대한 Modify 권한이 있는 관리자 사용자만 키를 변경할 수 있습니다. 블록의 텍스트는 관리자 언어를 따릅니다(영어와 러시아어 포함).

키가 승인되지 않으면 블록에 그 이유가 표시됩니다. 예: Key not found, This key belongs to another product, Domain limit reached, 또는 날짜가 붙은 License expired on. 쇼핑몰 주소를 변경한 후, 또는 계정에서 도메인 슬롯을 비운 후에는 Check now를 클릭하십시오. 라이선스 서버에 연결할 수 없으면 확장 기능은 마지막으로 확인된 상태로 계속 작동합니다.

키 하나는 도메인 하나에서 작동합니다. 도메인은 OpenCart 설정의 쇼핑몰 주소입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.

활성 키가 없으면 ShipStation은 체크아웃에서 고객에게 표시되지 않으며 요금도 계산되지 않습니다. 같은 브라우저에서 관리자에 로그인한 관리자 사용자에게는 쇼핑몰에 이 방법이 여전히 표시되며, (unlicensed — visible to admins only)로 표시됩니다. 그래서 키를 구매하기 전에 확장 기능을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리 보기를 사용할 수 없습니다. 쇼핑몰은 관리자 로그인을 볼 수 없으므로, 활성 키가 없으면 이 방법은 모든 사용자에게 숨겨집니다. Edit 페이지를 한 번 열면 관리자 Dashboard에 알림이 나타납니다. ×를 클릭해 닫으면 7일 동안 숨겨집니다. 기존 주문은 영향을 받지 않습니다.

라이선스가 만료되어도 확장 기능은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 관리자 Dashboard 또는 Edit 페이지를 열면 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 확장 기능을 제거하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.

문제 해결

체크아웃에 ShipStation이 나타나지 않음: 라이선스가 활성 상태인지, Enable ShipStation shipping이 켜져 있는지 확인하십시오. Geo zone(또는 Ignore shipping zones가 켜져 있으면 Countries), 무게 제한, Minimum subtotal을 확인하십시오. 실시간 요금이 없으면 국가, * Default 또는 Other countries에 요금이 있는지 확인하십시오. 상품의 Requires Shipping이 Yes로 설정되어 있는지 확인하십시오.

체크아웃에 ShipStation 요금 대신 대체 요금이 표시됨: 확장 기능 페이지 상단의 경고(키, 운송사 코드, 발송지 우편번호, 환율)를 확인하십시오. Debug log를 켜고 체크아웃을 새로 고친 뒤 Log 필드를 보십시오. 고객의 우편번호가 필요합니다. 입력되기 전에는 요청이 전송되지 않습니다.

입력할 운송사 코드: 키와 Secret으로 설정을 저장하십시오. 페이지에 계정의 운송사 코드가 표시됩니다. 그중 하나 이상을 사용하십시오.

ShipStation 연결 확인 실패: 메시지에 이유가 표시됩니다. API Key와 API Secret을 확인한 다음 다시 저장하여 확인을 반복하십시오.

요금이 ShipStation과 다름: 소포는 상품의 무게와 치수를 바탕으로, 상품을 한 상자에 담아 구성됩니다. 치수가 없는 상품은 무게로만 요금이 계산됩니다. 요금은 1시간 동안 캐시됩니다. 캐시를 지우려면 확장 기능 페이지에서 Save를 클릭하십시오.

페이지에 "Warning: You do not have permission to modify VibeFox ShipStation!"가 표시됨: 관리자 사용자 그룹이 설정을 보기만 할 수 있습니다. System > Users > User Groups에서 해당 그룹에 extension/shipping/vfd_shipstation(OpenCart 3) 또는 extension/vfd_shipstation/shipping/vfd_shipstation(OpenCart 4)에 대한 수정 권한을 부여하십시오.

개발자용: ShipStation API 주소는 vfd_shst_api_url 설정(테스트용)으로 바꿀 수 있습니다. 설정 페이지에는 이 항목의 필드가 없습니다.

제거

Extensions > Extensions로 이동하여 Shipping 유형을 선택하고, VibeFox ShipStation 옆의 Uninstall(빨간색 − 버튼)을 클릭하십시오. 이 확장 기능의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. OpenCart는 항상 Enable ShipStation shipping, Sort order, Tax class, Geo zone을 초기화합니다. 캐시된 요금과 연결 확인 결과는 항상 삭제됩니다. Remove data on uninstall이 켜져 있으면 ShipStation 설정과 디버그 로그도 삭제됩니다. 꺼져 있으면 다른 설정은 유지되고, 확장 기능을 다시 설치할 때 다시 사용됩니다. 기존 주문은 배송 방법, 비용, ShipStation 서비스를 그대로 유지합니다.

OpenCart 4에서 확장 기능의 파일도 제거하려면, 제거한 뒤 Extensions > Installer로 이동하여 설치된 확장 기능 목록에서 VibeFox ShipStation 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, 업로드한 패키지를 제거하려면 Delete(빨간색 휴지통 버튼)를 클릭하십시오.

ShipStation은 해당 소유자의 상표입니다. 이 확장 기능은 ShipStation과 제휴하거나 ShipStation의 승인을 받지 않았습니다.