뒤로

VibeFox Redsys for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

PHP: 8.0 이상. 모듈은 그보다 낮은 PHP 버전에서는 설치되지 않습니다.

Redsys 가맹점 계정: 은행(Redsys 가상 POS를 제공한 매입사)이 가맹점 코드(FUC), 단말기 번호, 그리고 각 환경의 SHA-256 비밀 키가 표시되는 Redsys 관리 패널 접근 권한을 제공합니다. 테스트 환경의 키는 실제 환경의 키와 다릅니다. 단말기의 온라인 알림(HTTP)이 활성화되어 있어야 합니다. 확실하지 않으면 은행에 문의하십시오.

쇼핑몰 통화: 모듈이 지원하는 통화 중 하나(Configuration 참조)여야 하며, Redsys 단말기가 은행에 의해 해당 통화에 대해 활성화되어 있어야 합니다. 대부분의 단말기는 EUR만 허용합니다.

접근 가능한 쇼핑몰: 결제 알림을 전달할 수 있도록 Redsys가 인터넷을 통해 쇼핑몰에 접근할 수 있어야 하며, 로그인 요구나 방화벽 차단이 없어야 합니다.

VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 사용할 수 있습니다.

설치

1. 백오피스에서 Modules > Module Manager로 이동하여 Upload a module을 클릭합니다. 모듈의 ZIP 파일을 선택합니다.

2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox Redsys Gateway를 찾아 Configure를 클릭합니다.

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

4. 가맹점 코드, 단말기, 그리고 각 환경의 비밀 키를 입력합니다(Configuration 참조).

5. Enable/Disable을 켜고 Save를 클릭합니다. Test Mode를 켠 상태에서 테스트 결제를 진행한 뒤, 실제 결제를 받으려면 Test Mode를 끕니다.

설치 시 모듈은 Redsys payment on hold 주문 상태를 만듭니다. PrestaShop은 그 시점에 활성화된 국가와 모든 통화 및 고객 그룹에 대해 새 결제 모듈을 제공합니다. 이는 Payment > Preferences에서 변경할 수 있으며, 나중에 활성화하는 국가도 그곳에서 모듈에 대해 체크해야 합니다.

Configuration

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Redsys Gateway > Configure. 각 섹션에는 전체 페이지를 저장하는 자체 Save 버튼이 있습니다. 입력란 위에서 페이지는 가맹점 코드가 없거나 숫자로만 이루어지지 않은 경우, 비밀 키가 올바른 Redsys SHA-256 키가 아닌 경우, 현재 모드의 키가 비어 있는 경우(이 경우 결제 수단이 체크아웃에서 숨겨짐), 그리고 쇼핑몰 통화가 지원되지 않는 경우에 경고를 표시합니다. 테스트 모드가 켜져 있는 동안에는 Test mode is active: payments go to the Redsys test environment (SIS-T), no real money is charged.를 표시합니다. Title이 비어 있으면 페이지는 Enter a title for the payment method.를 표시하고 아무것도 저장되지 않습니다.

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 키입니다. 보통 32자입니다. 테스트 모드가 꺼져 있을 때 사용됩니다.

테스트 모드(SIS-T)

Redsys 테스트 환경에는 자체 비밀 키가 있습니다. 이 섹션에는 Redsys의 공개 테스트 데이터가 표시됩니다: 가맹점 코드 999008881, 단말기 1, 키 sq7HjrUOBfKmC576ILgskD5srU870gJ7, 카드 4548 8100 0000 0003, 유효기간 12/49, CVV 123. 테스트 모드에서는 실제 금액이 청구되지 않습니다.

Test Mode: 결제와 환불은 Redsys 테스트 환경(SIS-T)으로 전송되며 테스트 키로 서명됩니다. 기본값: 켬. 실제 결제를 받으려면 끄십시오. 켜져 있는 동안 체크아웃은 결제 수단 아래에 TEST MODE: Redsys test environment, no real money is charged.를 표시합니다.

