뒤로

VibeFox Pesapal for WooCommerce — 도움말

요구 사항

WordPress: 6.2 이상.

WooCommerce: 8.0 이상이 설치되어 활성화되어 있어야 합니다. 없으면 플러그인을 활성화할 수 없습니다.

PHP: 8.0 이상.

Currency: 주문 통화는 KES, UGX, TZS, ZMW, RWF 또는 USD여야 합니다. 다른 통화에서는 체크아웃에 결제 수단이 표시되지 않습니다. 주문은 자체 통화로 청구되며 플러그인은 통화를 변환하지 않습니다. 금액은 주 통화 단위로 전송되며 통화 정밀도에 맞게 반올림됩니다(UGX 및 RWF는 소수점 없음).

Pesapal account: Pesapal 가맹점 계정의 소비자 키와 소비자 시크릿이 필요합니다. 샌드박스와 운영 키는 다릅니다. 샌드박스 키는 cybqa.pesapal.com의 데모 가맹점 계정에서 받습니다(Pesapal은 개발자 포털에도 데모 키를 게시합니다). 운영 키는 Pesapal 가맹점 대시보드에서 받습니다. Pesapal 대시보드에서 추가 설정은 필요하지 않습니다. 플러그인이 알림 URL을 직접 등록합니다. Pesapal이 사이트로 결제 알림을 보내므로 사이트는 인터넷에서 접근 가능해야 합니다.

VibeFox license key: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.

설치

1. WordPress에서 Plugins > Add New > Upload Plugin으로 이동하여 플러그인 ZIP 파일을 선택하고 Install Now를 클릭합니다. FTP로 wcp_pesapal_pay 폴더를 /wp-content/plugins/에 업로드할 수도 있습니다.

2. Activate를 클릭합니다.

3. 설정을 엽니다: WooCommerce > Settings > Payments > Pesapal > Manage. 또는 플러그인 페이지에서 플러그인 이름 아래의 Settings를 클릭합니다.

4. 페이지 상단의 라이선스 블록에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다.

5. 샌드박스 소비자 키와 시크릿을 입력하고 Enable/Disable를 켠 다음 저장하고 테스트 주문을 합니다.

6. 운영 소비자 키와 시크릿을 입력하고 Sandbox mode의 선택을 해제한 다음 저장하면 실제 결제를 받을 수 있습니다.

설정

모든 설정은 한 페이지에 있습니다: WooCommerce > Settings > Payments > Pesapal. 필드 위 배지가 모드를 표시합니다. SANDBOX에는 Test payments on cybqa.pesapal.com — no real money is charged., LIVE에는 Real payments on pay.pesapal.com.가 표시됩니다. 현재 모드의 키가 없거나(Enter the sandbox consumer key and secret — until then Pesapal is not shown at checkout., 운영 모드에도 같은 유형의 안내 표시) Pesapal이 쇼핑몰 통화를 지원하지 않으면 경고가 나타납니다. 샌드박스가 켜져 있으면 결제 수단 목록에서 Pesapal이 테스트 모드로 표시됩니다.

결제 알림(IPN)

이 블록에는 쇼핑몰의 알림 URL이 표시됩니다. 형식은 https://your-site/wc-api/pesapal_pay/입니다. URL은 첫 결제 시 샌드박스와 운영 환경 및 각 키 쌍에 대해 별도로 Pesapal에 자동 등록되므로 설정할 것이 없습니다. 첫 결제 후 블록에는 Registered IPN ID:와 Pesapal이 반환한 ID가 표시되며 그전에는 Not registered yet for the current mode and keys.가 표시됩니다. URL은 인터넷에서 접근 가능해야 하며 유지보수 모드, 방화벽 또는 비밀번호 보호가 접근을 막아서는 안 됩니다.

체크아웃

Enable/Disable: Enable Pesapal은 결제 수단을 켜거나 끕니다. 기본값: 꺼짐.

Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 기본값: Pesapal (M-Pesa, Airtel Money, cards).

Description: 체크아웃에서 결제 수단 아래에 표시되는 텍스트입니다. 기본값: Pay securely with M-Pesa, Airtel Money, card or bank via Pesapal. You will be redirected to Pesapal to complete the payment.

API 자격 증명

