SDKs
Official server-side SDKs for PHP and Node.js. Both wrap the Payments API and include webhook signature verification. API keys are secret — never use them in browser code.
PHP — fastaar/fastaar-php
composer require fastaar/fastaar-php
use Fastaar\FastaarClient;
use Fastaar\WebhookSignature;
$fastaar = new FastaarClient(getenv('FASTAAR_API_KEY'), 'https://fastaar.com');
// Create, retrieve, look up, list
$payment = $fastaar->createPayment([
'amount' => 500,
'invoice_id' => 'ORDER-42',
'success_url' => 'https://shop.example.com/thanks',
]);
$payment = $fastaar->getPayment($payment['id']);
$payment = $fastaar->findByInvoiceId('ORDER-42');
$payments = $fastaar->listPayments(['status' => 'completed']);
// Verify a webhook
$valid = WebhookSignature::verify($secret, $rawBody, $signatureHeader);
Errors throw Fastaar\FastaarException with ->errorType and
->statusCode. Requires PHP 8.1+ with ext-curl.
Node.js — @fastaar/sdk
npm install @fastaar/sdk
import { FastaarClient, verifyWebhookSignature, FastaarError } from '@fastaar/sdk';
const fastaar = new FastaarClient(process.env.FASTAAR_API_KEY, { baseUrl: 'https://fastaar.com' });
const payment = await fastaar.createPayment({ amount: 500, invoice_id: 'ORDER-42', success_url: 'https://shop.example.com/thanks' });
await fastaar.getPayment(payment.id);
await fastaar.findByInvoiceId('ORDER-42');
await fastaar.listPayments({ status: 'completed' });
// Verify a webhook (pass the RAW request body)
const valid = verifyWebhookSignature(secret, rawBody, signatureHeader);
Ships as an ES module (import); zero dependencies; requires Node 18+ (global
fetch). Errors throw FastaarError with errorType and
statusCode.
Other languages
The API is plain HTTPS + JSON — see the
integration guide
for raw cURL, and the webhooks page
for the signature scheme (HMAC-SHA256 over "{t}.{raw_body}").
WordPress and WHMCS plugins are on the roadmap.