Secret Key (SHA-256) — test: 테스트 환경의 Base64 SHA-256 키입니다. 자체 테스트 키 또는 위의 공개 테스트 키를 사용하십시오.

저장된 키는 다시 표시되지 않습니다. 입력란은 비어 있고 Saved — leave empty to keep it.를 표시합니다. 변경하려는 경우에만 새 값을 입력하십시오.

Clear saved secrets: 키를 체크하고 Save를 클릭하면 삭제됩니다. 빈 칸은 저장된 값을 유지합니다.

결제 페이지 및 주문

Commerce Name: Redsys 결제 페이지에 표시되는 쇼핑몰 이름입니다. 최대 25자. 기본값: 쇼핑몰 이름을 25자로 자른 것.

Order Status After Payment: 결제 성공 후 설정되는 주문 상태입니다.

Payment accepted (Processing): 기본값. 결제 완료된 주문의 PrestaShop 표준 상태입니다.
Delivered (Completed): 결제된 모든 주문은 배송 완료 상태가 됩니다.
Redsys payment on hold (On Hold): 결제된 모든 주문은 수동 검토를 기다립니다. 결제 내역은 여전히 주문에 기록됩니다.

금액 또는 통화 불일치, 쇼핑몰이 실제 모드일 때의 테스트 결제, 취소된 시도의 결제는 항상 Redsys payment on hold로 갑니다.

결제 알림

Notification URL: Redsys는 모든 결제를 쇼핑몰의 이 주소로 알립니다. 이 섹션에 표시되며, 친숙한 URL을 사용할 때는 https://your-shop/module/wcp_redsys_gateway/notify와 같은 형태입니다. 모듈은 결제할 때마다 이 주소를 Redsys에 보내므로 Redsys 패널에 복사할 것은 없습니다. 단말기의 온라인 알림(HTTP)이 활성화되어 있어야 합니다. 결제가 성공했는데 주문이 생성되지 않으면 은행에 문의하십시오. 유효한 서명이 없는 알림은 거부됩니다. 알림이 없으면 주문은 생성되지 않습니다.

고급

Debug log: 결제, 알림, 환불의 세부 정보를 모듈 폴더의 logs/rdsg_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 이 옵션이 꺼져 있어도 오류는 항상 기록됩니다. 키, 서명, 카드 데이터는 기록되지 않습니다. 기본값: 끔.

Log: 로그의 크기와 최근 항목을 표시합니다. Clear log를 클릭하면 비워집니다.

Delete Data: 켜져 있으면 모듈을 제거할 때 게이트웨이 설정과 로그가 삭제됩니다. 주문의 Redsys 결제 기록(환불에 필요)과 Redsys payment on hold 주문 상태는 항상 유지됩니다. 기본값: 끔.

지원되는 통화

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. 다른 통화의 장바구니에서는 결제 수단이 숨겨집니다.

체크아웃

결제 단계에서 고객은 결제 수단(기본값 Credit/Debit Card (Redsys))을 선택하고 주문을 확정합니다. 고객에게는 Redirecting to Redsys for payment. Please wait...가 표시되고, 고객은 은행의 Redsys 결제 페이지로 이동합니다. 브라우저가 자동으로 진행하지 않으면 고객은 Pay via Redsys를 클릭하거나, 돌아가기 위해 Choose another payment method를 클릭합니다. 이 시점에는 아직 주문이 존재하지 않습니다.

Redsys 페이지에서 고객은 3-D Secure가 적용된 카드, 또는 Bizum이나 은행이 단말기에 활성화한 다른 방법으로 결제합니다. 페이지는 장바구니의 언어(스페인어, 영어, 카탈루냐어, 프랑스어, 독일어, 이탈리아어, 포르투갈어 등)를 사용하며, 그 밖의 언어는 영어를 사용합니다. 금액은 장바구니 통화의 최소 단위로 표시된 장바구니 합계입니다. 예를 들어 EUR 43.45는 4345로 전달되며, JPY와 CLP는 소수점을 사용하지 않습니다. 결제는 장바구니 번호와 쇼핑몰 이름과 함께 Cart로 설명됩니다.

