VibeFox Xendit for OpenCart — 도움말
요구 사항
OpenCart: 3.0.x(3.0.5.0에서 테스트됨) 또는 4.0.2 이상(4.1.0.3에서 테스트됨).
PHP: 8.0 이상.
쇼핑몰 통화: IDR, PHP, VND, THB, MYR, USD 또는 SGD. 그 밖의 체크아웃 통화에서는 결제 수단이 표시되지 않습니다. 실제로 사용 가능한 결제 채널과 통화는 Xendit 계정에 따라 다릅니다.
Xendit 계정: 테스트 모드용으로 Money-in(청구서)에 대한 쓰기 권한이 있는 시크릿 API 키가 하나 필요하고, 운영 모드용으로 또 하나가 필요합니다. 각 모드의 웹훅 검증 토큰도 필요합니다(설정 참조). 사용되는 것은 시크릿 키와 검증 토큰뿐입니다. 고객은 Xendit이 호스팅하는 청구서 페이지에서 결제하므로 공개 키는 필요하지 않습니다.
VibeFox 라이선스 키: vibefox.net에서 구매합니다. 키 하나는 도메인 하나에서 작동합니다.
설치
다운로드 파일은 두 OpenCart 버전용 패키지가 들어 있는 하나의 zip 파일입니다. 컴퓨터에서 압축을 푸십시오. 여기에는 README.txt, OpenCart 3용 패키지 wcp_xendit_payment_gateway-oc3-(version).ocmod.zip, OpenCart 4용 패키지 wcp_xendit_payment_gateway.ocmod.zip이 들어 있습니다. 사용 중인 OpenCart 버전의 패키지만 설치하십시오. 라이선스 키는 두 버전에서 같습니다.
OpenCart 3
1. 관리자에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_xendit_payment_gateway-oc3-(version).ocmod.zip 파일을 선택합니다. 이 확장 프로그램에는 OCMOD 수정 사항이 없으므로 Extensions > Modifications를 새로 고칠 필요가 없습니다. 설치 도구 대신 이 패키지의 upload 폴더 내용을 쇼핑몰의 루트 폴더에 복사할 수도 있습니다.
2. Extensions > Extensions로 이동하여 유형 Payments를 선택합니다. VibeFox Xendit Payment Gateway를 찾아 Install(녹색 + 버튼)을 클릭합니다. 관리자 사용자에게 결제 확장 프로그램 목록을 수정할 권한이 있어야 합니다.
3. Edit(연필 버튼)를 클릭하여 설정 페이지를 엽니다. 페이지 상단의 라이선스 블록에 있는 License key 필드에 VibeFox 라이선스 키를 입력하고 Activate를 클릭합니다(라이선스 키 참조).
4. Xendit 시크릿 키를 붙여 넣고, Xendit Dashboard에서 웹훅 URL을 설정한 뒤 검증 토큰을 붙여 넣습니다(설정 참조).
5. Enable/Disable을 켜고 Save를 클릭합니다. 테스트 모드에서 테스트 주문을 한 뒤 실제 결제를 받으려면 Test Mode를 끕니다.
OpenCart 4
1. 관리자에서 Extensions > Installer로 이동하여 Upload를 클릭하고 wcp_xendit_payment_gateway.ocmod.zip 파일을 선택합니다. 파일 이름을 바꾸지 마십시오. OpenCart 4는 확장 프로그램 코드를 파일 이름에서 가져오므로, 이름을 바꾼 패키지는 작동하지 않습니다.
2. 패키지가 같은 페이지의 설치된 확장 프로그램 목록에 나타납니다. 그 옆의 Install(녹색 + 버튼)을 클릭하십시오.
3. Extensions > Extensions로 이동하여 유형 Payments를 선택합니다. VibeFox Xendit Payment Gateway를 찾아 Install(녹색 + 버튼)을 클릭한 다음 Edit(연필 버튼)를 클릭하십시오.
4. OpenCart 3의 3~5단계와 같이 라이선스 키, Xendit 키, 웹훅을 입력하십시오. 설정 페이지와 그 항목은 두 버전이 같습니다. 웹훅 URL만 다릅니다(웹훅 참조).
새로 설치하면 결제 수단은 꺼진 상태이고 테스트 모드는 켜진 상태로 시작합니다.
설정
모든 설정은 확장 프로그램 페이지에 있습니다: Extensions > Extensions > Payments > VibeFox Xendit Payment Gateway > Edit. 섹션은 왼쪽에 나열되며, 목록 아래의 Save 버튼이 페이지 전체를 저장합니다. 확장 프로그램을 수정할 권한이 없으면 페이지에 설정은 보이지만 저장할 수는 없습니다.
설정 위의 상자에는 현재 활성 모드가 표시됩니다: TEST MODE(청구서는 테스트 시크릿 키로 생성되며 실제 요금은 청구되지 않음) 또는 LIVE MODE(청구서는 운영 시크릿 키로 생성되며 고객에게 요금이 청구됨). 활성 모드의 시크릿 키가 없거나 접두사가 잘못된 경우(이때 결제 수단은 체크아웃에서 숨겨짐), 그리고 활성 모드의 웹훅 검증 토큰이 비어 있는 경우(Xendit 알림이 거부되어, 고객이 쇼핑몰로 돌아와야만 주문이 업데이트됨)에는 페이지가 경고합니다.
저장할 때 Title은 비어 있으면 안 되고(최대 128자), Sort Order는 정수여야 합니다(음수 허용). Total은 0 이상의 숫자여야 하며, 지역 구역과 주문 상태가 존재해야 합니다. 그렇지 않으면 아무것도 저장되지 않으며 페이지가 해당 항목을 표시합니다.
Xendit
Enable/Disable: Enable Xendit은 결제 수단을 켜거나 끕니다. 기본값: off.
Title: 고객이 체크아웃에서 보는 결제 수단 이름입니다. 주문에 저장되는 결제 수단 이름이기도 합니다. 기본값: Xendit. 필수 항목이며 최대 128자입니다.
Description: Confirm Order 단계에서 확인 버튼 위에 고객에게 표시되는 문구입니다. 기본값: Pay with virtual accounts, e-wallets, QR codes, retail outlets or cards via Xendit.
Sort Order: 체크아웃의 결제 수단 중 Xendit의 위치입니다. 비워 두거나 정수를 입력하십시오.
Geo Zone: 선택한 지역 구역의 결제 주소에 대해서만 Xendit을 제공합니다. 기본값: All zones. 지역 구역은 System > Localisation > Geo Zones에서 설정합니다.
Total: Xendit을 제공하기 전에 주문이 도달해야 하는, 쇼핑몰 기본 통화 기준의 체크아웃 총액입니다. 비워 두면 모든 금액에 대해 Xendit을 제공합니다.
API 키
Xendit Dashboard > Settings > Developers > API keys(해당 섹션에 링크가 있음)에서 Money-in(청구서)에 대한 쓰기 권한이 있는 시크릿 API 키를 만듭니다. 테스트 모드에서 한 번, 운영 모드에서 한 번 만드십시오. 키에 따라 청구서가 생성되는 곳이 결정됩니다. 저장할 때 해당 필드의 접두사로 시작하지 않는 키는 저장되지 않으며, 페이지에 예를 들어 Test secret key was not saved: it must start with xnd_development_가 표시됩니다. 다른 설정은 저장됩니다.
Test Mode: 테스트 시크릿 키로 청구서를 생성하므로 실제 돈은 청구되지 않습니다. 기본값: on. 끄면 운영 시크릿 키로 실제 결제를 받습니다. 켜져 있는 동안 고객은 Confirm Order 단계에서 Test mode: no real money is charged.를 보게 됩니다.
Test Secret Key: Xendit 테스트 모드의 시크릿 키입니다. xnd_development_로 시작합니다.
Live Secret Key: Xendit 운영 모드의 시크릿 키입니다. xnd_production_으로 시작합니다.
저장된 키와 토큰은 다시 표시되지 않습니다. 필드는 비어 있고 Saved — leave empty to keep it.를 표시합니다. 값을 바꾸고 싶을 때만 새 값을 입력하십시오. 저장된 값을 삭제하려면 필드 아래의 Clear the saved value를 체크한 뒤 Save를 클릭합니다.
웹훅
웹훅은 청구서가 결제되었음을 쇼핑몰에 알려 줍니다. Xendit Dashboard > Settings > Developers > Webhooks(해당 섹션에 링크가 있음)에서 테스트 모드와 운영 모드 모두에 대해 Webhook URL에 표시된 URL을 Invoices > Invoice paid로 설정합니다. 원하면 Invoice expired에도 설정할 수 있습니다. URL은 OpenCart 3에서 https://your-store/index.php?route=extension/payment/wcp_xendit_payment_gateway/webhook, OpenCart 4에서 https://your-store/index.php?route=extension/wcp_xendit_payment_gateway/payment/wcp_xendit_payment_gateway.webhook과 같은 모습이며, OpenCart 설치의 storefront 주소로 만들어집니다. 설정에 표시된 그대로 정확히 복사하십시오. 인터넷에서 접근할 수 있어야 합니다.
그런 다음 각 모드의 Webhook verification token을 Xendit Dashboard에서 해당 필드로 복사합니다. Xendit은 이 토큰을 x-callback-token 헤더로 보냅니다. 청구서가 생성된 모드의 토큰이 없는 알림은 거부됩니다. 토큰은 알림이 Xendit에서 왔다는 것만 증명합니다. 청구서의 상태, 금액, 통화는 항상 해당 모드의 시크릿 키로 Xendit API에서 다시 읽어옵니다. 웹훅이 없으면 주문은 고객이 결제 후 쇼핑몰로 돌아왔을 때에만 확인됩니다.
Test Webhook Verification Token: Xendit 테스트 모드의 웹훅 검증 토큰입니다.
Live Webhook Verification Token: Xendit 운영 모드의 웹훅 검증 토큰입니다.
결제
Invoice Description: Xendit 청구서에 표시되는 설명입니다. {order_id}와 {order_number}(둘 다 OpenCart 주문 번호)와 {site_name}(쇼핑몰 이름) 자리표시자를 사용할 수 있습니다. HTML은 제거되고 텍스트는 255자로 잘립니다. 기본값: Order #{order_id}.
Order Status After Payment: 확인된 결제가 한 번의 상태 변경으로 설정할 상태입니다.
OpenCart는 Confirm Order 단계에서 상태 없이(누락된 주문으로) 주문을 생성합니다. 주문은 Xendit이 API를 통해 결제를 확인한 후에야 상태를 받습니다. 아래의 각 필드에는 OpenCart 주문 상태가 나열됩니다.
Paid Order Status: Processing으로 확인된 결제 후의 상태입니다. 기본값: Processing.
Complete Order Status: Completed로 확인된 결제 후의 상태입니다. 기본값: Complete.
On Hold (Review) Status: 청구서가 주문과 다른 금액 또는 통화로 결제되었을 때 사용됩니다(청구서 생성 후 장바구니가 변경되었거나 부분 결제인 경우). 메모에 이유가 설명됩니다. 기본값: Pending, OpenCart에는 On hold 상태가 없기 때문입니다. System > Localisation > Order Statuses에서 자체 상태를 만들고 여기에서 선택할 수 있습니다.
고급
Debug Log: API 요청과 웹훅을 OpenCart 로그 폴더(storage/logs)의 xendit_p_debug.log.php에 기록합니다. 이 파일은 웹에서 열 수 없으며, 5MB에 도달하면 xendit_p_debug.old.log.php로 옮겨집니다. 이 설정이 꺼져 있어도 오류와 경고는 항상 기록됩니다. API 키, 토큰, 고객 데이터는 기록되지 않습니다. 기본값: off.
Log: 로그의 크기와 최신 항목을 보여 줍니다. Clear log를 클릭하면 비워집니다.
Delete Data on Uninstall: 켜져 있으면 확장 프로그램을 제거할 때 게이트웨이 설정과 로그가 삭제됩니다. 주문 데이터(주문의 Xendit 청구서 ID)는 항상 보존됩니다. 기본값: off.
가져오기 / 내보내기
Export: Download JSON은 설정을 JSON 파일로 저장합니다. 시크릿 키와 토큰은 내보내지지 않습니다.
Import: 이전에 내보낸 JSON을 붙여 넣고 Import를 클릭하면 설정이 복원됩니다. 저장된 시크릿 키와 토큰은 그대로 유지됩니다.
체크아웃
체크아웃 통화가 IDR, PHP, VND, THB, MYR, USD 또는 SGD이면 결제 수단이 표시됩니다. 고객은 Payment Method 단계에서 이를 선택합니다(기본값 Xendit). Confirm Order 단계에서 고객은 설명 문구를 봅니다. OpenCart는 이 단계에서 아직 상태가 없는 상태로 주문을 생성합니다. 고객이 Confirm Order를 클릭하면, 확장 프로그램은 주문 통화로 된 주문 총액에 대해 Xendit 청구서를 만들고 고객을 Xendit 청구서 페이지로 보냅니다. IDR과 VND 금액은 Xendit이 이 통화들의 소수를 허용하지 않으므로 정수로 반올림됩니다. 고객의 이메일 주소는 Xendit에 전달됩니다. 청구서 페이지에서 고객은 Xendit 계정에서 이 통화에 대해 활성화된 결제 채널 중 하나로 결제합니다. 예를 들어 가상 계좌, 전자지갑, QR 코드, 소매점, 카드 등이 있습니다. OpenCart 4에서는 고객이 결제 수단 블록의 Choose 버튼을 눌러 Payment method options 창에서 결제 수단을 고르고, 체크아웃 페이지 하단에서 Confirm Order를 클릭합니다.
결제 후 고객은 쇼핑몰로 돌아옵니다. 주문은 Xendit이 확인한 후에야 결제 완료로 표시됩니다. 웹훅을 통해서 확인되거나, 고객이 돌아올 때 서버가 Xendit API에 요청하여 확인합니다. 그런 다음 주문은 일반적인 OpenCart 방식으로 상태를 받고, 일반 주문 이메일과 재고 업데이트가 이루어지며, 고객은 OpenCart 주문 성공 페이지를 봅니다. Xendit이 아직 결제를 확인하지 않은 경우, Payment confirmation 페이지에 Your payment has not been confirmed by Xendit yet. Your order will be confirmed as soon as Xendit confirms it — please do not pay again.가 표시되며, Check again과 Back to checkout 버튼이 나타납니다. 웹훅은 도착하는 즉시 주문 상태를 설정합니다.
청구서가 실패하거나 만료되면 Xendit은 고객을 되돌려 보냅니다. 확장 프로그램은 먼저 청구서를 확인하고(다른 탭에서 결제되었을 수 있음), 그다음 더 이상 결제할 수 없도록 만료시킵니다. 고객은 The Xendit payment was not completed. You can try again or choose another payment method.와 함께 체크아웃으로 돌아갑니다. 장바구니는 유지됩니다.
OpenCart 3은 Confirm Order 단계가 표시될 때마다 새 주문을 만들고, OpenCart 4는 체크아웃의 주문을 하나로 유지하고 업데이트하므로, 실패하거나 만료된 청구서 후 다음 Confirm Order는 같은 주문에 대해 새 청구서를 만듭니다. 같은 장바구니의 다른 주문이 이미 결제되었다면, 고객은 바로 성공 페이지로 이동하며 이중으로 청구되지 않습니다. 주문 총액, 통화, 모드가 바뀌지 않았고 이 주문의 열린 청구서가 아직 최소 5분 이상 유효하면, 고객은 같은 청구서로 보내집니다. 그렇지 않으면 이전 청구서를 먼저 만료시킨 뒤 새 청구서를 만들므로, 한 장바구니에 열린 청구서가 두 개 있는 일은 없습니다. 이전 청구서가 이미 결제되었다면 새 결제를 만드는 대신 그 결제를 확인합니다.
OpenCart 4에서 체크아웃의 주문이 스토어에 의해 그 사이 닫혔거나(예: 취소 또는 환불), 이미 결제되었더라도 그 뒤 카트가 바뀌었다면(수량 변경 포함), 고객은 Your previous order is already closed or paid. Please confirm the order again: the cart will be paid with a new order.가 표시된 체크아웃으로 돌아가며, 다음 Confirm Order에서 새 주문이 결제됩니다. OpenCart 4에서는 이 메시지, 완료되지 않은 결제에 대한 메시지, 그리고 We could not match this payment to an order. If you were charged, please contact us.가 체크아웃 페이지 위에 표시됩니다.
Xendit이 결제를 시작할 수 없으면, 고객은 버튼 위에 짧은 메시지가 표시된 채로 Confirm Order 단계에 머무릅니다. 예를 들어 Xendit is temporarily unavailable. Please try again in a few minutes or choose another payment method., 계정에서 해당 통화가 허용되지 않는다는 메시지, 또는 주문 총액이 Xendit의 금액 한도를 벗어났다는 메시지가 나옵니다. 기술적인 이유는 로그에 기록됩니다. 총액이 0인 주문은 Xendit으로 결제할 수 없습니다.
웹훅과 고객의 복귀도 쇼핑몰이 유지 보수 모드에 있는 동안 작동합니다. OpenCart 3은 결제 확장 프로그램의 요청을 통과시키고, OpenCart 4에서는 확장 프로그램이 이를 위한 시작 액션을 추가합니다.
결제는 항상 Xendit 페이지에서 이루어집니다. 이 확장 프로그램은 관리자에서의 환불, 저장된 카드, 구독이나 정기 결제, 체크아웃 페이지의 카드 또는 전자지갑 입력란, 분리된 승인 및 캡처, xenPlatform 하위 계정을 지원하지 않습니다.
주문
주문 상태
상태 없음(누락된 주문): 고객이 Xendit으로 이동했지만 결제하지 않았거나, Xendit이 아직 결제를 확인하지 않은 경우입니다. Sales > Orders에서 이러한 주문은 Order Status 필터를 Missing Orders로 설정했을 때에만 표시됩니다.
Paid Order Status 또는 Complete Order Status(기본값 Processing 또는 Complete): 결제가 확인되었습니다. 상태는 Order Status After Payment를 따릅니다. 메모에는 청구서 ID, 결제 금액, 결제 채널, 모드가 표시됩니다.
On Hold (Review) Status(기본값 Pending): 결제된 청구서가 주문 총액이나 통화와 맞지 않았거나, 총액보다 적은 금액이 결제되었습니다(예: 청구서 생성 후 장바구니가 변경됨). 메모에 이유가 설명됩니다. Xendit Dashboard에서 결제를 확인한 뒤 주문을 처리하거나 결제를 환불하십시오. 같은 주문의 다른 청구서가 나중에 올바른 금액으로 결제되면, 주문은 결제 완료 상태로 바뀝니다.
취소되었거나 환불된 것과 같이 다른 상태의 주문에 대해 청구서가 결제되면, 주문 상태는 바뀌지 않습니다. 메모는 Xendit Dashboard에서 결제를 환불하거나 주문을 수동으로 복원하라고 요청합니다. 이미 결제된 주문이나 이미 결제된 장바구니의 다른 주문에 대해 두 번째 청구서가 결제되면, 주문은 바뀌지 않으며 결제 완료된 주문의 메모가 Xendit Dashboard에서 중복 결제를 환불하라고 요청합니다.
메모는 고객에게 보이지 않는 주문 History의 항목입니다. 메모는 Xendit이라는 단어로 시작합니다.
VibeFox Xendit Payment Gateway 탭
Sales > Orders에서 Xendit으로 결제된 주문을 엽니다. 주문 페이지 하단, History와 Additional 옆에 있는 VibeFox Xendit Payment Gateway 탭에는 Xendit invoice, Mode(테스트 결제에는 Test 라벨 표시), 결제 Status, Invoices of this order and its cart 표(날짜, 주문, 청구서 ID, 외부 ID, 모드, 금액, 결제된 금액, 상태, 결제 채널), 그리고 주문의 Payment notes가 표시됩니다. 이 탭은 확장 프로그램에 접근 권한이 있는 사용자에게 표시됩니다.
환불
환불은 쇼핑몰에서 Xendit으로 전송되지 않습니다. Xendit Dashboard에서 결제를 환불하고(탭에 표시된 청구서 ID를 검색), 그다음 OpenCart에서 주문 상태를 변경하십시오. Sales > Returns의 상품 반품은 Xendit을 통해 돈을 돌려주지 않습니다.
라이선스 키
이 확장 프로그램은 vibefox.net에서 받은 VibeFox 라이선스 키로 작동합니다. License — VibeFox Xendit Payment Gateway 라이선스 블록은 Extensions > Extensions > Payments > VibeFox Xendit Payment Gateway > Edit 페이지에서 설정 위에 있는 첫 번째 블록입니다. 키를 License key에 붙여 넣고 Activate를 클릭하십시오. 그 후 블록에는 키가 마스킹되어 표시되고, 상태(예: 라이선스 유효 기한과 도메인), 그리고 Check now(상태 다시 확인), Change key(다른 키 입력), Remove key(이 쇼핑몰에서 키 제거) 버튼이 나타납니다. 그 아래에는 Product: opencart-payment-xendit 줄과 Manage licenses and domains in your account 링크가 있으며, 이 링크는 vibefox.net 계정을 엽니다. 확장 프로그램에 대한 Modify 권한이 있는 관리자 사용자만 키를 변경할 수 있습니다. 블록의 텍스트는 관리자 언어를 따릅니다(영어와 러시아어 포함).
키가 허용되지 않으면 블록에 그 이유가 표시됩니다. 예: Key not found, This key belongs to another product, Domain limit reached 또는 날짜와 함께 표시되는 License expired on. 쇼핑몰 주소를 변경한 후나 계정에서 도메인 슬롯을 해제한 후에는 Check now를 클릭하십시오. 라이선스 서버에 연결할 수 없으면 확장 프로그램은 마지막으로 확인된 상태로 계속 작동합니다.
키 하나는 도메인 하나에서만 작동합니다. 도메인은 OpenCart 설정의 쇼핑몰 주소입니다. 쇼핑몰에서 키를 제거해도 도메인 슬롯은 해제되지 않습니다. vibefox.net 계정에서 슬롯을 해제하십시오.
활성 키가 없으면 체크아웃에서 고객에게 Xendit이 표시되지 않습니다. 결제가 시작되더라도 고객에게는 This payment method is not available. Please choose another one.가 표시됩니다. 같은 브라우저에서 관리자 화면에 로그인한 관리자 사용자에게는 결제 수단이 쇼핑몰에 (unlicensed — visible to admins only) 표시와 함께 계속 보이므로, 키를 구매하기 전에 확장 프로그램을 설정하고 테스트할 수 있습니다. OpenCart 4에서는 이 미리보기를 사용할 수 없습니다. 쇼핑몰은 관리자 로그인을 인식하지 못하므로, 활성 키가 없으면 결제 수단이 모든 사람에게 숨겨집니다. Edit 페이지를 한 번 열면 관리자 Dashboard에 알림이 나타납니다. ×로 닫으면 7일 동안 숨겨집니다. 기존 주문은 영향을 받지 않습니다. 이미 시작된 결제는 계속 확인됩니다.
라이선스가 만료되어도 확장 프로그램은 계속 작동하지만, 업데이트와 지원을 받으려면 갱신이 필요합니다. 관리자 Dashboard 또는 Edit 페이지를 열면 상태가 자동으로 다시 확인됩니다. 키를 입력한 후 처음 14일 동안은 하루에 한 번, 그 후에는 일주일에 한 번입니다. cron 작업은 필요하지 않습니다. 확장 프로그램을 제거하면 라이선스 키와 라이선스 상태가 항상 삭제됩니다.
문제 해결
체크아웃에 Xendit이 나타나지 않음: 라이선스가 활성 상태인지, Enable/Disable이 켜져 있는지, 현재 모드에 올바른 접두사를 가진 시크릿 키가 있는지(테스트 모드에서는 xnd_development_로 시작하는 Test Secret Key, 운영 모드에서는 xnd_production_으로 시작하는 Live Secret Key), 그리고 체크아웃 통화가 IDR, PHP, VND, THB, MYR, USD 또는 SGD인지 확인하십시오. 키가 없거나 잘못되면 설정 페이지에 경고가 표시됩니다. 또한 결제 주소가 선택한 Geo Zone에 있는지, 주문이 설정에 있는 Total에 도달하는지도 확인하십시오.
결제는 되었지만 주문에 상태가 없음: 웹훅이 작동하지 않습니다. 사용하는 모드(테스트 또는 운영)의 Xendit Dashboard에서 Webhook URL에 표시된 URL이 Invoice paid에 설정되어 있는지, 그 모드의 검증 토큰이 해당 필드에 저장되어 있는지 확인하십시오. Xendit Dashboard는 각 웹훅에 대한 쇼핑몰의 응답을 보여 줍니다. 고객이 결제 후 쇼핑몰로 돌아오면 주문도 상태를 받습니다.
Webhook answers Webhook verification token is not configured: 두 검증 토큰 모두 설정되지 않았습니다. 토큰을 설정에 붙여 넣으십시오.
Webhook answers Unauthorized: Xendit이 보낸 토큰이 설정의 어떤 토큰과도 일치하지 않습니다. 올바른 모드의 토큰을 다시 복사하십시오.
Webhook answers Token does not match the mode of this invoice: 청구서가 다른 모드에서 생성되었습니다. 테스트 알림은 운영 결제를 절대 확인하지 않으며, 그 반대도 마찬가지입니다. 주문이 결제된 모드에서 웹훅과 토큰을 설정하십시오.
Webhook answers Ignored: not an invoice of this store: 청구서가 이 쇼핑몰에서 생성된 것이 아닙니다. 예를 들어 같은 Xendit 계정의 다른 연동이 생성한 것입니다. Xendit Dashboard의 Test 버튼도 이 응답을 받으며, 이는 URL과 토큰이 작동함을 확인해 줍니다. Ignored: unknown order와 Ignored: unknown invoice는 해당 주문이나 청구서를 이 쇼핑몰이 알지 못한다는 뜻입니다.
Webhook answers Temporary error: 청구서를 확인하기 위해 Xendit API에 연결할 수 없었거나, 청구서 모드의 시크릿 키가 없거나, 장바구니가 같은 순간 다른 요청에 의해 업데이트되고 있었습니다. Xendit은 웹훅을 다시 시도합니다. 두 모드에서 결제를 시작했다면 두 시크릿 키가 모두 설정되어 있는지 확인하고, 이유를 보려면 Debug Log를 켜십시오.
브라우저에서 웹훅 URL이 Method not allowed를 표시함: 정상입니다. 이 URL은 Xendit의 요청만 받습니다.
키가 저장되지 않음: 값이 해당 필드의 접두사로 시작하지 않습니다. 테스트 키는 xnd_development_로, 운영 키는 xnd_production_으로 시작합니다.
고객에게 This payment method is temporarily unavailable가 표시됨: Xendit이 요청을 거부했습니다. 예를 들어 시크릿 키가 잘못되었거나 Money-in(청구서)에 대한 쓰기 권한이 없는 경우입니다. 확장 프로그램 페이지의 Log 필드를 확인하십시오. 청구 정보에 관한 메시지는 Xendit이 요청 데이터(예: 이메일)를 받아들이지 않았다는 뜻입니다.
고객에게 A payment for this order was already received by Xendit and is being reviewed가 표시됨: 이 장바구니의 이전 청구서가 결제되었지만, 주문은 아직 확인되지 못했습니다. Xendit Dashboard와 로그에서 결제를 확인하십시오.
고객에게 We could not match this payment to an order가 표시됨: Xendit의 반환 링크가 이 쇼핑몰의 주문에 속하지 않거나, 청구서를 주문과 연결할 수 없었습니다. Xendit Dashboard와 로그에서 결제를 확인하십시오.
결제 후 주문이 검토 상태임: VibeFox Xendit Payment Gateway 탭의 메모를 읽으십시오. 결제된 금액이나 통화가 주문과 달랐습니다. 주문을 처리하거나 Xendit Dashboard에서 결제를 환불하십시오.
개발자를 위해 말씀드리면, 이 확장 프로그램은 청구서 요청, 통화 목록, 통화별 소수점 자릿수를 변경할 수 있도록 OpenCart 이벤트 xendit_p_invoice_request, xendit_p_supported_currencies, xendit_p_currency_decimals를 발생시킵니다.
제거
Extensions > Extensions로 이동하여 유형 Payments를 선택하고 VibeFox Xendit Payment Gateway 옆의 Uninstall(빨간 − 버튼)을 클릭합니다. 이 확장 프로그램의 라이선스 키와 라이선스 상태는 항상 제거됩니다. OpenCart는 확장 프로그램 자체 설정을 항상 제거합니다. Enable/Disable, Sort Order, Geo Zone, Total, 그리고 Payment 섹션의 주문 상태입니다. 이 설정들은 재설치 시 기본값으로 돌아갑니다. OpenCart 4에서는 확장 프로그램의 이벤트와, 유지 보수 모드에서 웹훅과 고객의 복귀를 통과시키는 시작 액션도 제거됩니다. Delete Data on Uninstall이 켜져 있으면 나머지 게이트웨이 설정(제목, 설명, 테스트 모드, 키, 토큰, 청구서 설명, 결제 후 주문 상태, 로깅)과 로그가 제거됩니다. 꺼져 있으면 나중에 재설치할 때를 위해 유지됩니다. 주문의 Xendit 청구서 데이터는 항상 보존됩니다. 기존 주문은 결제 메모를 유지합니다.
OpenCart 4에서 확장 프로그램의 파일까지 제거하려면, 제거 후 Extensions > Installer로 이동하여 설치된 확장 프로그램 목록에서 VibeFox Xendit Payment Gateway 옆의 Uninstall(주황색 − 버튼)을 클릭한 다음, 업로드한 패키지를 제거하려고 Delete(빨간색 휴지통 버튼)를 클릭하십시오.
Xendit은 각 소유자의 상표입니다. 이 확장 프로그램은 Xendit과 제휴하거나 Xendit의 승인을 받은 것이 아닙니다.
