뒤로

VibeFox Pin Payments for PrestaShop — 도움말

요구 사항

PrestaShop: 8.0 ~ 9.x.

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

Pin Payments 계정: Pin Payments 가맹점 계정(호주 또는 뉴질랜드 사업자용; 고객은 어디에서든 결제할 수 있습니다). 운영용 공개 키와 비밀 키가 필요하며, 테스트를 위해서는 테스트 환경의 키가 필요합니다. 웹훅 시크릿은 필요하지 않습니다. 모듈은 웹훅을 사용하지 않습니다. 카드 정보는 고객의 브라우저에서 Pin.js를 통해 Pin Payments로 직접 전송되며 쇼핑몰 서버로는 전달되지 않으므로, 쇼핑몰은 PCI SAQ A-EP 대상에 해당합니다.

VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.

설치

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

2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox Pin Payments Gateway를 찾아 Configure를 클릭하세요.

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

4. Pin Payments 대시보드에서 Account > API Keys를 열고, 테스트 키를 Test publishable key 및 Test secret key에 복사하세요. Test mode는 켜 둔 상태로 두고, Enable/Disable을 켠 다음 Save를 클릭하세요.

5. Pin Payments 테스트 카드로 테스트 주문을 하세요. 모든 것이 작동하면 운영 키를 입력하고, Test mode를 끈 후 저장하세요.

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

설정

모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox Pin Payments Gateway > Configure. 각 섹션에는 자체 Save 버튼이 있으며, 이 버튼은 페이지 전체를 저장합니다. 필드 위에는 테스트 모드가 켜져 있는 동안 경고가, 현재 모드의 공개 키 또는 비밀 키가 비어 있으면 오류가, Pin Payments가 쇼핑몰의 기본 통화를 지원하지 않으면 오류가(지원 통화 목록과 함께) 표시됩니다. 현재 모드의 두 키가 모두 없으면 결제 수단은 체크아웃에서 숨겨집니다. 비어 있는 Title은 저장되지 않으며, 페이지에 Enter a title for the payment method.가 표시됩니다.

Pin Payments

Enable/Disable: Enable Pin Payments는 결제 수단을 켜거나 끕니다. 기본값: 끔.

Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Credit card (Pin Payments). 필수.

Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay with your credit card via Pin Payments.

API 키

키는 Pin Payments 대시보드의 Account > API Keys에서 찾을 수 있습니다. 테스트 키는 테스트 API에서만, 운영 키는 운영 API에서만 작동합니다. 공개 키는 고객의 브라우저에서 Pin.js가 사용합니다. 비밀 키는 서버 밖으로 나가지 않습니다.

Test mode: Pin Payments 테스트 환경(test-api.pinpayments.com)과 테스트 키를 사용합니다. 실제 청구는 이루어지지 않으며, 고객에게는 결제 수단 아래에 TEST MODE — no real charges will be made.가 표시됩니다. 꺼져 있으면 운영 API와 운영 키가 사용됩니다. 기본값: 켬.

Test publishable key: Pin Payments 테스트 계정의 공개 키입니다.

Test secret key: Pin Payments 테스트 계정의 비밀 키입니다.

Live publishable key: Pin Payments 운영 계정의 공개 키입니다.

Live secret key: Pin Payments 운영 계정의 비밀 키입니다.

키 앞뒤의 공백은 제거됩니다. 저장된 비밀 키는 다시 표시되지 않습니다. 필드는 비어 있으며 Saved — leave empty to keep it.를 표시합니다. 값을 변경하려는 경우에만 새 값을 입력하세요.

Clear saved secrets: 비밀 키를 체크하고 Save를 클릭하면 삭제됩니다. 필드가 비어 있으면 저장된 값이 유지됩니다.

고급

Debug log: 모듈 폴더의 logs/wc_ppg_debug.log.php에 기록됩니다. 이 파일은 웹에서 열 수 없습니다. 오류는 항상 기록되며, 모든 API 호출도 기록하려면 이 옵션을 켜세요. 카드 정보, API 키, 고객 개인정보는 기록되지 않습니다. 기본값: 끔.

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

