<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codearachnid / check-commerce-laravel-sdk example snippets
use CheckCommerce\CheckCommerceClient;
class CheckoutController
{
public function __construct(private CheckCommerceClient $checkCommerce) {}
public function store(Request $request)
{
$result = $this->checkCommerce->transactions->debit([...]);
}
}
use CheckCommerce\Laravel\Facades\CheckCommerce;
CheckCommerce::transactions()->debit([...]);
use CheckCommerce\Enums\PaymentType;
use CheckCommerce\Laravel\Facades\CheckCommerce;
$result = CheckCommerce::transactions()->debit([
'merchantNumber' => config('check-commerce.merchant_number'),
'amount' => 42.50,
'referenceNumber' => 'INV-1001',
'consumerInfo' => [
'name' => 'Jane Doe',
'bankAccountNumber' => '1234567890',
'bankRoutingNumber' => 121000248,
],
]);
$result->transactionId; // 123456789
$result->status?->value; // "Processed"
// Credits, voids and refunds work the same way:
$merchantNumber = config('check-commerce.merchant_number');
CheckCommerce::transactions()->credit([...]);
CheckCommerce::transactions()->void(['merchantNumber' => $merchantNumber, 'originalTransaction' => ['transactionId' => 123456789]]);
CheckCommerce::transactions()->refund(['merchantNumber' => $merchantNumber, 'originalTransaction' => ['referenceNumber' => 'INV-1001']]);
// Any rail, any transaction type:
CheckCommerce::transactions()->create([...], PaymentType::Rtp);
// Status lookups:
$status = CheckCommerce::transactions()->status(transactionId: 123456789);
if ($status->isDeclined()) {
report(new RuntimeException($status->processingFailure?->detail ?? 'Declined'));
}