이 섹션은 키를 받는 위치를 설명하고 cybqa.pesapal.com 및 pesapal.com 링크를 제공합니다. 샌드박스와 운영 키를 각각 해당 필드에 입력하세요. 모든 키 필드는 비밀번호 필드입니다.

Sandbox mode: Use the Pesapal sandbox (no real money). 켜져 있으면 새 결제는 샌드박스 키로 cybqa.pesapal.com을 사용합니다. 선택을 해제하면 운영 키로 pay.pesapal.com에서 실제 결제를 받습니다. 기본값: 켜짐.

Sandbox consumer key: 샌드박스(데모) 가맹점 계정의 소비자 키입니다. 샌드박스 모드에서만 사용됩니다.

Sandbox consumer secret: 샌드박스 가맹점 계정의 소비자 시크릿입니다. 샌드박스 모드에서만 사용됩니다.

Live consumer key: Pesapal 가맹점 대시보드의 소비자 키입니다. 샌드박스 모드가 꺼져 있을 때 사용됩니다.

Live consumer secret: Pesapal 가맹점 대시보드의 소비자 시크릿입니다. 샌드박스 모드가 꺼져 있을 때 사용됩니다.

모드를 전환하거나 키를 변경해도 다른 모드나 키의 액세스 토큰 또는 알림 ID를 재사용하지 않습니다. 한 모드에서 시작된 결제는 전환 후에도 항상 해당 모드에서 확인됩니다.

고급

Debug log: Log Pesapal requests and notifications은 WooCommerce > Status > Logs에 세부 정보를 기록하며 소스는 wcp_pesapal_pay입니다. 오류와 경고는 항상 기록됩니다. 키, 토큰 및 고객 데이터는 기록되지 않습니다. 기본값: 꺼짐.

Delete data: Delete the plugin settings and logs when the plugin is deleted. 주문에 저장된 Pesapal 데이터(추적 ID, 메모)는 결제 내역이므로 항상 보존됩니다. 플러그인을 비활성화해도 아무것도 삭제되지 않습니다. 기본값: 꺼짐.

체크아웃

고객은 결제 수단(기본값 Pesapal (M-Pesa, Airtel Money, cards))을 선택하고 주문합니다. 샌드박스 모드에서는 체크아웃 블록에 Sandbox mode: no real money will be charged.가 표시됩니다. 플러그인은 주문 청구 정보를 사용해 주문 통화로 주문 총액에 대한 Pesapal 결제 요청을 만들고 모드, 금액 및 Pesapal 추적 ID가 포함된 주문 메모를 추가합니다. 고객은 Pesapal 결제 페이지로 이동하여 M-Pesa, Airtel Money, MTN, 카드 또는 은행 등 Pesapal이 제공하는 수단으로 결제합니다.

주문은 Pesapal 확인 후에만 결제 완료로 표시됩니다. Pesapal 알림과 고객의 복귀 요청에는 결제 데이터와 서명이 없으므로 플러그인은 이를 신뢰하지 않습니다. 각각에 대해 결제가 시작된 모드에서 인증된 서버 간 요청으로 Pesapal에 거래 상태를 조회합니다. 또한 거래가 이 주문에 속하는지, 결제 금액과 통화가 주문과 일치하는지 확인합니다.

결제 후 고객은 주문 접수 페이지로 돌아옵니다. 모바일 머니 결제는 잠시 시간이 걸릴 수 있습니다. 결제가 아직 확인되지 않았다면 페이지에 Your payment is being confirmed by Pesapal. You will receive an e-mail as soon as it is confirmed — there is no need to pay again.가 표시됩니다. Pesapal 알림이 나중에 주문을 완료합니다. 주문이 보류된 경우 페이지에 Your payment was received and is being reviewed by the shop. You will receive an e-mail once the order is confirmed.가 표시됩니다.

고객이 Pesapal 페이지에서 취소하면 Pay for order 페이지로 돌아와 The Pesapal payment was cancelled. You can try again or choose another payment method.가 표시됩니다. 결제가 실패했다면 메시지는 The Pesapal payment was not successful. Please try again or choose another payment method.입니다. 고객은 같은 주문을 다시 결제할 수 있습니다. 주문의 모든 결제 시도가 기록되므로 주문의 이전 Pesapal 페이지에서 나중에 이루어진 결제도 허용됩니다.

