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
completionContextnever 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 decidessucceeded,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.