Delete data on uninstall: 켜져 있으면 모듈을 제거할 때 게이트웨이 설정과 로그가 삭제됩니다. 주문의 결제 데이터(청구 및 환불)와 주문 상태 Pin Payments payment on hold는 항상 유지됩니다. 기본값: 끔.

체크아웃

결제 수단은 활성화되어 있고, 현재 모드의 두 키가 모두 설정되어 있으며, 장바구니 통화가 지원되는 14개 통화(AUD, USD, NZD, SGD, EUR, GBP, CAD, HKD, JPY, MYR, THB, PHP, ZAR, IDR) 중 하나이고, Payment > Preferences에서 장바구니에 대해 모듈이 허용되어 있을 때 표시됩니다.

결제 단계에서 고객은 결제 수단을 선택하고(기본값 Credit card (Pin Payments), Visa, Mastercard, American Express 아이콘 포함) Card number, Expiry (MM / YY), CVC, Name on card를 입력합니다. 제출 전에 양식은 카드 번호 길이, 만료 월과 연도, 3자리 또는 4자리 CVC, 이름을 확인합니다.

고객이 주문을 하면, Pin.js가 카드 정보와 장바구니의 청구지 주소를 브라우저에서 Pin Payments로 직접 전송하고 일회용 카드 토큰을 받습니다. 쇼핑몰 서버로는 이 토큰만 전송됩니다. 이후 모듈은 장바구니 통화로 장바구니 총액에 대해 고객 이메일과 설명 <shop name> - Cart <cart number>를 포함한 캡처된 청구를 생성합니다. Pin Payments는 같은 요청에서 응답합니다. 이 응답 전에는 주문이 존재하지 않습니다.

청구가 성공하면 주문이 생성되고, 고객은 Your card payment has been received.가 표시된 표준 주문 확인 페이지를 봅니다. 주문이 Pin Payments payment on hold로 전환된 경우, 페이지에는 Your card payment has been received and is being reviewed. We will update your order as soon as the review is complete.가 표시됩니다.

Pin Payments가 응답하지 않으면(시간 초과, 서버 오류, 읽을 수 없는 응답), 청구가 그래도 생성되었을 수 있습니다. 이 경우 주문은 결제 없이 Pin Payments payment on hold 상태로 생성되며, 확인 페이지에는 We could not confirm your payment with Pin Payments. Please check your e-mail and card statement before paying again, or contact us.가 표시됩니다. 같은 장바구니를 다시 제출해도 두 번째 청구가 생성되지는 않습니다.

장바구니당 한 번에 하나의 결제 시도만 실행됩니다. 두 번째 제출에는 This order is already being paid. Please wait a moment and check your e-mail before trying again.가 표시됩니다. 이미 주문이 있는 장바구니나, 돈을 청구했거나 청구했을 수도 있는 이전 시도는 다시 청구되지 않으며, 대신 그 시도로부터 주문이 생성됩니다. 카드 토큰은 한 번만 사용할 수 있습니다. 실패한 시도 후이거나 고객이 카드 정보를 변경하면 새 토큰이 생성됩니다.

결제가 실패하면 주문은 생성되지 않습니다. 고객은 결제 단계에 머무르고, 장바구니는 유지되며, 다음 메시지 중 하나가 표시됩니다: Your card was declined. Please use another card or contact your bank.; Your card has insufficient funds. Please use another card.; Your card has expired. Please use another card.; The card security code (CVC) is incorrect.; This card type is not accepted. Please use Visa, Mastercard or American Express.; Payment failed: 거절된 정보에 대한 Pin Payments의 사유와 함께; Your card details have expired. Please enter them again and retry. 토큰을 사용할 수 없을 때; The secure card form could not be loaded. Please reload the page or choose another payment method. Pin.js가 로드되지 않을 때; Card payments are temporarily unavailable. Please try again later or choose another payment method. Pin Payments가 비밀 키를 거부할 때; Your payment could not be processed. Please try again or choose another payment method. 그 밖의 오류일 때. 기술적 사유는 로그에 기록됩니다.

모듈에는 3-D Secure 절차가 없습니다. Pin Payments 계정에 3-D Secure가 필요하면 청구는 보류 상태로 남고, 주문은 생성되지 않으며, 고객에게는 Your card payment could not be completed (additional verification is required). Please try another card or another payment method.가 표시됩니다. 나중에 캡처하는 승인 전용 모드, 저장된 카드, 구독, Apple Pay 또는 Google Pay, 웹훅은 없습니다.

