WooCommerce에서 일부 국가의 지불 게이트웨이를 비활성화하는 방법

게시 됨: 2019-10-24

지난 게시물에서 다양한 사용자 역할에 따라 WooCommerce에서 지불 게이트웨이를 비활성화하는 방법에 대해 이야기했습니다. 고객의 국가에 따라 이 작업을 수행해야 하는 경우가 있습니다. 이는 해당 국가에서 결제 게이트웨이가 널리 사용되지 않거나 고객이 특정 결제 게이트웨이를 사용하여 결제하도록 권장하고 해당 결제 게이트웨이를 선택적으로 활성화하려는 것과 같은 다양한 이유 때문일 수 있습니다. 어쨌든 글로벌 규모로 운영되는 전자 상거래 상점의 경우 유용한 기능입니다. WooCommerce에서 일부 국가의 결제 게이트웨이를 비활성화하는 방법을 알아보세요.

대부분의 경우와 마찬가지로 코드 조각이나 플러그인을 사용하여 이 작업을 수행할 수 있습니다.

코드 스니펫을 사용하여 일부 국가의 결제 게이트웨이 비활성화

먼저 인도용 PayPal을 비활성화하려는 경우를 고려해 보겠습니다. 하위 테마의 functions.php 파일에 다음 코드를 붙여넣습니다.

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
기능 ts_disable_payment_gateway_by_country( $available_payment_gateways ) {
    if ( is_admin() ) $available_payment_gateways를 반환합니다.
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->고객->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['페이팔'] );
        }
    $available_payment_gateways 반환;
}

여기에서 woocommerce_available_payment_gateways 후크에 함수를 추가하여 조건을 작성하는 국가의 국가 코드를 확인하고 해당 국가(우리의 경우 인도)에 대해 PayPal을 비활성화합니다.

disable payment gateways for some countries in WooCommerce - PayPal disabled for India on the Checkout page

여기에서 인도에 "IN"을 사용한 것처럼 모든 국가에는 다른 코드가 있습니다. 이 게시물의 끝에서 국가 코드 목록을 찾을 수 있습니다.

기본 사용 가능한 지불 게이트웨이에 대한 키워드/슬러그는 다음과 같습니다.

페이팔: 페이팔
직접 은행 송금: bacs
착불: 대금 상환
수표: 수표

미국 고객에 대해 PayPal 옵션만 활성화하고 인도 고객에 대해서는 이 옵션을 비활성화하려는 또 다른 예를 고려해 보겠습니다. 이 경우 위의 코드 조각을 몇 줄 더 조정하여 미국 고객의 다른 지불 게이트웨이를 비활성화합니다.

 add_filter( 'woocommerce_available_payment_gateways', 'ts_disable_payment_gateway_by_country' );
  
기능 ts_disable_payment_gateway_by_country( $available_payment_gateways ) {
    if ( is_admin() ) $available_payment_gateways를 반환합니다.
    if ( isset( $available_payment_gateways['paypal'] ) && WC()->고객->get_billing_country() == 'IN' ) {
            unset( $available_payment_gateways['페이팔'] );
        }
  if ( WC()->고객->get_billing_country() == '미국') {
    if (isset($available_payment_gateways['bacs'])) { unset($available_payment_gateways['bacs']); } 
    if (isset($available_payment_gateways['수표'])) { unset($available_payment_gateways['수표']); } 
    if (isset($available_payment_gateways['cod'])) { unset($available_payment_gateways['cod']); } 
  }
    $available_payment_gateways 반환;
}

이러한 방식으로 고객의 국가에 따라 지불 게이트웨이를 비활성화할 수 있습니다.

플러그인을 사용하여 일부 국가의 결제 게이트웨이 비활성화

고객의 국가에 따라 지불 게이트웨이를 비활성화하는 플러그인도 있습니다. 그러한 플러그인 중 하나는 국가 기반 결제 플러그인입니다. 어느 국가에서 어떤 결제 게이트웨이를 사용할 수 있는지 결정하는 데 사용할 수 있는 무료 플러그인입니다. 플러그인 인터페이스는 친숙하고 자명하지만 지불 게이트웨이에서 한 국가만 제외하려면 해당 지불 게이트웨이에 대해 모든 국가를 선택한 다음 비활성화하려는 국가를 개별적으로 선택 해제하는 것입니다. 그 지불 게이트웨이.

또한 WooCommerce 플러그인의 조건부 결제 방법을 사용하여 고객의 청구/배송 위치, 제품 분류 또는 주문 합계와 같은 국가에 따라 모든 결제 게이트웨이(맞춤 게이트웨이 포함)를 숨기거나 표시할 수 있습니다. 예를 들어 미국, 캐나다 및 유럽 국가에서 PayPal 및 Stripe를 표시합니다.

이러한 방식으로 코드 스니펫과 플러그인을 사용하여 국가에 따라 지불 게이트웨이를 비활성화할 수 있습니다.

국가 코드 목록:

