VibeFox Redsys for WooCommerce — 도움말
요구 사항
WordPress: 6.2 이상.
WooCommerce: 8.0 이상, 설치 및 활성화되어 있어야 합니다. WooCommerce가 없으면 플러그인이 활성화되지 않습니다.
PHP: 8.0 이상.
Redsys 가맹점 계정: 은행(Redsys 가상 POS를 발급한 매입사)이 가맹점 코드(FUC), 단말기 번호, 그리고 각 환경의 SHA-256 비밀 키가 표시되는 Redsys 관리 패널에 대한 접근 권한을 제공합니다. 테스트 환경의 키는 운영 환경의 키와 다릅니다. 단말기의 온라인 알림(HTTP)이 활성화되어 있어야 합니다. 확실하지 않으면 은행에 문의하십시오.
쇼핑몰 통화: 플러그인이 지원하는 통화 중 하나(설정 참조)여야 하며, 은행이 해당 통화에 대해 Redsys 단말기를 활성화해 두어야 합니다. 대부분의 단말기는 EUR만 허용합니다.
접근 가능한 사이트: Redsys가 결제 알림을 전달할 수 있도록, 로그인이나 방화벽 차단 없이 인터넷에서 사이트에 접근할 수 있어야 합니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하고, 플러그인 ZIP 파일을 선택한 뒤 Install Now를 클릭합니다. FTP로 wcp_redsys_gateway 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.
2. Activate를 클릭합니다.
3. 설정을 엽니다: WooCommerce > Settings > Payments > Redsys > Manage, 또는 플러그인 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.
4. 페이지 상단의 라이선스 영역에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.
5. 가맹점 코드, 단말기, 각 환경의 비밀 키를 입력합니다(설정 참조).
6. Enable/Disable을 켭니다. Test Mode를 켠 상태에서 테스트 결제를 진행한 뒤, Test Mode 체크를 해제하여 실제 결제를 받습니다.
설정
모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > Redsys. 입력란 위에서 페이지는 가맹점 코드가 없거나 숫자가 아닌 문자를 포함할 때, 비밀 키가 유효한 Redsys SHA-256 키가 아닐 때, 현재 모드의 키가 비어 있을 때(이 경우 체크아웃에서 결제 수단이 숨겨짐), 쇼핑몰 통화가 지원되지 않을 때 경고합니다. 테스트 모드가 켜져 있으면 Test mode is active: payments go to the Redsys test environment (SIS-T), no real money is charged.가 표시됩니다. 저장 후 경고는 즉시 새 설정을 반영합니다. 결제 수단 목록에서는 가맹점 코드, 단말기, 현재 모드의 키가 유효해질 때까지 Redsys가 설정 필요 상태로 표시됩니다.
일반
Enable/Disable: Enable Redsys Gateway는 결제 수단을 켜거나 끕니다. 기본값: 끔.
Title: 고객이 체크아웃에서 보는 결제 수단 이름. 기본값: Credit/Debit Card (Redsys).
Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트. 기본값: Pay securely with your credit or debit card via Redsys.
Redsys 계정
은행이 가맹점 코드, 단말기, 그리고 각 환경의 SHA-256 비밀 키가 표시되는 Redsys 관리 패널에 대한 접근 권한을 제공합니다. 이 섹션은 Redsys 관리 패널로 연결되는 링크를 포함합니다.
Merchant Code (FUC): Redsys 가맹점 코드, 최대 9자리 숫자. 저장할 때 숫자가 아닌 문자는 모두 제거됩니다.
Terminal Number: 은행이 할당한 단말기 번호, 최대 3자리 숫자. 기본값: 1. 비워 두면 1로 저장됩니다.
Secret Key (SHA-256) — live: 실제(운영) 환경의 Base64 SHA-256 비밀 키. 테스트 모드가 꺼져 있을 때 사용됩니다.
테스트 모드(SIS-T)
Redsys 테스트 환경에는 별도의 비밀 키가 있습니다. 이 섹션에는 Redsys의 공개 테스트 데이터가 표시됩니다: 가맹점 코드 999008881, 단말기 1, 키 sq7HjrUOBfKmC576ILgskD5srU870gJ7, 카드 4548 8100 0000 0003, 만료일 12/49, CVV 123. 테스트 모드에서는 실제 금액이 청구되지 않습니다.
Test Mode: Enable test mode는 결제와 환불을 Redsys 테스트 환경(SIS-T)으로 보내고 테스트 키로 서명합니다. 기본값: 켬. 실제 결제를 받으려면 체크를 해제하십시오. 켜져 있는 동안 체크아웃에서는 결제 수단 아래에 TEST MODE: Redsys test environment, no real money is charged.가 표시됩니다.
Secret Key (SHA-256) — test: 테스트 환경의 Base64 SHA-256 비밀 키. 본인의 테스트 키 또는 위에 표시된 공개 테스트 키를 사용하십시오.
결제 페이지 및 주문
Commerce Name: Redsys 결제 페이지에 표시되는 쇼핑몰 이름, 최대 25자. 기본값: 사이트 이름을 25자로 자른 값.
Order Status After Payment: 결제 성공 후 설정되는 주문 상태. 상태는 한 번만 설정되므로 고객은 이메일을 한 통만 받습니다.
결제 알림
Redsys는 모든 결제를 쇼핑몰의 알림 주소로 보고합니다. 주소는 https://your-site/wc-api/rdsg_redsys/ 형식이며 이 섹션에 표시됩니다. 플러그인은 결제할 때마다 이 주소를 Redsys에 전달하므로, Redsys 패널에 복사할 것은 없습니다. 단말기의 온라인 알림(HTTP)이 활성화되어 있어야 합니다. 결제 성공 후에도 주문이 결제 대기 상태로 남아 있으면 은행에 문의하십시오. 유효한 서명이 없는 알림은 거부됩니다. 알림이 없으면 주문은 결제 완료로 표시되지 않습니다.
고급
Debug log: Enable debug logging은 결제, 알림, 환불의 세부 정보를 WooCommerce > Status > Logs에 기록합니다(출처: wcp_redsys_gateway). 이 옵션이 꺼져 있어도 오류는 항상 기록됩니다. 키, 서명, 카드 데이터는 절대 기록되지 않습니다. 기본값: 끔.
Delete Data: Delete the gateway settings when the plugin is deleted. 켜져 있으면 플러그인을 삭제할 때 게이트웨이 설정과 플러그인 로그가 제거됩니다. 기본값: 끔.
지원 통화
EUR, USD, GBP, JPY, CHF, CAD, AUD, NZD, NOK, SEK, DKK, PLN, CZK, HUF, BGN, RON, ILS, INR, MYR, SGD, THB, SAR, ZAR, RUB, BRL, MXN, ARS, CLP, COP, PEN, CNY, TWD. 다른 통화에서는 결제 수단이 숨겨집니다. Pay for order 페이지에서는 주문의 통화가 기준이 됩니다.
체크아웃
고객은 결제 수단(기본값 Credit/Debit Card (Redsys))을 선택하고 주문합니다. 주문은 결제 대기로 설정되며, 고객에게 Redirecting to Redsys for payment. Please wait...가 표시된 후 은행의 Redsys 결제 페이지로 이동합니다. 브라우저가 자동으로 넘어가지 않으면 고객은 Pay via Redsys를 클릭합니다. Redsys 페이지에서 고객은 3-D Secure가 적용된 카드, 또는 Bizum이나 은행이 단말기에 활성화한 다른 방법으로 결제합니다. 페이지는 쇼핑몰의 언어(스페인어, 영어, 카탈루냐어, 프랑스어, 독일어, 이탈리아어, 포르투갈어 등)를 사용하며, 그 밖의 언어는 영어로 표시됩니다.
금액은 주문 통화의 최소 단위로 전송됩니다. 예를 들어 EUR 43.45는 4345로, JPY나 CLP는 소수점 없이 전송됩니다. 결제는 주문 번호와 사이트 이름이 포함된 Order로 기술됩니다. 재고는 결제가 확인된 후에 줄어듭니다.
결제 후 고객은 쇼핑몰의 주문 접수 페이지로 돌아갑니다. 주문은 Redsys가 서명된 알림으로 확인한 후에만 결제 완료로 표시됩니다. 알림이 도착할 때까지 페이지에는 Redsys is confirming your payment. If you completed the payment, your order will be updated in a few moments — please do not pay again.가 표시됩니다.
고객이 취소하거나 결제가 거부되면 Redsys가 고객을 쇼핑몰로 돌려보냅니다. 체크아웃에서 생성된 주문은 WooCommerce 표준 방식으로 취소되며, 장바구니는 유지됩니다. 관리자 화면에서 생성한 주문(결제 링크)의 경우 고객은 The Redsys payment was not completed. You can try again or choose another payment method. 메시지와 함께 Pay for order 페이지로 돌아가며, 주문은 취소되지 않습니다. 쇼핑몰의 리디렉션 페이지에는 Cancel order & restore cart, 또는 관리자 화면에서 생성한 주문의 경우 Choose another payment method도 표시됩니다.
고객은 결제되지 않은 주문을 Pay for order 페이지에서 다시 결제할 수 있습니다. 시도할 때마다 새 Redsys 주문 번호가 부여되며, 그중 어느 것을 통해 이루어진 결제(예: 두 번째 브라우저 탭에서 한 결제)도 계속 인식됩니다.
주문을 Redsys로 보낼 수 없는 경우 고객에게 짧은 메시지가 표시되고 다른 결제 수단을 선택할 수 있습니다: Redsys payments are not configured correctly. Please choose another payment method or contact us., 통화가 허용되지 않는다는 메시지, 또는 The order total must be greater than zero.
이 결제 수단은 클래식 체크아웃, 체크아웃 블록, Pay for order 페이지에서 작동합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.
이 플러그인은 Redsys 페이지에서 즉시 승인되고 매입되는 일회성 결제를 처리합니다. 자체 사이트의 카드 입력 양식(InSite 또는 iframe), 카드 저장, 원클릭 결제나 토큰화, 정기구독이나 반복 결제, 나중에 매입하는 사전 승인, SOAP 알림은 지원하지 않습니다.
주문 및 환불
주문 상태
Pending payment: 고객이 Redsys로 이동했지만 아직 결제하지 않았거나, Redsys 알림이 아직 도착하지 않았습니다. 주문 노트에는 Awaiting Redsys payment.라고 표시됩니다.
Processing, Completed or On Hold: 결제가 확인되었습니다. 상태는 Order Status After Payment 설정을 따릅니다. 주문 노트에는 Redsys 주문 번호(Ds_Order), 승인 코드, 응답 코드가 표시되며, 테스트 결제에는 [TEST]가 붙습니다. 주문의 거래 ID는 Redsys 주문 번호입니다.
On hold after payment: Redsys가 주문 합계와 다른 금액이나 통화를 보고했거나, 쇼핑몰이 운영 모드인 동안 테스트 결제가 도착했거나(실제 금액은 청구되지 않음), 주문이 취소된 뒤에 결제가 도착했습니다. 주문 노트에 이유가 설명되어 있습니다. Redsys 관리 패널에서 결제를 확인한 뒤 주문을 발송하거나 결제를 환불하십시오.
Failed: 결제가 Redsys에서 거부되었거나 취소되었습니다. 주문 노트에는 응답 코드와, 자주 나오는 코드의 경우 Insufficient funds, Card expired, Cancelled by the customer 같은 짧은 이유가 표시됩니다. 아직 결제를 기다리는 주문만 실패로 바뀝니다. 결제 완료되었거나 종료된 주문은 거부된 시도로 절대 변경되지 않으며, 시도는 기록만 됩니다.
Cancelled: 고객이 결제를 취소했거나, 주문이 귀하 또는 WooCommerce 재고 보류 시간 초과로 취소되었습니다.
이미 결제되었거나 환불된 주문에 두 번째로 다른 결제가 들어오면 주문은 변경되지 않습니다. 노트에는 Redsys 관리 패널에서 중복 결제를 환불하라는 안내가 표시됩니다. Redsys가 결제가 아직 진행 중이라고 보고하면 노트가 추가되고, 주문은 최종 결과를 기다립니다.
환불
주문을 열고 Refund를 클릭한 뒤 금액을 입력하고, Redsys 결제 수단을 통한 환불 버튼(기본값 Refund via Credit/Debit Card (Redsys))을 클릭합니다. 전액 및 부분 환불이 지원됩니다. 환불은 결제가 이루어진 환경(테스트 또는 운영)의 Redsys REST API로 전송되며, 해당 환경의 키로 서명되고 응답 서명이 확인됩니다. Redsys가 환불을 수락하지 않으면 WooCommerce가 오류를 표시하고 환불은 기록되지 않습니다. 환불이 성공하면 Redsys 주문 번호와 사유가 함께 주문 노트에 추가됩니다.
Redsys 관리 패널에서 이루어진 환불은 WooCommerce 환불로 기록되지 않습니다. Redsys가 이에 대한 알림을 보내면 주문에 노트가 추가됩니다. 필요하면 Redsys 환불 버튼을 사용하지 않고 WooCommerce에서 수동 환불을 생성하십시오.
라이선스 키
이 플러그인은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 영역은 WooCommerce > Settings > Payments > Redsys 페이지 상단에 있습니다. 키를 License key에 붙여 넣고 Activate를 클릭하십시오. 이 영역에는 상태(예: 라이선스가 유효한 날짜)와 도메인이 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하고, Remove key로 이 사이트에서 키를 제거할 수 있습니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.
키 하나는 도메인 하나에서 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.
유효한 키가 없으면 체크아웃에서 고객에게 Redsys가 표시되지 않습니다. 그럼에도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. 로그인한 쇼핑몰 관리자에게는 (unlicensed — visible to admins only)로 표시된 결제 수단이 계속 보이므로, 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지와 WooCommerce 페이지에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인되며 환불도 작동합니다.
라이선스가 만료되어도 플러그인은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.
문제 해결
체크아웃에 Redsys가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 가맹점 코드와 단말기가 입력되어 있는지, 현재 모드에 유효한 키가 있는지 확인하십시오. 테스트 모드에서는 Secret Key (SHA-256) — test, 운영 모드에서는 Secret Key (SHA-256) — live입니다. 쇼핑몰 통화(Pay for order 페이지에서는 주문 통화)가 지원 통화 목록에 있는지 확인하십시오. 설정 페이지는 이러한 문제마다 경고를 표시합니다.
결제는 완료되었지만 주문이 Pending payment 상태로 남아 있음: Redsys 알림이 쇼핑몰에 도달하지 않았습니다. 은행에 단말기의 온라인 알림(HTTP)이 활성화되어 있는지 확인해 달라고 요청하십시오. 결제 알림에 표시된 주소가 로그인, 점검 페이지, 방화벽 차단 없이 인터넷에서 접근 가능한지 확인하십시오. Debug log를 켜고 WooCommerce > Status > Logs에서 출처 wcp_redsys_gateway를 확인하십시오.
알림이 Forbidden으로 응답함: 서명이 결제가 시작된 환경의 비밀 키와 일치하지 않았거나, 알림의 가맹점 코드가 귀하의 것이 아닙니다. 설정의 비밀 키와 가맹점 코드가 귀하의 단말기 것인지 확인하십시오.
알림이 Order not found로 응답함: 알림은 올바르게 서명되었지만, 이 쇼핑몰의 어떤 주문도 그 Redsys 주문 번호를 사용하지 않습니다.
알림이 Busy로 응답함: 같은 순간에 다른 알림이 주문을 처리하고 있었습니다. Redsys가 알림을 다시 시도합니다.
알림이 Bad request로 응답함: 요청에 Redsys 매개변수가 없거나 손상되어 있었습니다. 예상된 형식으로 Redsys에서 온 것이 아닙니다.
주문이 결제 후 On hold 상태임: 주문 노트를 확인하십시오. 결제된 금액이나 통화가 주문과 달랐거나, 쇼핑몰이 운영 중일 때 테스트 결제가 도착했거나, 주문이 취소된 후에 결제가 도착했을 수 있습니다. 주문을 발송하거나 결제를 환불하십시오.
운영 모드에서 테스트 결제는 주문을 확정하지 않음: Test Mode가 꺼져 있으면 테스트 결제는 주문을 결제하지 않습니다. 대신 주문은 노트와 함께 보류됩니다. 테스트 결제에는 테스트 모드와 테스트 키를 사용하십시오.
환불 실패: 오류를 읽어 보십시오. Redsys refund: the merchant code or the TEST secret key is not configured.(또는 LIVE)는 결제 환경의 키가 없다는 뜻입니다. Redsys 오류 코드는 메시지에 설명되어 있습니다. 예: SIS0057(금액이 결제의 남은 금액을 초과함), SIS0056(원래 결제를 찾을 수 없음, 다른 환경 또는 단말기), SIS0042(서명 오류, 이 환경의 키 확인), SIS0026(알 수 없는 가맹점 코드 또는 단말기), SIS0027(단말기에 통화가 설정되지 않음). Redsys에 연결할 수 없으면 환불이 이루어지지 않습니다. 나중에 다시 시도하십시오.
단말기가 목록에 없는 통화를 허용함: 개발자는 rdsg_currency_codes 필터로 통화 목록을 변경할 수 있습니다. 은행이 해당 단말기에 통화를 활성화한 경우에만 추가하십시오.
버전 1.0에서 업데이트한 후: 테스트 모드에서 사용하던 키는 이제 Secret Key (SHA-256) — test에 있습니다. Test Mode 체크를 해제하기 전에 운영 키를 입력하십시오. 버전 1.0으로 생성된 주문은 계속 알림과 환불을 받습니다.
라이선스 영역에 오류가 표시됨: 영역의 메시지를 따르십시오. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하십시오. 사이트 주소가 바뀌었다면 Check now를 클릭해 새 도메인에 대해 키를 활성화하십시오. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.
제거
플러그인을 비활성화해도 모든 데이터는 유지됩니다. 제거하려면 비활성화한 뒤 Plugins 페이지에서 삭제하십시오. 이 플러그인의 라이선스 키와 라이선스 상태는 항상 제거됩니다. 게이트웨이 설정과 플러그인 로그는 Delete Data가 켜져 있을 때만 제거되며, 그렇지 않으면 나중에 재설치할 때를 위해 남겨집니다. 주문에 저장된 Redsys 데이터는 결제를 기록하고 환불에 필요하므로 항상 유지됩니다. 기존 주문은 결제 노트와 거래 ID를 그대로 유지합니다.
Redsys는 해당 소유자의 상표입니다. 이 플러그인은 Redsys와 제휴하거나 Redsys의 승인을 받지 않았습니다.
