Docs

Testing The Payment Journey

Validate hosted checkout and invoice reconciliation before enabling live payments.

Prepare A Safe Test

  • Use an isolated WHMCS test environment and Xendit Test Secret Key.
  • Enable Test Mode and verify the key is actually a test key.
  • Create a whole-rupiah IDR test invoice with a positive outstanding balance.
  • Use Xendit’s current official test payment instructions; never use a real card to simulate a sandbox test.

Follow The Journey

PAYMENT FLOW · ILLUSTRATION
  1. WHMCS Invoice: choose the Xendit payment method and open the payment link.
  2. Xendit Checkout: complete the supported test card journey on the hosted page.
  3. Server Callback: Xendit delivers the session event; the module retrieves and checks the session.
  4. WHMCS Result: confirm the invoice becomes Paid and the expected transaction ID is recorded.

This is a workflow illustration, not a screenshot of a payment or proof that a transaction was executed.

Acceptance Checklist

ScenarioExpected Result
Successful card testOne payment recorded; correct invoice, amount and currency; balance cleared.
Cancellation / failed attemptNo payment applied solely because the browser returns to WHMCS.
Session expiryExpiry logged; no payment added.
Repeat delivery of the same completed eventNo additional payment for the same payment ID; verify the transaction list.
Non-IDR invoiceGateway displays the IDR-only message before checkout.
Amount changed after session creationMismatch investigated; no forced payment application.
Callback temporarily unavailableInspect delivery status and reconcile after restoring the endpoint; no duplicate payment.

Go Live Deliberately

  1. Confirm merchant approval and card payment availability with Xendit.
  2. Use the Live Secret Key, disable Test Mode and verify the live callback settings.
  3. Enable the gateway for the intended customers only after testing passes.
  4. With an authorized payer, perform a controlled live payment and check the provider record, WHMCS transaction and invoice. Monitor the first payments for delayed or rejected callbacks.
Need help? Contact HERZA →

Search Documentation

Search across all products · Esc to close