VibeFox Iugu for WooCommerce — 도움말
요구 사항
WordPress: 6.0 이상.
WooCommerce: 8.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인을 활성화할 수 없습니다.
PHP: 8.0 이상.
쇼핑몰 통화: 브라질 레알(BRL). Iugu는 BRL로만 청구합니다. 쇼핑몰 또는 Pay for order 페이지의 주문이 다른 통화를 사용하는 경우, 그리고 합계가 R$ 1,00(Iugu 최소 금액) 미만인 경우에는 결제 수단이 표시되지 않습니다.
Iugu 계정: Iugu 대시보드에서 API 토큰 두 개가 필요합니다. 하나는 "Test" 유형, 다른 하나는 "Live" 유형입니다(설정 참조). Iugu는 두 토큰 모두 같은 API 주소를 사용하며, 토큰에 따라 청구서가 테스트용인지 실제용인지가 결정됩니다. Iugu에서 웹훅을 설정할 필요는 없습니다.
VibeFox 라이선스 키: vibefox.net에서 구입합니다. 키 하나는 도메인 하나에서 사용할 수 있습니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택하고 Install Now를 클릭합니다. FTP로 wcp_iugu_gateway 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. Activate를 클릭합니다.
3. WooCommerce > Settings > General에서 쇼핑몰 통화를 브라질 레알(BRL)로 설정합니다.
4. 설정을 엽니다: WooCommerce > Settings > Payments > Iugu > Manage, 또는 플러그인 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
5. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
6. 테스트 및 운영 API 토큰을 입력하고(설정 참조), Test mode를 켜 둔 상태에서 Enable / Disable을 켜고 저장합니다.
7. 테스트 주문을 하고 Iugu 테스트 카드로 결제합니다. 준비가 되면 Test mode의 체크를 해제합니다.
설정
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > Iugu. 게이트웨이 제목 아래에 페이지는 TEST MODE(청구서는 테스트 API 토큰으로 생성되며 실제 결제는 발생하지 않음) 또는 LIVE를 표시합니다. 활성 모드의 토큰이 없으면(이 경우 결제 수단은 체크아웃에서 숨겨짐) 또는 쇼핑몰 통화가 BRL이 아니면 경고합니다. 결제 수단 목록에서 활성 모드의 토큰을 입력할 때까지 Iugu는 설정이 필요한 것으로 표시되며, 테스트 모드가 켜져 있는 동안에는 테스트 모드 배지가 표시됩니다.
일반
Enable / Disable: Enable Iugu payments는 결제 수단을 켜거나 끕니다. 기본값: off.
Title: 고객이 체크아웃에서 보는 결제 수단 이름. 기본값: Iugu.
Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트. 기본값: Pay securely via Iugu. You will be redirected to complete your payment.
API 자격 증명
Iugu Alia(alia.iugu.com)에서 API 토큰을 만듭니다: Settings > API integration > New. "Test" 유형 토큰 하나와 "Live" 유형 토큰 하나를 만드세요.
Test mode: Use the test API token (no real charges). 기본값: on. 테스트 모드가 켜져 있는 동안 체크아웃에는 설명 위에 SANDBOX — Test mode enabled. No real charges.가 표시됩니다. 주문의 상태 조회와 환불은 항상 해당 청구서가 생성된 모드의 토큰을 사용하므로, 모드를 전환해도 이전 주문에는 영향이 없습니다.
Test API token: "Test" 유형의 Iugu API 토큰. 테스트 모드가 켜져 있을 때 사용됩니다.
Live API token: "Live"(운영) 유형의 Iugu API 토큰. 테스트 모드가 꺼져 있을 때 사용됩니다. 비밀로 유지하세요.
결제 알림
모든 청구서는 상태 변경을 쇼핑몰의 알림 URL로 보고하도록 Iugu에 지시합니다. 이 URL은 설정의 이 섹션에 표시됩니다. 형식은 https://your-site/wc-api/webhook_wc_iugu/와 같습니다. Iugu에서 설정할 것은 없습니다. 같은 URL을 가리키는 계정 전체의 추가 트리거(gatilho)는 문제가 되지 않습니다. 알림에는 쇼핑몰이 신뢰하는 결제 데이터가 포함되지 않습니다. 주문이 변경되기 전에 청구서는 항상 Iugu API에서 다시 조회됩니다(상태, 금액, 통화).
플러그인은 청구서 상태를 바꿀 수 있는 Iugu 이벤트에 반응합니다: invoice.status_changed, invoice.refund, invoice.released, invoice.dunning_action, invoices. 각 이벤트에 대해 청구서를 읽고 그 상태를 적용합니다:
그 밖의 이벤트 및 이 쇼핑몰의 주문에 속하지 않는 청구서에는 OK로 응답하며 무시합니다. 알림이 없으면 고객이 Iugu 페이지에서 쇼핑몰로 돌아올 때에만 주문을 확인합니다.
고급
Debug log: WooCommerce > Status > Logs에서 소스 wcp_iugu_gateway의 Log API requests and notifications. 토큰이나 고객 데이터는 포함하지 않습니다. 오류는 항상 기록됩니다. 기본값: off.
Delete Data on Uninstall: Remove the gateway settings and logs when the plugin is deleted. 기본값: off.
체크아웃
고객은 결제 수단(기본값 Iugu)을 선택하고 주문합니다. 유효한 청구 이메일 주소가 필요합니다. 플러그인은 주문 합계에 대해 BRL로 Iugu 청구서를 만들며, 결제 기한은 3일이고, 고객을 Iugu 청구서 페이지로 보냅니다. 거기서 고객은 Iugu 계정에서 활성화된 방법(신용카드, boleto 또는 PIX)으로 결제합니다. 고객의 이름과 이메일은 Iugu에 전달되며, 있는 경우 "Brazilian Market on WooCommerce" 체크아웃 필드의 CPF/CNPJ, 번지수, 동네도 함께 전달됩니다. 전화번호와 주소는 Iugu가 허용하는 형식(브라질 전화번호, 8자리 CEP가 있는 브라질 주소)으로만 전송됩니다.
결제 후 고객은 쇼핑몰의 주문 접수 페이지로 돌아갑니다. 주문은 Iugu가 확인한 후에만 결제 완료로 표시됩니다. 고객이 돌아올 때와 Iugu가 알림을 보낼 때 청구서가 Iugu API에서 읽힙니다. 고객이 boleto 또는 PIX 코드를 생성하고 결제 전에 돌아왔다면, Iugu가 결제를 확인할 때까지 주문은 보류 상태가 됩니다. WooCommerce의 미결제 주문 타이머는 Iugu 청구서가 아직 열려 있는 주문을 취소하지 않습니다.
청구서가 취소되었거나 만료되었지만 주문을 여전히 결제할 수 있는 경우, 고객은 Pay for order 페이지에 도착하며 The Iugu invoice was not paid (it was canceled or has expired). You can pay the order again below. 메시지가 표시됩니다. 고객이 다시 결제하면, 금액이 그대로라면 플러그인은 같은 열린 청구서로 고객을 돌려보냅니다. 금액이 다르면 기존 청구서를 Iugu에서 취소하고 새 청구서를 만들므로, 열린 청구서 두 개로 한 주문이 이중 결제되는 일이 없습니다. 이전 청구서가 그래도 결제되면, 그 결제는 여전히 주문과 연결됩니다.
Iugu가 청구서를 생성할 수 없으면 고객은 짧은 메시지를 봅니다. 예를 들어 이유와 함께 결제 정보를 확인해 달라는 Iugu could not create the invoice:, 또는 Could not connect to Iugu. Please try again in a moment.입니다. 기술적인 이유는 주문 메모와 로그에 추가됩니다.
이 결제 수단은 클래식 체크아웃, 체크아웃 블록, Pay for order 페이지에서 작동합니다. WooCommerce High-Performance Order Storage(HPOS)와 호환됩니다.
이 플러그인은 일회성 결제만 지원합니다. 사이트 내 카드 입력 양식, 저장된 카드, 구독 또는 정기 결제, carnê(분할 납부 용지), 분할 결제, 할부 설정은 없습니다. 할부는 Iugu 페이지의 설정을 사용하세요. Iugu 페이지에 제공되는 결제 수단은 플러그인 설정에서 선택할 수 없습니다. Iugu 계정에서 활성화된 모든 방법이 제공됩니다.
주문 및 환불
주문 상태
Pending payment: 청구서가 생성되었지만 고객은 아직 결제하지 않았습니다.
Processing or Completed: Iugu가 결제를 확인했습니다. WooCommerce가 결제 완료 주문에 대한 일반 상태를 설정합니다. 주문 메모에는 Iugu 청구서 ID와 결제 수단(신용카드, boleto 또는 PIX)이 표시됩니다. 거래 ID는 Iugu 청구서 ID이며, 주문 화면에서 Iugu의 청구서로 연결됩니다.
On hold: 고객이 boleto 또는 PIX를 생성하고 쇼핑몰로 돌아갔습니다(결제 대기 중). 카드 결제가 승인되었지만 아직 캡처되지 않았습니다(Iugu에서 캡처하세요. Iugu가 청구서를 결제 완료로 보고하면 주문이 완료됩니다). 결제가 심사 중입니다. 청구서가 일부만 결제되었습니다. 차지백이 열렸습니다. 또는 결제된 금액이나 통화가 주문과 일치하지 않았습니다. 주문이 취소된 후에 들어온 결제도 조용히 다시 열지 않고 보류 상태로 둡니다. 주문 메모에 해당 사유가 표시됩니다.
Failed: 청구서가 결제 없이 만료되었습니다. 고객은 주문을 다시 결제할 수 있습니다.
Cancelled: 청구서가 Iugu에서 취소되었습니다.
Refunded: 주문을 결제한 청구서가 Iugu에서 환불되었습니다.
같은 주문의 다른 청구서도 결제되면 주문은 다시 변경되지 않습니다. 중복 결제를 Iugu에서 환불하라는 메모가 표시됩니다.
환불
주문을 열고 Refund를 클릭한 다음 금액을 입력하고 Refund via Iugu를 클릭합니다. 환불은 청구서가 생성된 모드의 토큰으로 전송됩니다.
결제된 청구서만 환불할 수 있으며, Iugu에서 아직 환불 가능한 금액을 넘을 수 없습니다. 환불은 Iugu가 확인한 경우에만 완료된 것으로 간주됩니다. Iugu가 환불을 거부하거나 확인하지 않으면 WooCommerce는 오류를 표시하고 환불은 기록되지 않습니다. 환불이 성공하면 청구서 ID와 사유가 함께 주문 메모에 추가됩니다.
Iugu 대시보드에서 진행한 전액 환불은 주문을 환불됨으로 설정합니다. 대시보드에서 진행한 부분 환불은 가져오지 않습니다.
라이선스 키
플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Payments > Iugu 페이지 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하세요. 블록에는 상태가 표시되며, 예를 들어 라이선스가 유효한 날짜와 도메인이 나타납니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하고, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하세요.
활성 키가 없으면 체크아웃에서 고객에게 Iugu가 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one. 메시지를 봅니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only)로 표시된 결제 수단이 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지와 WooCommerce 페이지에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인되며, 환불도 작동합니다.
라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
체크아웃에 Iugu가 표시되지 않음: 라이선스가 활성 상태인지, Enable / Disable이 켜져 있는지, 활성 모드의 토큰이 설정되어 있는지 확인하세요: 테스트 모드에서는 Test API token, 운영 모드에서는 Live API token. 쇼핑몰 통화는 BRL이어야 하며, 주문 합계는 최소 R$ 1,00이어야 합니다. 토큰이나 통화가 잘못되면 설정 페이지에 경고가 표시됩니다.
결제는 완료되었지만 주문이 Pending payment 상태로 남음: Iugu의 알림이 쇼핑몰에 도달하지 않았거나 확인할 수 없었습니다. Debug log를 켜고 WooCommerce > Status > Logs에서 소스 wcp_iugu_gateway를 확인하세요. 설정에 표시된 알림 URL로 사이트가 인터넷에서 접근 가능한지, 청구서가 생성된 모드의 토큰이 여전히 입력되어 있는지 확인하세요. 고객이 결제 후 쇼핑몰로 돌아올 때도 주문을 확인합니다.
Notification answers verification failed: 네트워크 오류나 잘못된 토큰 등의 이유로 해당 시점에 Iugu API에서 청구서를 읽을 수 없었습니다. Iugu가 알림을 다시 보냅니다.
Notification answers invalid invoice id: 알림에 유효한 청구서 ID가 없었습니다. 아무것도 변경되지 않습니다.
주문이 On hold 상태임: 주문 메모를 확인하세요. boleto 또는 PIX가 아직 결제되지 않았거나, 카드 결제가 캡처를 기다리거나, 결제가 심사 중이거나, 일부만 결제되었거나 이의가 제기되었거나, 결제 금액이 주문과 일치하지 않았거나, 주문이 취소된 후에 결제가 들어온 경우입니다.
고객에게 "Iugu payments are not available right now"가 표시됨: API 토큰이 없거나 잘못되었습니다. 활성 모드의 토큰을 확인하세요.
환불 실패: 메시지를 읽어 보세요. boleto 결제는 Iugu를 통해 환불할 수 없고, PIX 결제는 전액만 환불할 수 있으며, 결제된 청구서만 환불할 수 있습니다. Iugu가 환불을 확인하지 않았다면 다시 시도하기 전에 Iugu에서 청구서를 확인하세요.
라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르세요. 예를 들어 키가 이미 다른 도메인에서 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하세요. 사이트 주소가 바뀌었다면 Check now를 클릭해 새 도메인에서 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태를 유지하며 계속 작동합니다.
개발자는 청구서 요청을 변경할 수 있습니다. 예를 들어 payable_with로 결제 수단을 제한하거나, wc_igu_invoice_data 필터를 사용할 수 있습니다.
삭제
플러그인을 비활성화해도 모든 데이터는 유지됩니다. 완전히 삭제하려면 비활성화한 다음 Plugins 페이지에서 삭제하세요. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. 게이트웨이 설정과 로그는 Delete Data on Uninstall이 켜져 있을 때만 삭제됩니다. 그렇지 않으면 나중에 재설치할 때를 위해 남아 있습니다. 기존 주문은 결제 메모와 거래 ID를 유지합니다.
Iugu는 각 소유자의 상표입니다. 이 플러그인은 Iugu와 제휴하거나 Iugu의 승인을 받은 것이 아닙니다.
