Download the PHP package rublex/laravel-payments without Composer
On this page you can find all versions of the php package rublex/laravel-payments. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-payments
Laravel Rublex Payments
A Laravel package for the Rublex Payment Gateway — accept crypto and fiat payments through a single, terminal-scoped API.
Wraps every endpoint of the Rublex Merchant API behind a Laravel facade, plus a fluent invoice builder.
Requirements
- PHP 8.1+
- Laravel 10+
guzzlehttp/guzzle ^7.0
Installation
Build Your Integration With an AI Assistant
Skip reading the rest of this doc. Paste the whole README.md of this package plus the prompt below into Claude / Cursor / Copilot — the assistant will interview you, then wire the SDK into your Laravel app end to end.
Tip: Once the assistant finishes Phase 2, ask it to add a queued reconciliation job and Pest tests for the webhook — both small, both worth having.
Configuration
Add to your .env:
Grab the terminal token from your Rublex merchant panel under Stores → Terminals → Token.
Invoice creation
Crypto pre-flight is mandatory. Before creating a crypto invoice you MUST call
getSupportedCurrencies()and use one of the returnedidvalues ascurrency_id. The terminal rejects IDs it has not approved with HTTP422. Do not hard-code IDs.
The package exposes two equivalent ways to create an invoice — pick whichever fits your code style.
Fluent builder
Crypto invoices always lock the coin on the merchant side. The payer-selected crypto flow (Smart Payments) has been retired.
| Method | Purpose |
|---|---|
crypto() / fiat() |
Start a builder chain. |
amount($n) |
Invoice amount. |
pick($id) |
Merchant locks the coin (crypto) or gateway (fiat). |
byPayer() |
Fiat only — hand the gateway choice over to the payer at checkout. |
callback($url) |
Override the default webhook URL. |
success($url) |
Where the hosted page sends the payer after a successful payment. |
failed($url) |
Where the hosted page sends the payer after a failed/cancelled/expired payment. |
returnTo($url) |
Shortcut: same URL for success and failure (recommended). |
lockRate($bool = true) |
Fiat only — locks or floats the FX rate. Defaults to locked. |
customer(email:, firstName:, lastName:, mobile:) |
Fiat only — pre-fill payer details. |
createInvoice([$extras]) |
Send the request; any extra keys are merged in. |
Array form
Each call returns the decoded Rublex envelope:
Redirect the buyer to data.invoice_url to finish payment.
success_url/failed_urlare UX, not proof of payment. Always reconcile against the webhook orgetCryptoInvoice()/getFiatInvoice().
Catalog & lookup
Payer-facing actions
These two endpoints are reached from the hosted invoice page and authenticate via the invoice_number itself — no Token header is sent.
Callbacks (webhooks)
Rublex posts to your callback_url on every status change:
Treat callbacks as untrusted. Always re-fetch the invoice via
getCryptoInvoice()/getFiatInvoice()before marking the order paid.
Invoice lifecycle
Resources
License
MIT — see LICENSE.md.