결제 후 고객은 쇼핑몰로 돌아옵니다. 주문은 Redsys가 서명된 알림으로 확인한 후에만 결제 완료로 표시됩니다. 주문을 생성하는 것은 알림이며, 고객은 Your payment with Redsys has been received.가 표시된 표준 주문 확인 페이지를 봅니다. 주문이 Redsys payment on hold로 전환된 경우 페이지에는 Your payment with Redsys has been received and is being reviewed by the store.가 표시됩니다. 알림이 아직 도착하지 않았다면 Payment confirmation 페이지에 Redsys is confirming your payment. If you completed the payment, your order will be created in a few moments — please do not pay again.가 표시되며, Check again 및 Back to checkout 버튼이 함께 나타납니다.

고객이 취소하거나 결제가 거부되면 Redsys는 고객을 The Redsys payment was not completed. You can try again or choose another payment method.와 함께 체크아웃으로 돌려보냅니다. 장바구니는 유지되며 고객은 다시 결제할 수 있습니다. 새로운 시도마다 새 Redsys 주문 번호가 부여되며, 그중 어느 시도(예: 두 번째 브라우저 탭)에서 이루어진 결제도 여전히 인식됩니다.

결제를 Redsys로 보낼 수 없는 경우 고객은 체크아웃에 머무르며 짧은 메시지를 봅니다: Redsys payments are not configured correctly. Please choose another payment method or contact us., 통화가 허용되지 않는다는 메시지, 또는 The order total must be greater than zero.

알림은 쇼핑몰이 점검 모드인 동안에도 작동하며, 쇼핑몰의 국가 제한에 의해 차단되지 않습니다.

모듈은 Redsys 페이지에서 즉시 승인되고 매입되는 일회성 결제를 처리합니다. 자체 사이트의 카드 입력 양식(InSite 또는 iframe), 카드 저장, 원클릭 결제 또는 토큰화, 정기구독 또는 반복 결제, 나중에 매입하는 사전 승인, 백오피스에서 생성된 주문에 대한 결제 링크는 지원하지 않습니다.

주문 및 환불

주문 상태

No order yet: 고객이 Redsys로 이동했지만 결제하지 않았거나, 결제가 거부 또는 취소되었거나, Redsys 알림이 아직 도착하지 않은 상태입니다. 장바구니만 존재합니다.

Payment accepted, Delivered or Redsys payment on hold: 결제가 확인되었습니다. 상태는 Order Status After Payment를 따릅니다. 결제는 Redsys 주문 번호(Ds_Order)를 거래 ID로 하여 기록되며, 메모에는 Redsys 주문 번호, 승인 코드, 응답 코드가 표시되고, 테스트 결제에는 [TEST]가 표시됩니다.

Redsys payment on hold after payment: Redsys가 장바구니 합계와 다른 금액 또는 통화를 보고했거나(예: 결제가 시작된 후 다른 탭에서 장바구니가 변경된 경우), 쇼핑몰이 실제 모드인 동안 테스트 결제가 도착했거나(실제 금액은 청구되지 않았고 결제는 기록되지 않음), 고객이 Redsys 페이지에서 해당 결제를 취소한 후 결제한 경우입니다. 메모에 이유가 설명되어 있습니다. Redsys 관리 패널에서 결제를 확인한 후 주문을 처리하거나 결제를 환불하십시오.

Refunded: 결제가 모듈을 통해 전액 환불되었습니다.

거부된 결제는 기존 주문을 절대 변경하지 않습니다. 자주 나오는 응답 코드에 대해서는 로그와 메모가 Insufficient funds, Card expired, Cancelled by the customer와 같은 짧은 이유를 제공합니다. 이미 주문이 있는 장바구니에 두 번째로 다른 결제가 도착하면 주문은 변경되지 않습니다. 메모는 중복 결제를 Redsys 관리 패널에서 환불하라고 요청합니다. Redsys가 결제가 아직 진행 중이라고 보고하면 메모가 추가되고 주문은 최종 결과를 기다립니다.