Pesapal이 결제를 시작할 수 없으면 고객에게 짧은 메시지가 표시됩니다. 예를 들어 Pesapal is temporarily unavailable. Please try again in a few minutes or choose another payment method., Pesapal is not available at the moment. Please choose another payment method.(잘못된 키) 또는 Pesapal could not start the payment: 뒤에 Pesapal의 사유가 표시됩니다. 기술 세부 정보는 주문 메모와 로그에 기록됩니다. 주문 총액은 영보다 커야 합니다.

이 결제 수단은 클래식 체크아웃, 체크아웃 블록 및 Pay for order 페이지에서 작동합니다. WooCommerce 고성능 주문 저장소(HPOS)와 호환됩니다.

이 플러그인은 체크아웃 페이지 자체의 결제 양식(고객은 항상 Pesapal 페이지에서 결제), 저장된 카드, 구독 또는 정기 결제, 통화 변환을 제공하지 않습니다.

주문 및 환불

주문 상태

Pending payment: 고객이 Pesapal로 이동했지만 아직 결제하지 않았거나 Pesapal이 아직 결제를 확인하지 않았습니다.

Processing: Pesapal이 결제를 완료로 알리고 금액과 통화가 일치합니다. 주문 메모에 금액, 결제 수단, Pesapal 확인 코드 및 추적 ID가 표시됩니다. 주문의 거래 ID는 Pesapal 추적 ID입니다. 각 결제는 한 번만 적용됩니다.

On hold: 결제 금액 또는 통화가 주문과 다르거나(메모 Pesapal amount/currency mismatch — held for review), 결제 전에 취소된 주문에 돈이 들어왔습니다. Pesapal 대시보드에서 결제를 확인한 후 주문을 완료하거나 환불하세요.

Failed: Pesapal이 가장 최근 결제 시도의 실패를 알립니다. 메모에 Pesapal의 사유가 표시됩니다. 고객이 Pay for order 페이지에서 다시 시도하고 이 시도도 실패하면 사유가 포함된 메모가 추가됩니다. 이전 시도의 실패는 주문을 변경하지 않습니다. 고객은 다시 결제할 수 있습니다.

Refunded: Pesapal이 주문 대금을 지불한 결제의 취소를 알립니다. 다른 시도의 취소는 주문에 메모로만 기록됩니다.

이미 결제된 주문의 두 번째 결제 시도도 완료되면 주문은 변경되지 않습니다. Pesapal 대시보드에서 두 번째 결제를 환불하라는 메모가 추가됩니다. 취소 및 환불된 주문은 자동으로 다시 열리지 않습니다.

환불

플러그인은 Pesapal에 환불을 전송하지 않습니다. Pesapal 대시보드에서 결제를 환불한 다음 WooCommerce에 수동으로 환불을 기록하세요.

라이선스 키

플러그인은 vibefox.net의 VibeFox 라이선스 키로 작동합니다. 라이선스 블록은 WooCommerce > Settings > Payments > Pesapal 상단에 있습니다. License key에 키를 붙여 넣고 Activate를 클릭합니다. 블록에 라이선스 유효 기한과 도메인 등의 상태가 표시됩니다. Check now로 상태를 다시 확인하고, Change key로 다른 키를 입력하며, Remove key로 이 사이트에서 키를 제거합니다. Manage licenses and domains in your account 링크는 vibefox.net 계정을 엽니다.

키 하나는 도메인 하나에서 작동합니다. 사이트에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하세요.

활성 키가 없으면 체크아웃에서 고객에게 Pesapal이 표시되지 않습니다. 그래도 결제가 시작되면 고객에게 This payment method is not available. Please choose another one.가 표시됩니다. 로그인한 쇼핑몰 관리자는 (unlicensed — visible to admins only)로 표시된 결제 수단을 계속 볼 수 있으므로 키를 구매하기 전에 플러그인을 설정하고 테스트할 수 있습니다. 플러그인 페이지 및 WooCommerce 페이지에 알림이 나타납니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 Pesapal 알림과 고객 복귀를 통해 계속 확인됩니다.