주문 및 환불

주문 상태

No order yet: 카드가 거절되었거나, 청구에 3-D Secure가 필요했거나, 고객이 결제하지 않은 경우입니다. 장바구니만 존재합니다.

Payment accepted: Pin Payments가 장바구니 금액 및 통화와 정확히 일치하는 성공적이고 캡처된 청구를 보고했습니다. 결제는 Pin Payments 청구 토큰을 거래 ID로 하여 기록되며, 메모에 금액과 청구 토큰이 표시됩니다(테스트 결제의 경우 TEST MODE도 표시됨).

Pin Payments payment on hold: 청구에 대한 검토가 필요합니다. 메모에 이유가 설명되어 있습니다. Pin Payments가 장바구니와 다른 금액 또는 통화를 청구했거나(청구된 금액에 대한 결제가 기록됨), 결제 중에 장바구니가 변경되었거나, 청구는 승인되었으나 캡처되지 않았거나(Pin Payments 대시보드에서 캡처한 다음 주문을 결제 승인됨 상태로 설정하세요), Pin Payments가 명확한 응답을 주지 않은 경우입니다(결제가 기록되지 않음; 주문을 발송하기 전에 Pin Payments 대시보드에서 청구 설명을 찾으세요).

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

이미 주문이 있는 장바구니에 대해 두 번째 청구가 이루어지면, 주문은 변경되지 않습니다. 메모에서 이를 확인하고 Pin Payments 대시보드에서 환불하라는 안내가 표시됩니다.

Pin Payments 블록

주문 페이지에는 Pin Payments 블록이 표시되며, 테스트 결제의 경우 Test mode 배지, 청구 토큰, 상태, 카드 브랜드와 끝 4자리, 청구 금액, 주문 합계와 환불 금액, Description at Pin Payments, 환불 내역, 주문의 Pin Payments notes가 포함됩니다.

환불

Pin Payments 블록에서 금액을 입력하고(아직 환불되지 않은 금액이 자동으로 채워집니다), 필요하면 사유를 입력한 뒤 Refund via Pin Payments를 클릭하세요. Refund this amount through Pin Payments? This cannot be undone. 질문을 확인하세요. 전액 및 부분 환불을 지원합니다. 주문을 편집할 권한이 필요합니다. 환불은 Pin Payments가 실제로 청구한 금액과 통화로 제한되므로, 금액이나 통화가 맞지 않은 경우에는 주문 합계가 아니라 고객이 결제한 금액까지만 환불할 수 있습니다. 환불은 주문이 결제된 환경(테스트 또는 운영)으로 전송되므로, 해당 모드의 비밀 키가 설정되어 있어야 합니다. Pin Payments는 환불을 비동기로 처리하므로 상태는 보통 대기 중입니다. 성공한 요청은 Pin Payments 환불 토큰과 상태와 함께 환불 내역과 메모에 추가됩니다. 전액 환불은 주문을 Refunded로 설정합니다. 부분 환불은 상태를 바꾸지 않습니다. Pin Payments가 환불을 거부하거나 응답하지 않으면 블록에 오류가 표시되며 환불은 기록되지 않습니다.

주문에 기록된 청구가 없으면(Pin Payments가 명확한 응답을 주지 않은 경우), 블록에는 환불 양식이 표시되지 않으며 Pin Payments 대시보드에서 찾아야 할 설명이 안내됩니다.

모듈은 크레딧 슬립을 만들지 않습니다. 주문 페이지의 표준 PrestaShop 환불 버튼은 Pin Payments를 통해 돈을 돌려보내지 않습니다. Pin Payments 대시보드에서 이루어진 환불은 PrestaShop과 동기화되지 않으므로, 주문 페이지에서 환불하세요.

라이선스 키

모듈은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. 라이선스 블록 License — VibeFox Pin Payments Gateway는 Modules > Module Manager > VibeFox Pin Payments Gateway > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. License key에 키를 입력하고 Activate를 클릭하세요. 그러면 블록에 마스킹된 키, 상태(라이선스 유효 기간 종료일과 도메인 등)가 표시되고, Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거) 버튼이 나타납니다. 그 아래에는 Product: presta-payment-pinpayments 줄과 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 계정에서 슬롯을 해제하세요.

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

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