Redsys 결제 블록

주문 페이지에는 Redsys 주문 번호(Ds_Order), 승인 코드와 응답, 환경(실제 또는 테스트), 결제 금액과 환불 금액, 테스트 결제용 Test mode 배지, 보류 중인 주문에 대한 검토 안내, 환불 내역, 주문의 Redsys notes, 그리고 해당 장바구니에 발급된 모든 Redsys 주문 번호가 포함된 Redsys payment 블록이 표시됩니다.

환불

Redsys payment 블록에서 금액을 입력합니다(아직 환불되지 않은 금액이 자동으로 채워집니다). 필요하면 사유를 입력하고 Refund via Redsys를 클릭합니다. Refund this amount through Redsys? This cannot be undone. 질문을 확인합니다. 전액 및 부분 환불이 지원됩니다. 주문을 편집할 권한이 필요하며, 모듈 페이지에 접근할 필요는 없습니다. 환불은 Redsys가 청구한 금액과 통화로 이루어집니다. 따라서 금액 또는 통화 불일치 이후에는 주문 합계가 아니라 고객이 실제로 결제한 금액까지 환불할 수 있습니다. 환불은 Redsys REST API를 통해 결제가 이루어진 환경(테스트 또는 실제)으로 전송되며, 해당 환경의 키로 서명되고, 응답 서명이 확인됩니다. Redsys가 환불을 수락하지 않으면 블록에 오류가 표시되고 환불은 기록되지 않습니다. 성공한 환불은 Redsys 주문 번호와 사유와 함께 환불 내역과 메모에 추가됩니다. 전액 환불은 주문을 Refunded로 설정합니다. 부분 환불은 상태를 변경하지 않습니다.

모듈은 크레딧 노트를 만들지 않습니다. 주문 페이지의 표준 PrestaShop 환불 버튼은 Redsys를 통해 돈을 돌려주지 않습니다.

Redsys 관리 패널에서 이루어진 환불은 모듈의 환불로 기록되지 않습니다. Redsys가 이에 대한 알림을 보내면 주문에 메모가 추가됩니다. 주문 상태는 자동으로 변경되지 않습니다.

라이선스 키

모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox Redsys Gateway은 Modules > Module Manager > VibeFox Redsys Gateway > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. License key에 키를 붙여넣고 Activate를 클릭합니다. 그 후 블록에는 키가 마스킹되어 표시되고, 상태(예: 라이선스가 유효한 날짜와 도메인)와 함께 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key 버튼이 나타납니다. 그 아래에는 Product: presta-payment-redsys 줄과 vibefox.net 계정을 여는 Manage licenses and domains in your account 링크가 있습니다. 모듈의 Configure 권한이 있는 직원만 키를 변경할 수 있습니다. 블록의 텍스트는 백오피스 언어를 따릅니다(영어와 러시아어 포함).

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

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

활성 키가 없으면 체크아웃에서 고객에게 Redsys가 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. PrestaShop storefront는 백오피스에 로그인한 사실을 알지 못하므로, 결제 수단은 본인에게도 숨겨집니다. 키를 구매하기 전에 모듈을 설정할 수는 있지만 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 표시됩니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인되며, 환불도 계속 작동합니다.

라이선스가 만료되어도 모듈은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백오피스에서 작업하는 동안 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. 크론 작업은 필요하지 않습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태는 항상 삭제됩니다.

문제 해결