라이선스가 만료되어도 플러그인은 계속 작동하지만 업데이트와 지원을 받으려면 갱신해야 합니다. 상태는 백그라운드에서 자동으로 다시 확인됩니다.

문제 해결

체크아웃에 Pesapal이 표시되지 않음: 라이선스가 활성 상태이고, Enable/Disable이 켜져 있으며, 현재 모드의 소비자 키와 시크릿이 입력되어 있는지(샌드박스 모드는 Sandbox consumer key와 Sandbox consumer secret, 운영 모드는 Live consumer key와 Live consumer secret), 주문 통화가 KES, UGX, TZS, ZMW, RWF 또는 USD인지 확인하세요. 설정 상단의 경고가 문제를 알려 줍니다. 개발자는 pesapal_p_supported_currencies 필터로 통화 목록을 변경할 수 있습니다.

결제는 성공했지만 주문이 결제 대기 중으로 유지됨: Pesapal 알림이 쇼핑몰에 도착하지 않았고 고객도 돌아오지 않았습니다. Payment notifications (IPN)에 표시된 URL이 인터넷에서 접근 가능한지 확인하세요(/wc-api/pesapal_pay/ 앞에 유지보수 모드, 방화벽 또는 비밀번호 보호가 없어야 함). WooCommerce > Status > Logs에서 소스 wcp_pesapal_pay을 확인하세요.

쇼핑몰의 알림 응답 방식: 처리된 알림에는 HTTP 200으로 응답합니다. 플러그인이 처리할 수 없으면 오류로 응답하며 Pesapal이 나중에 알림을 다시 전송합니다. 400(추적 ID 누락 또는 형식 오류), 404(이 쇼핑몰에 해당 추적 ID를 가진 주문이 없음), 409(거래가 다른 가맹점 참조에 속함, 주문은 변경되지 않음), 502(당시 Pesapal API에 연결할 수 없었음), 503(고객 복귀 요청이 동시에 주문을 업데이트 중이었음)입니다.

고객에게 Pesapal is not available at the moment가 표시됨: Pesapal이 현재 모드의 소비자 키 또는 시크릿을 거부했습니다. 키가 해당 모드에 속하는지 확인하세요. 샌드박스 키는 샌드박스에서만, 운영 키는 운영 모드에서만 작동합니다. 주문 메모에 Pesapal 오류가 표시됩니다.

고객에게 Pesapal is temporarily unavailable가 표시됨: Pesapal에 연결할 수 없었거나 알림 URL을 등록하지 못했습니다. 주문 메모와 로그를 읽고 다시 시도하세요.

결제 후 주문이 보류 중 상태임: 주문 메모를 읽으세요. 결제 금액 또는 통화가 주문과 달랐거나 주문이 취소된 후에 결제금이 들어왔습니다. Pesapal 대시보드에서 결제를 확인한 후 주문을 처리하거나 환불하세요.

라이선스 블록에 오류가 표시됨: 블록의 메시지를 따르세요. 예를 들어 키가 다른 도메인에서 이미 사용 중이면 vibefox.net 계정에서 슬롯을 해제하고 Check now를 클릭하세요. 사이트 주소가 바뀌었다면 Check now를 클릭하여 새 도메인에 키를 활성화하세요. 라이선스 서버에 연결할 수 없으면 플러그인은 마지막으로 확인된 상태로 계속 작동합니다.

삭제

플러그인을 비활성화해도 모든 데이터는 유지됩니다. 제거하려면 Plugins 페이지에서 비활성화하고 삭제합니다. 이 플러그인의 라이선스 키와 라이선스 상태, 캐시된 Pesapal 액세스 토큰 및 등록된 알림 ID는 항상 제거됩니다. 플러그인 설정과 로그(순환 보관된 파일을 포함한 로그 파일 및 wcp_pesapal_pay 소스의 데이터베이스 로그 항목)는 Delete data이 켜져 있었을 때만 제거됩니다. 그렇지 않으면 나중에 재설치할 때 사용할 수 있도록 유지됩니다. 기존 주문에는 결제 메모, 거래 ID 및 Pesapal 추적 ID가 유지됩니다.

Pesapal은 해당 소유자의 상표입니다. 이 플러그인은 Pesapal과 제휴하지 않았으며 Pesapal의 승인을 받지 않았습니다.