문제 해결

체크아웃에 Pin Payments가 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드의 두 키가 모두 입력되었는지(테스트 모드에서는 Test publishable key와 Test secret key, 그 외에는 운영 키), 장바구니 통화가 지원되는 14개 통화 중 하나인지 확인하세요. Payment > Preferences에서 장바구니 통화, 고객의 국가, 고객 그룹에 대해 모듈이 허용되어 있는지 확인하세요. 설정 페이지에는 키가 없을 때와 지원되지 않는 쇼핑몰 통화일 때 오류가 표시됩니다.

결제는 완료되었지만 주문이 Pin Payments payment on hold 상태임: Pin Payments 블록의 메모를 읽으세요(주문 상태 참조). Pin Payments가 명확한 응답을 주지 않았다면, Pin Payments 대시보드에서 설명이 <shop name> - Cart <cart number>인 청구를 찾은 다음, 주문을 처리하거나 대시보드에서 청구를 환불하세요.

고객에게 Your payment was received, but the order could not be completed automatically: 메시지가 표시됨: 카드에 청구되었지만 PrestaShop이 주문을 생성할 수 없었습니다(예: 그 사이에 모듈이 비활성화된 경우). 사유는 로그에 있습니다. 고객에게는 다시 결제하지 말라는 안내가 전달됩니다. 같은 장바구니를 다시 제출하면 새 청구 없이 주문이 생성됩니다.

고객에게 Card payments are temporarily unavailable 메시지가 표시됨: Pin Payments가 비밀 키를 거부했거나, 현재 모드의 키가 없습니다. 테스트 키는 테스트 모드에서만, 운영 키는 운영 모드에서만 작동합니다. 로그에 사유가 표시됩니다.

주문이 additional verification is required 메시지와 함께 실패함: Pin Payments 계정에 모듈이 지원하지 않는 3-D Secure가 필요합니다. Pin Payments에 필수 3-D Secure를 끄도록 요청하세요.

보안 카드 양식을 로드할 수 없음: Pin Payments CDN의 Pin.js가 브라우저에서 로드되지 않았습니다. 예를 들어 스크립트 차단기나 스크립트를 합치거나 변경하는 모듈 때문일 수 있습니다. 체크아웃을 이러한 최적화에서 제외하세요.

Pin Payments가 응답하지 않음: 브라우저에서 30초 안에 카드 토큰이 생성되지 않았습니다. 고객은 연결을 확인하고 다시 시도할 수 있습니다. 아무것도 청구되지 않았습니다.

Pin Payments 사유로 결제 실패: Pin Payments가 청구 정보를 거부했습니다. 예를 들어 해당 통화의 최소 청구 금액보다 적은 금액입니다. 고객에게 사유가 표시되며, 로그에는 오류 코드가 있습니다.

환불 실패: 블록의 메시지를 읽으세요. TEST 또는 LIVE 모드에 관한 메시지는 주문이 결제된 모드의 비밀 키가 비어 있다는 뜻입니다. Pin Payments did not confirm the refund는 응답이 없었다는 뜻입니다. 다시 시도하기 전에 Pin Payments 대시보드에서 청구를 확인하세요. at most는 청구에서 아직 환불 가능한 금액을 보여 줍니다.

테스트 결제: 테스트 모드는 테스트 환경과 테스트 키를 사용합니다. Pin Payments 개발자 문서의 테스트 카드를 사용하세요. 예를 들어 4200 0000 0000 0000(성공) 또는 4100 0000 0000 0001(거절), 만료일은 미래의 아무 날짜, CVC는 아무 값이나 사용할 수 있습니다. 주문은 결제된 모드를 유지하므로, 모드를 전환한 후에도 환불은 올바른 환경으로 전송됩니다.

오류 확인 위치: 오류는 항상 로그에 기록됩니다. 모듈 페이지의 Log 필드를 확인하세요. 모든 API 호출을 보려면 Debug log를 켜세요.

제거

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

Pin Payments는 각 소유자의 상표입니다. 이 모듈은 Pin Payments와 제휴되어 있지 않으며 Pin Payments의 승인을 받지 않았습니다.