체크아웃에 Redsys가 나타나지 않습니다: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 가맹점 코드와 단말기가 입력되어 있는지, 그리고 현재 모드에 유효한 키가 있는지 확인하십시오: 테스트 모드에서는 Secret Key (SHA-256) — test, 실제 모드에서는 Secret Key (SHA-256) — live. 장바구니 통화가 지원되는 통화 목록에 있는지 확인하십시오. 설정 페이지는 이러한 문제마다 경고를 표시합니다. Payment > Preferences에서 모듈이 장바구니 통화, 고객의 국가, 고객 그룹에 대해 허용되어 있는지 확인하십시오.

결제는 완료되었지만 주문이 생성되지 않았습니다: Redsys 알림이 쇼핑몰에 도달하지 못했습니다. 은행에 단말기의 온라인 알림(HTTP)이 활성화되어 있는지 확인해 달라고 요청하십시오. Notification URL에 표시된 주소가 로그인이나 방화벽 차단 없이 인터넷에서 접근 가능한지 확인하십시오. Debug log를 켜고 모듈 페이지의 Log 필드를 확인하십시오.

알림이 Forbidden으로 응답합니다: 서명이 결제가 시작된 환경의 비밀 키와 일치하지 않거나, 알림의 가맹점 코드가 본인의 것이 아닙니다. 설정의 비밀 키와 가맹점 코드가 본인 단말기의 것인지 확인하십시오.

알림이 Order not found로 응답합니다: 알림은 올바르게 서명되었지만, 이 쇼핑몰의 어떤 장바구니도 해당 Redsys 주문 번호를 사용하지 않습니다.

알림이 Busy로 응답합니다: 같은 순간에 다른 알림이 장바구니를 처리하고 있었거나, 주문을 생성할 수 없었습니다(예: 모듈이 비활성화된 경우). Redsys는 알림을 다시 시도합니다. 로그에 이유가 표시됩니다.

알림이 Bad request로 응답합니다: 요청에 Redsys 매개변수가 없거나 잘못되었습니다. 예상된 형식으로 Redsys에서 온 것이 아닙니다.

결제 후 주문이 Redsys payment on hold 상태입니다: Redsys payment 블록의 메모를 읽은 뒤(주문 상태 참조), 주문을 처리하거나 결제를 환불하십시오.

실제 모드에서 테스트 결제가 주문을 확정하지 않습니다: Test Mode가 꺼져 있는 동안에는 테스트 결제가 주문을 결제하지 않습니다. 대신 주문이 메모와 함께 보류됩니다. 테스트 결제에는 테스트 모드와 테스트 키를 사용하십시오.

환불이 실패합니다: 오류를 확인하십시오. Redsys refund: the merchant code or the TEST secret key is not configured.(또는 LIVE)는 결제 환경의 키가 없다는 뜻입니다. Redsys 오류 코드는 메시지에 설명되어 있습니다. 예를 들어 SIS0057(금액이 결제의 남은 금액을 초과함), SIS0056(원래 결제를 찾을 수 없음, 다른 환경 또는 단말기), SIS0042(서명 오류, 이 환경의 키 확인), SIS0026(알 수 없는 가맹점 코드 또는 단말기), SIS0027(단말기에 통화가 설정되지 않음)입니다. Redsys에 연결할 수 없으면 환불이 이루어지지 않습니다. 나중에 다시 시도하십시오.

단말기가 목록에 없는 통화를 허용합니다: 개발자는 actionRdsgCurrencyCodes 훅으로 통화 목록을 변경할 수 있습니다. 은행이 단말기에 대해 통화를 활성화한 경우에만 통화를 추가하십시오.

제거

Modules > Module Manager로 이동하여 VibeFox Redsys Gateway 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. Delete Data가 켜져 있으면 게이트웨이 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 설정이 유지됩니다. Redsys 결제 기록과 환불, 그리고 Redsys payment on hold 주문 상태는 항상 유지되므로, 이전에 결제된 주문은 재설치 후에도 환불할 수 있습니다. 기존 주문은 결제 메모와 거래 ID를 유지합니다.

Redsys는 해당 소유자의 상표입니다. 이 모듈은 Redsys와 제휴하거나 Redsys의 승인을 받은 것이 아닙니다.