Skip to main content
Every enabled gateway begins with the same server-side UPG flow: discover availability, create a payment session with createOrder(), and make the final decision with completePayment(). This section covers only the extra behavior that belongs to a particular gateway.
This is AvraAPI platform documentation, not PHP-only documentation. Each gateway page has PHP SDK, Laravel SDK, and Node.js SDK tabs. Laravel SDK 1.2.0 exposes the released PHP payment service through AvraAPI::payment(). Node.js SDK 1.2.0 exposes the matching server-only typed lifecycle through client.payment(), including the verified gateway-specific helpers shown on each page.

Capability matrix

Rules shared by every page

  • Call gateway helpers only from your backend. Project credentials, Vault secrets, and completionContext never belong in browser code.
  • Availability determines what a project can actually use. A card rendered in Payment Elements is not proof that the gateway, environment, tender, or UPG slot is valid at checkout time.
  • Preserve the exact provider callback material where a gateway requires it. Do not rebuild signed raw bodies from parsed JSON or browser data.
  • A browser return and an Elements event are only completion triggers. The final backend completePayment() result decides succeeded, pending, failed, cancelled, or review handling.
  • Use the explicit idempotency key and confirmation flags required by PayHere refund, capture, charge, subscription retry, and cancellation calls.

Choose the right guide

Start with the gateway selected by availability. If you only need a standard checkout, use Quick Setup and the common completion guide. Open a provider page only when you need its special tender, callback, lookup, or advanced-payment behavior.
Last modified on October 1, 2026