VibeFox Vindi for WooCommerce — 도움말
요구 사항
WordPress: 6.0 이상.
WooCommerce: 8.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인을 활성화할 수 없습니다.
PHP: 8.0 이상.
쇼핑몰 통화: 브라질 헤알(BRL). Vindi는 BRL로만 청구하므로, 다른 통화에서는 결제 수단이 표시되지 않습니다.
Vindi 계정: Vindi 계정의 API 키가 필요합니다. Vindi 샌드박스는 별도의 키를 가진 테스트 계정입니다. boleto, PIX, BolePix를 제공하려면 Vindi 계정에서도 이 결제 수단들을 활성화해야 합니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서만 사용할 수 있습니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택하고 Install Now를 클릭한 다음 Activate를 클릭합니다. FTP로 wcp_vindi_gateway 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. 설정을 엽니다: WooCommerce > Settings > Payments > Vindi > Manage, 또는 플러그인 목록 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
3. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
4. Sandbox API key를 붙여 넣고, 준비가 되면 Live API key를 붙여 넣습니다. Offered methods를 선택합니다.
5. 설정에 표시된 웹훅 URL을 Vindi에 복사합니다(구성 항목 참고).
6. Enable / Disable을 켜고 저장합니다. 샌드박스 모드에서 결제를 테스트한 다음, 실제 결제를 받으려면 Sandbox mode 체크를 해제합니다.
구성
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > Vindi. 입력란 위에서 쇼핑몰 통화가 BRL이 아니거나 현재 모드의 API 키가 비어 있으면 페이지가 경고합니다. 두 경우 모두 체크아웃에 결제 수단이 표시되지 않습니다. 결제 수단 목록에서는 현재 모드에 API 키가 설정될 때까지 Vindi가 설정이 필요한 것으로 표시됩니다. 저장할 때 키의 앞뒤 공백은 제거되며, 선택된 결제 수단이 없으면 신용카드가 선택되고 페이지에 Choose at least one payment method — credit card was selected.가 표시됩니다.
일반
Enable / Disable: Enable Vindi payments는 결제 수단을 켜거나 끕니다. 기본값: off.
Title: 체크아웃에 표시되는 결제 수단 이름입니다. 기본값: Vindi.
Description: 체크아웃에서 결제 수단 아래에 표시되는 문구입니다. 기본값: Pay by credit card on the secure Vindi page, or by boleto / PIX.
API 키
Vindi 대시보드의 Settings > API keys에서 키를 만듭니다. 운영용은 app.vindi.com.br, 샌드박스용은 sandbox-app.vindi.com.br입니다. 각 주문은 청구서가 생성된 환경을 기억하므로, 확인, 취소, 환불은 항상 해당 환경을 사용합니다.
Sandbox mode: Create new payments in the Vindi sandbox는 샌드박스 API 키로 sandbox-app.vindi.com.br을 사용합니다. 고객은 체크아웃에서 TEST MODE 안내를 봅니다: Vindi sandbox: no real charges. 기본값: on. 실제 결제를 받으려면 체크를 해제합니다.
Live API key: 운영 Vindi 계정의 비공개 키입니다. Vindi API로만 전송됩니다.
Sandbox API key: Vindi 샌드박스 계정의 비공개 키입니다.
결제 수단
Offered methods: 고객이 선택할 수 있는 결제 수단입니다. 기본값: credit card. 이 결제 수단들은 Vindi 계정에서도 활성화되어 있어야 합니다.
결제 알림(웹훅)
웹훅은 청구서가 결제, 취소 또는 환불되었음을 쇼핑몰에 알려 줍니다. 이 설정 항목에는 웹훅 URL이 표시됩니다. 형태는 https://your-site/wc-api/webhook_wc_vindi/?token=...이며, 플러그인이 만든 비밀 토큰이 포함되어 있습니다. 설정에 표시된 그대로 정확히 복사하십시오. Vindi에서 운영 계정과 샌드박스 계정 모두에 대해 Settings > Webhooks로 이동하여 이 URL을 추가하고 다음 이벤트를 선택합니다:
토큰이 없거나 잘못된 요청은 거부됩니다. 각 알림은 주문이 변경되기 전에 플러그인이 Vindi API를 통해 청구서를 다시 읽도록 할 뿐입니다. 웹훅이 없으면 카드, boleto, PIX 결제는 고객이 주문 접수 페이지를 열 때에만 확인됩니다.
고급
Debug log: Log API calls and notifications를 켜면 세부 정보가 WooCommerce > Status > Logs에 wcp_vindi_gateway 소스로 기록됩니다. 오류와 경고는 이 옵션이 꺼져 있어도 항상 기록됩니다. 키와 고객 데이터는 절대 기록되지 않습니다. 기본값: off.
Delete data on uninstall: Remove the settings, webhook token and logs when the plugin is deleted. 기본값: off.
체크아웃
고객은 결제 수단을 선택합니다(기본값 Vindi). 두 개 이상의 결제 수단이 제공되면 결제 상자에 Pay with와 신용카드, boleto, PIX, BolePix 중 선택 항목이 표시됩니다. boleto, PIX, BolePix가 제공되면 상자에 CPF or CNPJ 필드도 함께 표시됩니다. 이 결제 수단들만 제공되는 경우 필수 입력이며, 그렇지 않으면 Required for boleto and PIX.가 표시됩니다. 번호는 검증 번호로 확인합니다. 클래식 체크아웃에서는 Brazilian Market on WooCommerce가 활성화되어 있으면 해당 플러그인이 이미 CPF / CNPJ를 요청하므로 이 필드가 표시되지 않습니다. 그 경우 해당 플러그인의 CPF / CNPJ, 번지, 동네 정보가 사용됩니다. 누락된 항목이 있으면 고객에게 Please choose how you want to pay with Vindi., Please enter a valid CPF or CNPJ. 또는 Please enter your CPF or CNPJ — it is required for boleto and PIX.가 표시됩니다.
주문이 접수되면 플러그인은 청구 정보를 바탕으로 이 주문용 Vindi 고객을 만들고, 주문 금액에 대해 단일 할부의 Vindi 청구서를 만듭니다.
Credit card: 고객은 Vindi 청구서 페이지로 이동하여 그곳에서 결제합니다. Vindi에는 청구서용 복귀 URL이 없으므로 고객이 쇼핑몰로 자동 복귀하지는 않습니다. 주문은 웹훅으로 확인되거나, 고객이 주문 접수 페이지를 열 때 확인됩니다. 결제가 완료되기 전까지 해당 페이지와 My account의 주문에는 Your payment has not been completed yet.와 Pay at Vindi 버튼이 표시됩니다.
Boleto, PIX, BolePix: 청구서가 즉시 발급되고, 주문은 보류 상태로 설정되며, 고객은 주문 접수 페이지에 도착합니다. 그곳과 My account > Orders의 Payment 영역에는 PIX QR 코드, Copy code 버튼이 있는 복사·붙여넣기용 PIX 코드와 만료일, 그리고 Open boleto 버튼이 표시됩니다. 고객의 보류 주문 이메일과 청구서 이메일에는 PIX 코드와 boleto 링크가 포함됩니다.
주문은 Vindi가 확인한 후에만 결제 완료로 표시됩니다. 플러그인은 Vindi API에서 청구서를 읽고, 그것이 주문에 속하는지(주문 코드와 Vindi 고객) 그리고 결제된 금액이 주문 합계와 같은지 확인합니다.
고객은 Pay for order 페이지에서 미결제 주문을 다시 결제할 수 있습니다. 결제 수단, 금액, 환경이 같으면 대기 중인 Vindi 청구서를 재사용합니다. 그렇지 않으면 새 청구서를 만들기 전에 Vindi에서 기존 청구서를 취소하므로, 고객이 같은 주문을 두 번 결제할 수 없습니다. 이전 청구서가 그 사이에 결제되었다면 주문은 결제 완료로 표시되고 새 청구서는 만들어지지 않습니다.
Vindi가 결제를 시작할 수 없으면 고객은 짧은 안내를 봅니다. 예를 들어 CPF / CNPJ, 청구지 주소, 이메일 또는 전화번호를 확인하라는 내용이거나, Vindi를 일시적으로 사용할 수 없다는 내용입니다. 같은 주문이 그 순간 다른 요청에 의해 처리 중이면, 고객에게 잠시 기다렸다가 다시 시도하라고 안내합니다.
이 결제 수단은 클래식 체크아웃, 체크아웃 블록, Pay for order 페이지에서 동작합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.
플러그인은 한 번에 결제하는 단일 결제만 처리합니다. 구독이나 정기 청구, 저장된 카드, 할부, 쇼핑몰 사이트의 카드 양식은 지원하지 않습니다. 카드는 항상 Vindi 페이지에서 입력합니다.
주문 및 환불
주문 상태
Pending payment: 카드 결제가 시작되었지만 Vindi가 아직 확인하지 않았습니다.
On hold: boleto, PIX 또는 BolePix 결제가 대기 중이거나(메모 Awaiting ... payment at Vindi.), Vindi 청구서가 검토 중입니다.
Processing or Completed: 결제가 확인되었습니다. 상태는 WooCommerce의 표준 방식으로 설정됩니다. 다운로드 가능한 가상 상품만 있는 주문은 처리 중 또는 완료됨으로 표시됩니다. 주문 메모에는 Vindi 청구서, 금액, 환경이 표시됩니다. 거래 ID는 Vindi 청구서 ID입니다.
On hold after payment: 결제된 청구서가 주문과 일치하지 않거나(금액, 주문 코드 또는 Vindi 고객), 주문이 취소된 뒤에 청구서가 결제되었습니다. 주문 메모에 이유가 설명되어 있습니다. 주문과 재고를 확인한 다음 주문을 완료하거나 결제를 환불하십시오.
Failed: Vindi가 결제 시도를 거절했습니다. 메모에는 가능한 경우 카드사(acquirer)의 사유가 표시됩니다. 고객은 여전히 같은 청구서를 결제할 수 있으며, 나중에 결제가 완료되면 주문도 완료됩니다.
Cancelled: 청구서가 Vindi에서 취소되었거나, 주문이 쇼핑몰 관리자, 고객, 또는 WooCommerce 재고 보류 시간 초과로 취소되었습니다. 쇼핑몰에서 주문을 취소하면 대기 중인 Vindi 청구서도 함께 취소되므로 더 이상 결제할 수 없습니다. 그것이 불가능하면 메모에서 Vindi 대시보드에 가서 청구서를 취소하라고 안내합니다. 재고 보류 시간 초과로 주문이 취소되기 전에 청구서를 확인하며, 그 사이 결제되었다면 주문은 대신 결제 완료로 표시됩니다.
이미 결제 완료된 주문에 대해 두 번째 청구서가 결제되면 주문은 다시 변경되지 않습니다. 메모에서 Vindi의 결제 한 건을 환불하라고 안내합니다.
환불
주문을 열고 Refund를 클릭하여 금액을 입력한 다음 Refund via Vindi를 클릭합니다. 카드 및 PIX 결제의 전액 환불과 부분 환불이 지원됩니다. 전액 환불은 Vindi에서 청구서도 취소합니다. 환불은 결제가 이루어진 환경(운영 또는 샌드박스)으로 전송되므로, 해당 환경의 API 키가 설정되어 있어야 합니다. 환불이 성공하면 Vindi 청구 내역과 상태가 주문 메모에 추가됩니다. Vindi나 카드사가 환불을 거절하면 WooCommerce가 오류를 표시하고 환불은 기록되지 않습니다.
Vindi는 boleto 결제를 환불할 수 없습니다. 플러그인은 Vindi cannot refund boleto payments. Return the money to the customer by bank transfer and record the refund manually.를 표시합니다.
Vindi 대시보드에서 이루어진 환불은 charge_refunded 웹훅으로 전달되며 주문 메모에 추가됩니다. 이 환불은 WooCommerce 환불로 자동 기록되지 않습니다. 필요하면 Refund via Vindi를 사용하지 않고 WooCommerce에서 수동 환불을 만드십시오.
라이선스 키
플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 동작합니다. 라이선스 블록은 WooCommerce > Settings > Payments > Vindi 페이지 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭합니다. 블록에는 상태(예: 라이선스 유효 기간 종료일)와 도메인이 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하며, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서만 사용할 수 있습니다. 사이트에서 키를 제거해도 도메인 슬롯이 해제되지는 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 체크아웃에서 고객에게 Vindi가 표시되지 않습니다. 그래도 결제가 시작되면 고객은 This payment method is not available. Please choose another one.를 봅니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only)라고 표시된 결제 수단이 계속 보이므로, 키를 구입하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 목록 페이지와 WooCommerce 페이지에는 알림이 표시됩니다. 기존 주문에는 영향이 없습니다. 이미 시작된 결제는 계속 확인되며 환불도 정상 동작합니다.
라이선스가 만료되어도 플러그인은 계속 동작하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
체크아웃에 Vindi가 표시되지 않음: 라이선스가 활성 상태인지, Enable / Disable이 켜져 있는지, 쇼핑몰 통화가 BRL인지, Offered methods에서 결제 수단이 하나 이상 선택되었는지, 현재 모드에 API 키가 있는지 확인하십시오. 샌드박스 모드에서는 Sandbox API key, 운영 모드에서는 Live API key입니다. 키가 없거나 통화가 BRL이 아니면 설정 페이지에 경고가 표시됩니다.
결제는 완료되었지만 주문이 Pending payment 또는 On hold 상태로 남아 있음: 웹훅이 작동하지 않습니다. Vindi에서 사용 중인 계정(운영 또는 샌드박스)에 웹훅이 있는지, URL이 설정에 표시된 것(토큰 포함)과 정확히 같은지, 네 가지 이벤트가 모두 선택되었는지 확인하십시오. 고객이 주문 접수 페이지를 열면 주문도 확인됩니다.
웹훅이 Forbidden으로 응답: URL의 토큰이 없거나 잘못되었습니다. 설정에서 URL을 다시 복사하십시오.
웹훅이 Verification failed, retry later 또는 Order busy, retry later로 응답: Vindi API에서 청구서를 읽을 수 없었거나(예: 해당 환경의 API 키가 삭제됨), 같은 순간 다른 요청이 주문을 업데이트하고 있었습니다. Vindi가 알림을 다시 보냅니다.
고객에게 This payment method is temporarily unavailable가 표시됨: Vindi가 API 키를 거절했습니다. 현재 모드의 키를 확인하십시오.
고객이 주문할 때 오류가 표시됨: 주문 메모 또는 WooCommerce > Status > Logs에서 소스 wcp_vindi_gateway의 로그를 여십시오. Debug log가 꺼져 있어도 오류는 기록됩니다. boleto의 경우 청구지 주소에 도로명, 우편번호, 도시, 주(State)가 있어야 합니다.
결제 후 주문이 On hold 상태임: 주문 메모를 읽으십시오. 결제된 금액, 주문 코드, Vindi 고객이 주문과 달랐거나, 주문이 취소된 후에 결제가 들어왔습니다. 주문을 완료하거나 결제를 환불하십시오.
운영으로 전환한 후의 이전 샌드박스 주문: 각 주문은 청구서의 환경을 유지합니다. 샌드박스 주문의 확인, 취소, 환불은 설정에 샌드박스 키가 남아 있는 한 그 키를 계속 사용합니다.
환불이 실패함: 메시지를 확인하십시오. boleto 결제는 Vindi를 통해 환불할 수 없으며, 결제 환경의 API 키가 설정되어 있어야 합니다.
라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르십시오. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하십시오. 사이트 주소가 바뀌었다면 Check now를 클릭하여 새 도메인에서 키를 활성화하십시오. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 동작합니다.
제거
플러그인을 비활성화하면 모든 데이터가 유지됩니다. 완전히 제거하려면 비활성화한 다음 Plugins 페이지에서 삭제하십시오. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 제거됩니다. 게이트웨이 설정, 웹훅 토큰, 플러그인의 기타 저장 데이터, 로그는 Delete data on uninstall이 켜져 있을 때만 제거됩니다. 그렇지 않으면 나중에 다시 설치할 때를 위해 유지됩니다. 기존 주문은 결제 메모, 거래 ID, Vindi 데이터를 유지합니다.
Vindi는 해당 소유자의 상표입니다. 이 플러그인은 Vindi와 제휴하거나 Vindi의 승인을 받은 제품이 아닙니다.
