VibeFox PayU LATAM for PrestaShop — 도움말
요구 사항
PrestaShop: 8.0 ~ 9.x.
PHP: 8.0 이상. 이전 PHP 버전에서는 모듈 설치가 거부됩니다.
통화: 장바구니는 ARS, BRL, CLP, COP, MXN, PEN 또는 USD여야 합니다. 이는 PayU Latam이 아르헨티나, 브라질, 칠레, 콜롬비아, 멕시코, 파나마, 페루에서 처리하는 통화입니다. 그 밖의 통화에서는 체크아웃에 결제 수단이 표시되지 않습니다.
PayU Latam 계정: PayU 가맹점 계정의 세 가지 값이 필요합니다: 가맹점 ID, 판매하는 국가의 계정 ID, API 키. 이 값들은 PayU 모듈(PayU 가맹점 패널)의 Settings > Technical configuration (merchant ID, API key) 및 Accounts (account ID)에 있습니다. 테스트를 위해 PayU는 개발자 문서의 "Test your solution" 페이지에 공개 샌드박스 자격 증명과 테스트 카드를 게시합니다. 결제는 PayU가 호스팅하는 페이지에서 이루어지고 모듈은 PayU API를 전혀 호출하지 않으므로, API Login 및 기타 API 자격 증명은 필요하지 않습니다.
쇼핑몰의 인터넷 접근: PayU는 결제 결과를 자사 서버에서 쇼핑몰로 전송하므로, 쇼핑몰은 인터넷에서 접근 가능해야 합니다(로컬 사이트이거나 비밀번호 보호가 있으면 안 됩니다).
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
1. 관리자 페이지에서 Modules > Module Manager로 이동하고 Upload a module을 클릭합니다. 모듈 ZIP 파일을 선택합니다.
2. 업로드가 끝나면 Configure를 클릭하거나, 나중에 모듈 목록에서 VibeFox PayU LATAM Payment를 찾아 Configure를 클릭합니다.
3. Configure 페이지 상단의 라이선스 블록에서 License key에 VibeFox 라이선스 키를 입력하고 Activate를 클릭하십시오(라이선스 키 참조).
4. 샌드박스 자격 증명과 운영 자격 증명을 입력합니다(설정 참조). PayU에서 확인 URL을 설정할 필요는 없습니다.
5. Enable/Disable을 켜고 Save를 클릭합니다. 테스트 결제를 마칠 때까지 Sandbox를 켜 두었다가, 그 후 끄고 운영 자격 증명으로 실제 결제를 받습니다.
설치 시 모듈은 두 가지 주문 상태를 만듭니다: Awaiting PayU LATAM payment 및 PayU LATAM payment on hold. PrestaShop은 모든 통화, 국가, 고객 그룹에 대해 새 결제 모듈을 제공합니다. Payment > Preferences에서 제한할 수 있습니다. 나중에 활성화한 국가도 그곳에서 모듈에 대해 체크해야 합니다.
설정
모든 설정은 모듈 페이지에 있습니다: Modules > Module Manager > VibeFox PayU LATAM Payment > Configure. 각 섹션에는 자체 Save 버튼이 있으며, 이 버튼은 페이지 전체를 저장합니다. 필드 위에는 샌드박스가 켜져 있는 동안 Sandbox mode. Payments go to the PayU sandbox and no real money is charged., 현재 환경의 가맹점 ID, 계정 ID 또는 API 키가 없을 때 오류, PayU LATAM이 쇼핑몰 기본 통화를 처리하지 않을 때 경고가 표시됩니다. 자격 증명이 없는 동안에는 PayU LATAM이 체크아웃에 표시되지 않습니다. 자격 증명 앞뒤의 공백은 무시됩니다. 빈 Title은 저장되지 않으며 Enter a title for the payment method.가 표시됩니다.
PayU LATAM
Enable/Disable: Enable PayU LATAM은 결제 수단을 켜거나 끕니다. 기본값: 꺼짐.
Title: 체크아웃에서 고객에게 표시되는 결제 수단 제목입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: PayU LATAM. 필수.
Description: 체크아웃에서 고객에게 표시되는 결제 수단 설명입니다. 기본값: Pay with a card, cash or bank transfer on the secure PayU page. You will be redirected to PayU to complete your payment.
환경
Sandbox: 결제는 아래의 샌드박스 자격 증명을 사용하여 PayU 샌드박스로 전송되며 실제 금액은 청구되지 않습니다. 꺼져 있으면 운영 자격 증명과 PayU 운영 결제 페이지가 사용됩니다. 기본값: 켜짐. 켜져 있는 동안 고객에게는 결제 수단 아래에 Sandbox mode: no real money is charged.가 표시됩니다.
운영 자격 증명
PayU 모듈에서 찾을 수 있습니다: Settings > Technical configuration (merchant ID, API key) 및 Accounts (판매하는 국가의 account ID). 이 섹션은 PayU 가맹점 패널로 연결됩니다.
Merchant ID: PayU 가맹점 계정의 숫자 식별자입니다.
Account ID: PayU 계정의 식별자입니다. 국가마다 계정이 하나씩 있습니다.
API Key: 결제에 서명하고 PayU 알림을 검증하는 데 사용하는 비밀 키입니다.
샌드박스 자격 증명
PayU는 샌드박스용 공개 테스트 자격 증명과 테스트 카드를 게시합니다. 이 섹션은 PayU 문서의 "Test your solution" 페이지로 연결됩니다.
Sandbox merchant ID: PayU 샌드박스의 가맹점 ID입니다.
Sandbox account ID: PayU 샌드박스의 계정 ID입니다.
Sandbox API key: PayU 샌드박스의 API 키입니다.
저장된 API 키는 다시 표시되지 않습니다. 필드는 비어 있고 Saved — leave empty to keep it.가 표시됩니다. 변경하려는 경우에만 새 값을 입력하십시오.
Clear saved secrets: API Key 또는 Sandbox API key를 체크하고 Save를 클릭하면 저장된 키가 삭제됩니다. 필드를 비워 두면 저장된 값이 유지됩니다.
각 결제 시도는 해당 환경을 기억합니다. 샌드박스 결제의 확인은 샌드박스 API 키와 가맹점 ID로, 운영 결제의 확인은 운영 값으로 검증되므로, 전환 후에도 대기 중인 결제가 계속 작동합니다. 전환 후에 확인된 샌드박스 결제는 주문 메모에 [sandbox]로 표시됩니다.
확인 URL
이 섹션에는 PayU가 모든 결제 결과를 보고하는 URL이 표시됩니다. 친숙한 URL을 사용하면 https://your-shop/module/wcp_payu_latam_payment/confirmation와 같은 형태이며, /en/처럼 언어 코드가 포함될 수도 있습니다. 모듈은 모든 결제와 함께 이 URL을 PayU로 전송하므로 PayU에서 설정할 것은 없습니다. 이 URL은 인터넷에서 접근 가능해야 합니다. 쇼핑몰이 점검 모드일 때도 작동하며, 쇼핑몰의 국가 제한에 막히지 않습니다. 확인은 API 키로 PayU가 서명합니다. 유효한 서명이 없거나, 다른 가맹점 ID가 포함되었거나, 이 쇼핑몰이 발급하지 않은 결제 참조가 포함된 확인은 거부됩니다. 모듈은 다음 PayU 거래 상태를 처리합니다:
다른 상태는 메모로만 추가됩니다. 확인이 없으면 주문이 생성되지 않습니다.
고급
Debug log: 결제 요청과 PayU 알림을 모듈 폴더의 logs/payu_lp_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없습니다. 키와 개인 데이터는 기록되지 않습니다. 오류와 거부된 알림은 이 스위치가 꺼져 있어도 항상 기록됩니다. 기본값: 꺼짐.
Log: 로그의 크기와 최근 항목을 표시합니다. Clear log를 클릭하면 비워집니다.
Delete data: 모듈을 제거할 때 설정과 로그를 삭제합니다. 주문의 PayU 데이터(결제 시도)와 주문 상태는 유지됩니다. 기본값: 꺼짐.
체크아웃
결제 단계에서 고객은 결제 수단(기본값 PayU LATAM)을 선택하고 확인합니다. 쇼핑몰 페이지에 You are being redirected to PayU LATAM to complete the payment...가 표시되고, 서명된 양식이 자동으로 PayU WebCheckout 페이지로 전송됩니다. 그렇지 않으면 고객은 Pay with PayU LATAM을 클릭하거나, 돌아가려면 Back to checkout을 클릭합니다. 이 시점에는 아직 주문이 없습니다.
양식에는 장바구니의 총액과 통화, 장바구니의 세금과 과세표준(세금이 없는 장바구니의 경우 둘 다 0이므로 PayU가 기본 부가세를 추가하지 않음), 장바구니 번호와 쇼핑몰 이름이 포함된 설명 Cart #, 고객의 이메일, 이름, 전화번호, 청구 주소가 포함됩니다. PayU 페이지는 장바구니 언어에 따라 스페인어, 포르투갈어 또는 영어로 열립니다. PayU 페이지에서 고객은 PayU 계정에서 활성화된 모든 결제 수단으로 결제할 수 있습니다.
결제 페이지를 열 때마다 고유한 참조(PS, 장바구니 번호, 타임스탬프)를 가진 새 결제 시도가 시작됩니다. 이전 시도도 기억됩니다. 고객이 이전에 열었던 PayU 탭에서 결제하더라도 결제는 여전히 승인됩니다.
주문은 PayU가 서명된 확인을 보낸 후에만 결제 완료로 표시됩니다. PayU에서 돌아온 고객이 주문을 결제 완료로 표시하는 일은 없습니다. 고객이 돌아오면:
현재 환경의 자격 증명이 없으면 고객에게 PayU LATAM is not available right now. Please choose another payment method.가 표시됩니다. 지원되지 않는 장바구니 통화의 경우 메시지는 PayU LATAM does not accept payments in이며 뒤에 통화가 붙습니다. 이미 주문이 있는 장바구니는 다시 결제되지 않습니다: 고객은 해당 주문 확인 페이지로 이동합니다.
모듈은 쇼핑몰 내 결제 양식, PrestaShop에서의 환불, 저장된 카드, 구독, 할부 설정을 제공하지 않습니다(할부는 PayU 페이지에 표시됩니다). 결제 상태를 조회하기 위해 PayU API를 호출하지 않습니다: 서명된 확인만이 주문을 업데이트합니다.
주문
주문 상태
아직 주문 없음: 고객이 PayU로 이동했지만 결제하지 않았거나, 결제가 거절되었거나, PayU가 아직 확인을 보내지 않았습니다. 장바구니만 존재합니다.
Payment accepted: PayU가 결제를 확인했고 금액과 통화가 일치합니다. 결제는 PayU 거래 ID와 함께 기록되며, 메모에는 거래, 금액, 결제 수단, 샌드박스 결제의 경우 [sandbox]가 표시됩니다.
Awaiting PayU LATAM payment: PayU가 결제를 대기 중(현금 또는 은행 결제)으로 보고합니다. PayU가 결제를 확인하면 주문이 Payment accepted로 이동합니다.
PayU LATAM payment on hold: 결제된 금액이나 통화가 장바구니 총액과 일치하지 않거나, 취소된 주문에 대해 결제가 승인되었습니다. 결제가 주문 통화인 경우 기록됩니다. 메모에 해당 경우가 표시됩니다: PayU 모듈에서 결제를 확인한 다음 주문을 처리하거나, 복원하거나, 결제를 환불하십시오.
Payment error: 최신 시도의 대기 중이던 결제가 이후 거절되었거나, 만료되었거나, 오류로 끝났습니다. 메모에 PayU 메시지가 표시됩니다. 이 장바구니는 다시 결제할 수 없습니다: 고객이 새 주문을 합니다. 이전 시도의 거절, 또는 이미 승인된 결제가 있는 주문의 거절은 메모로만 추가됩니다.
모든 알림은 장바구니별 잠금하에 한 번만 처리됩니다: 반복된 PayU 알림이 두 번째 주문을 만들거나 메모를 두 번 추가하지 않습니다. 결제 완료된 주문은 다시 열리거나 강등되지 않습니다. 이미 결제 완료된 주문에 다른 승인된 결제가 도착하면 메모에 이를 알리는 내용이 표시됩니다: 고객이 두 번 결제했다면 PayU 모듈에서 중복 결제를 환불하십시오.
PayU LATAM 결제 블록
주문 페이지에는 PayU LATAM payment 블록이 표시되며, 참조, 거래 ID, PayU 참조, 상태 및 PayU 상태, 요청 금액, PayU가 보고한 금액, 결제 수단, PayU 메시지, 샌드박스 결제용 SANDBOX 배지, 장바구니의 모든 결제 시도 목록, 주문의 PayU LATAM notes가 포함됩니다.
환불
환불은 PrestaShop에서 하지 않습니다. PayU 모듈에서 거래를 환불한 다음, PrestaShop에 환불을 수동으로 기록하십시오.
라이선스 키
모듈은 vibefox.net의 VibeFox 라이선스 키로 작동합니다. License — VibeFox PayU LATAM Payment 라이선스 블록은 Modules > Module Manager > VibeFox PayU LATAM Payment > Configure 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 입력하고 Activate를 클릭하십시오. 그러면 블록에 키가 마스킹되어 표시되고, 상태(예: 라이선스 유효 기간 종료일과 도메인)가 나타납니다. 또한 상태를 다시 확인하는 Check now, 다른 키를 입력하는 Change key, 이 쇼핑몰에서 키를 제거하는 Remove key 버튼이 있습니다. 그 아래에는 Product: presta-payment-payu-latam 줄과 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 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 PayU LATAM은 체크아웃에서 고객에게 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. PrestaShop 스토어프런트는 백오피스에 로그인되어 있다는 사실을 알지 못하므로, 결제 수단은 귀하에게도 숨겨집니다: 키를 구매하기 전에 모듈을 설정할 수는 있지만 체크아웃에서 테스트할 수는 없습니다. Modules > Module Manager의 Alerts 탭에 알림이 나타납니다. 기존 주문은 영향을 받지 않습니다: 이미 시작된 결제는 여전히 PayU 확인과 고객의 복귀를 통해 확인됩니다.
라이선스가 만료되면 모듈은 계속 작동하지만, 업데이트와 지원에는 갱신이 필요합니다. 상태는 백오피스에서 작업하는 동안 자동으로 다시 확인됩니다: 키 입력 후 처음 14일 동안은 하루 한 번, 그 후에는 주 1회입니다. cron 작업은 필요하지 않습니다. 모듈을 제거하거나 초기화하면 라이선스 키와 라이선스 상태가 항상 삭제됩니다.
문제 해결
체크아웃에 PayU LATAM이 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 환경의 가맹점 ID, 계정 ID, API 키가 입력되어 있는지 확인하십시오: Sandbox가 켜져 있으면 샌드박스 자격 증명, 꺼져 있으면 운영 자격 증명입니다. 장바구니 통화가 ARS, BRL, CLP, COP, MXN, PEN 또는 USD인지 확인하십시오. Payment > Preferences에서 장바구니 통화, 고객의 국가, 고객 그룹에 대해 모듈이 허용되어 있는지 확인하십시오.
결제는 완료되었지만 주문이 생성되지 않음: PayU 확인이 쇼핑몰에 도달하지 못했거나 거부되었습니다. 설정에 표시된 확인 URL이 인터넷에서 접근 가능한지 확인하십시오(로컬 사이트, 방화벽, 비밀번호 보호가 없어야 합니다). 거부된 확인은 모듈 페이지의 Log 필드에서 확인하십시오. PayU는 오류 응답 후에 확인을 다시 보냅니다.
확인이 Invalid signature 응답: 확인이 결제 환경의 API 키로 서명되지 않았습니다. 운영 결제는 API Key, 샌드박스 결제는 Sandbox API key를 확인하십시오.
확인이 Merchant mismatch 응답: 확인의 가맹점 ID가 결제 환경의 Merchant ID 또는 Sandbox merchant ID와 다릅니다. 결제를 처리하는 PayU 계정의 가맹점 ID를 입력하십시오.
확인이 Gateway not configured 응답: 결제 환경의 API 키 또는 가맹점 ID가 없습니다. 예를 들어 샌드박스 결제가 대기 중일 때 샌드박스 자격 증명이 삭제된 경우입니다. 다시 입력하십시오. PayU가 확인을 재시도합니다.
확인이 Retry 응답: 같은 순간에 다른 요청이 장바구니를 처리하고 있었거나, 주문을 생성할 수 없었습니다(예: 모듈이 비활성화됨). 아무것도 변경되지 않았으며, PayU가 확인을 다시 보냅니다. 이유는 Log에서 확인하십시오.
확인이 Unknown reference 응답: 결제 참조가 이 쇼핑몰에서 발급되지 않았습니다.
확인 URL이 브라우저에서 Method not allowed를 표시: 정상입니다. 이 URL은 PayU의 요청만 허용합니다.
고객에게 This payment method is not available이 표시됨: Payment > Preferences에서 고객의 국가, 통화 또는 그룹에 대해 모듈이 허용되지 않았거나, Enable/Disable이 꺼져 있습니다.
주문이 PayU LATAM payment on hold 상태: PayU LATAM payment 블록의 메모를 읽으십시오. 결제된 금액이나 통화가 장바구니와 달랐거나, 주문이 취소된 후 결제가 도착했습니다. PayU 모듈에서 거래를 확인하십시오.
제거
Modules > Module Manager로 이동하여 VibeFox PayU LATAM Payment 옆의 메뉴를 열고 Uninstall을 선택합니다. 이 모듈의 라이선스 키와 라이선스 상태는 항상 삭제됩니다. Delete data가 켜져 있으면 설정과 로그가 삭제됩니다. 꺼져 있으면 나중에 다시 설치할 수 있도록 모든 설정이 유지됩니다. 결제 시도와 Awaiting PayU LATAM payment 및 PayU LATAM payment on hold 주문 상태는 항상 유지되므로, 이전 시도에 대한 늦은 PayU 확인은 재설치 후에도 인식됩니다. 기존 주문은 결제 메모, PayU 참조, 거래 ID를 그대로 유지합니다.
PayU는 해당 소유자의 상표입니다. 이 모듈은 PayU와 제휴하거나 PayU의 승인을 받은 것이 아닙니다.