암호 위치/국가
A1
익명 프록시
A2 위성 제공자
O1 다른 나라
기원 후 안도라
AE
아랍 에미리트
AF 아프가니스탄
AG
앤티가바부다
일체 포함 앵귈라
알바니아
오전 아르메니아
AO 앙골라
AP
아시아/태평양 지역
질문 남극
AR 아르헨티나
처럼
아메리칸 사모아
오스트리아
호주 호주
AW 아루바
도끼 올란드 제도
AZ 아제르바이잔
학사
보스니아 헤르체고비나
비비 바베이도스
BD 방글라데시
BE 벨기에
BF 부키 나 파소
BG 불가리아
BH 바레인
BI 부룬디
비제이 베냉
BL
생 바르텔레메이
비엠 버뮤다
비엔
브루나이 다루살람
볼리비아
바베큐
보네르, 성 유스타티우스, 사바
BR 브라질
학사 바하마
BT 부탄
BV 부베 아일랜드
흑백 보츠와나
에 의해 벨라루스
BZ 벨리즈
캘리포니아 캐나다
참조
코코스(킬링) 제도
CD
콩고민주공화국
CF
중앙 아프리카 공화국
CG 콩고
채널 스위스
CI 코트디부아르
씨케이 쿡 제도
씨엘 칠레
센티미터 카메룬
CN 중국
CO 콜롬비아
CR 코스타리카
CU 쿠바
이력서 카보베르데
CW 큐라소
CX 크리스마스 섬
사이 키프로스
CZ 체코 공화국
독일
디제이 지부티
DK 덴마크
디엠 도미니카
~하다
도미니카 공화국
DZ 알제리
EC 에콰도르
EE 에스토니아
EG 이집트
뭐라고 서부 사하라
에리트레아
에스 스페인
동부 표준시 에티오피아
유럽 ​​연합 유럽
FI 핀란드
FJ 피지
FK
포클랜드 제도(말비나스)
FM
미크로네시아, 연방
FO 페로 제도
정말로 프랑스
조지아 가봉
GB 영국
지디 그레나다
GE 그루지야
GF 프랑스령 기아나
GG 건지
GH 가나
미군 병사 지브롤터
지엘 그린란드
지엠 감비아
지엔 기니
GP 과들루프
지큐
적도 기니
GR 그리스
GS
사우스 조지아 및 사우스 샌드위치 제도
GT 과테말라
GW 기니비사우
GY 가이아나
홍콩 홍콩
허드 아일랜드와 맥도날드 제도
HN 온두라스
인사 크로아티아
HT 아이티
헝가리
ID 인도네시아
아일랜드
일리노이 이스라엘
나는 맨 섬
인도
IO
영국령 인도양 영토
IQ 이라크
IR
이란, 이슬람 공화국
이다 아이슬란드
그것 이탈리아
저지
제이엠 자메이카
요르단
일본 일본
케냐
킬로그램 키르기스스탄
KH 캄보디아
키리바시
KM 코모로
KN
세인트키츠네비스
KP
조선민주주의인민공화국
한국
대한민국
KW 쿠웨이트
KY 케이맨 제도
KZ 카자흐스탄
라오스 인민 민주 공화국
LB 레바논
LC 세인트루시아
리히텐슈타인
LK 스리랑카
LR 라이베리아
엘에스 레소토
LT 리투아니아
룩셈부르크
LV 라트비아
리비아 아랍 자마히리야
엄마 모로코
MC 모나코
MD
몰도바, 공화국
몬테네그로
MF 세인트 마틴
MG 마다가스카르
MH 마셜 제도
엠케이 마케도니아
ML 말리
MM 미얀마
미네소타 몽골리아
마카오
의원
북마리아나 제도
MQ 마르티니크
모리타니
MS 몬세라트
몰타
모리셔스
뮤직비디오 몰디브
MW 말라위
MX 멕시코
나의 말레이시아
MZ 모잠비크
없음 나미비아
체크 안함 뉴 칼레도니아
북동 니제르
NF 노퍽 섬
NG 나이지리아
NI 니카라과
NL 네덜란드
아니 노르웨이
NP 네팔
NR 나우루
니우에
뉴질랜드 뉴질랜드
오만
아빠 파나마
체육 페루
PF
프랑스 령 폴리네시아의
PG
파푸아 뉴기니
PH 필리핀 제도
PK 파키스탄
PL 폴란드
오후
생 피에르와 미클롱
PN 핏케언
홍보 푸에르토 리코
추신
팔레스타인 영토
PT 포르투갈
비밀번호 팔라우
파이 파라과이
품질보증 카타르
답장 재결합
RO 루마니아
RS 세르비아
러시아
러시아 연방
RW 르완다
사우디 아라비아
SB 솔로몬 제도
사우스캐롤라이나 세이셸
SD 수단
SE 스웨덴
SG 싱가포르
세인트 헬레나
슬로베니아
슈제이
스발바르와 얀 마옌
SK 슬로바키아
에스엘 시에라리온
에스엠 산 마리노
SN 세네갈
그래서 소말리아
SR 수리남
봄 여름 시즌 남 수단
상투메프린시페
SV 엘살바도르
SX 신트마르텐
SY
시리아 아랍 공화국
SZ 스와질란드
TC
터크스케이커스 제도
TD 차드
TF
프랑스 남부 지역
TG 토고
태국
티제이 타지키스탄
TK 토켈라우
TL 동티모르
TM 투르크메니스탄
테네시 튀니지
에게 통가
TR 칠면조
TT
트리니다드토바고
TV 투발루
트와이스 대만
TZ
탄자니아, 연합 공화국
UA 우크라이나
UG 우간다
미국 작은 외딴 섬
우리를 미국
UY 우루과이
UZ 우즈베키스탄
버지니아
교황청(바티칸 시국)
VC
세인트 빈센트 그레나딘
VE 베네수엘라
VG
버진 아일랜드, 영국
VI
미국령 버진아일랜드
VN 베트남
바누아투
WF
월리스와 푸투나
WS 사모아
이인칭 대명사 예멘
YT 마요트
남아프리카
ZM 잠비아
ZW 짐바브웨