Docs

Troubleshooting Xendit Payments

Use the displayed error, gateway log and provider delivery record to identify the failing step.

Checkout Problems

Message / SymptomCheck
Secret API Key is missingSave the intended Test or Live Secret Key in the activated gateway.
IDR invoices onlyUse an IDR invoice; this gateway does not convert unsupported currencies.
Return URL must use HTTPSReview the WHMCS System URL, reverse proxy and certificate.
Unable to start the Xendit paymentInspect the Payment Session API Error log for the HTTP code and provider error. Check credentials, permissions, card eligibility and connectivity.
Invalid payment session responseThe module did not receive the expected session ID or payment URL. Retain a sanitized response and contact support.
Gateway absent from checkoutCheck activation, Show on Order Form, module paths and applicable WHMCS settings.

Payment Succeeded But Invoice Is Unpaid

  1. Compare the invoice number with the Payment Session reference and payment ID.
  2. Check whether the Payment Session completed webhook reached the exact callback URL for this installation.
  3. Review WHMCS’s Gateway Log and Xendit’s delivery record. A browser return is insufficient.
  4. Look for verification failures, identity mismatch, currency mismatch or amount mismatch. Check whether the invoice balance changed after checkout began.
  5. Reconcile the provider’s verified payment against WHMCS before replaying an event or recording a manual payment. Avoid crediting the same payment twice.

Callback Responses

Status / LogMeaning And Action
405 Method Not AllowedGET is rejected; callbacks must use POST.
400 Invalid JSON / reference / mismatchCheck the event format and real session reference. A fabricated dashboard sample may not map to an invoice.
500 Gateway not configuredActivate and configure the gateway before accepting notifications.
500 Verification failedCheck API credentials, network access and the provider response; do not disable verification to force acceptance.
Amount MismatchCompare the verified amount with the current invoice balance, including fractional amounts or other payments.
Invoice Already Paid / duplicate transactionInspect the transaction record before taking action; do not add another payment.
200 Ignored / Not completedAcknowledged event without a payment update. Review the event and verified state.

Collect Useful Evidence

Send HERZA the module version, WHMCS/PHP versions, test/live environment, time and timezone, sanitized error and relevant invoice/session/payment identifiers through a private support channel. Remove API keys, card details, customer personal data and unrelated log entries. Logs can contain payment and customer details; never publish them unredacted.

Contact HERZA Support →

Need help? Contact HERZA →

Search Documentation

Search across all products · Esc to close