PHPackages                             craftpay/sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. craftpay/sdk

ActiveLibrary[API Development](/categories/api)

craftpay/sdk
============

Official CraftPay SDK for Laravel — client API + hosting gateway integration

00PHP

Since Jun 27Pushed yesterdayCompare

[ Source](https://github.com/CraftPay-Solutions/CraftPay-SDK)[ Packagist](https://packagist.org/packages/craftpay/sdk)[ RSS](/packages/craftpay-sdk/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

CraftPay SDK for Laravel
========================

[](#craftpay-sdk-for-laravel)

Oficjalne SDK platformy [CraftPay](https://craftpay.pl) dla Laravel.

Dwa moduły w jednym pakiecie:

ModułDo czego**Client**Podłączenie własnej strony/aplikacji pod API CraftPay (lista pakietów, zamówienia, transakcje itp.)**Gateway**Dla paneli hostingowych — stanie się bramką płatności widoczną w CraftPay---

Instalacja
----------

[](#instalacja)

```
composer require craftpay/sdk
php artisan vendor:publish --tag=craftpay-config
```

---

Moduł Client — własna strona pod API CraftPay
---------------------------------------------

[](#moduł-client--własna-strona-pod-api-craftpay)

Użyj gdy chcesz wyświetlić sklep CraftPay na swojej stronie albo zbudować własny checkout.

### Konfiguracja `.env`

[](#konfiguracja-env)

```
CRAFTPAY_SHOP_UUID=uuid-twojego-sklepu
CRAFTPAY_API_SECRET=twoj-api-secret   # tylko dla endpointów /me i /transactions
```

### Użycie przez Facade

[](#użycie-przez-facade)

```
use CraftPay\Sdk\Client\Facades\CraftPay;

// Informacje o sklepie
$shop       = CraftPay::shop()->get();
$gateways   = CraftPay::shop()->gateways();
$topPlayers = CraftPay::shop()->topPlayers();
$recent     = CraftPay::shop()->recentPurchases();
$news       = CraftPay::shop()->announcements();

// Kategorie i paczki
$categories = CraftPay::categories()->all();
$packages   = CraftPay::categories()->packages(categoryId: 3);  // lub slug
$all        = CraftPay::packages()->all();

// Złożenie zamówienia
$order = CraftPay::orders()->create([
    'package_id' => 7,
    'nickname'   => 'Steve',
    'gateway'    => 'cashbill',
]);
// $order['payment_url'] — przekieruj kupującego tutaj

// Status zamówienia
$status = CraftPay::orders()->status($order['order_token']);

// Walidacja vouchera
$result = CraftPay::vouchers()->validate([
    'code'     => 'PROMO100',
    'nickname' => 'Steve',
]);

// Wymagają api_secret:
$me           = CraftPay::shop()->me();
$transactions = CraftPay::orders()->transactions(['page' => 1, 'status' => 'success']);
```

### Użycie przez Dependency Injection

[](#użycie-przez-dependency-injection)

```
use CraftPay\Sdk\Client\CraftPayClient;

class ShopController extends Controller
{
    public function __construct(private CraftPayClient $craftpay) {}

    public function index()
    {
        $packages = $this->craftpay->packages()->all();
        return view('shop.index', compact('packages'));
    }
}
```

### Obsługa błędów

[](#obsługa-błędów)

```
use CraftPay\Sdk\Client\Exceptions\CraftPayException;
use CraftPay\Sdk\Client\Exceptions\ShopNotFoundException;

try {
    $shop = CraftPay::shop()->get();
} catch (ShopNotFoundException $e) {
    // Sklep nie istnieje lub jest wyłączony
} catch (CraftPayException $e) {
    // $e->errorCode — kod błędu z API
    // $e->getMessage() — wiadomość
    // $e->getCode() — HTTP status
}
```

---

Moduł Gateway — dla hostingów
-----------------------------

[](#moduł-gateway--dla-hostingów)

Użyj gdy chcesz żeby Twój hosting pojawił się jako dostępna bramka płatności w CraftPay.

### Jak to działa

[](#jak-to-działa)

```
CraftPay  ──POST /api/craftpay/payments/create──▶  Twój panel
                                                        │
                                                   (przetwarzasz płatność)
                                                        │
Twój panel ──POST {notify_url}──────────────────▶  CraftPay

```

### Konfiguracja `.env`

[](#konfiguracja-env-1)

```
CRAFTPAY_GATEWAY_ENABLED=true
CRAFTPAY_GATEWAY_API_KEY=klucz-ustalony-z-craftpay-adminem
```

### Implementacja drivera

[](#implementacja-drivera)

Stwórz klasę implementującą `PaymentDriverInterface`:

```
// app/Services/CraftPayDriver.php
use CraftPay\Sdk\Gateway\Contracts\PaymentDriverInterface;
use CraftPay\Sdk\Gateway\Data\CreatePaymentRequest;
use CraftPay\Sdk\Gateway\Data\PaymentResult;

class CraftPayDriver implements PaymentDriverInterface
{
    public function createPayment(CreatePaymentRequest $request): PaymentResult
    {
        // Stwórz płatność w swoim systemie
        $payment = MyPaymentSystem::create([
            'amount'      => $request->amount,       // np. "10.00"
            'currency'    => $request->currency,     // "PLN"
            'description' => $request->description,
            'return_url'  => $request->returnUrl,
        ]);

        // Zwróć ID płatności i URL do którego ma trafić kupujący
        return new PaymentResult(
            paymentId:  (string) $payment->id,
            paymentUrl: $payment->checkout_url,
        );
    }
}
```

Zarejestruj driver w `AppServiceProvider`:

```
use CraftPay\Sdk\Gateway\Contracts\PaymentDriverInterface;

public function register(): void
{
    $this->app->bind(PaymentDriverInterface::class, CraftPayDriver::class);
}
```

Uruchom migrację:

```
php artisan vendor:publish --tag=craftpay-migrations
php artisan migrate
```

### Powiadamianie CraftPay o płatności

[](#powiadamianie-craftpay-o-płatności)

Gdy kupujący opłaci zamówienie (np. w Twoim webhookу od Przelewy24):

```
use CraftPay\Sdk\Gateway\Facades\CraftPayGateway;

// Płatność udana
CraftPayGateway::notifyPaid(
    orderId:   $request->input('order_id'),   // UUID z CraftPay
    paymentId: $internalPaymentId,            // Twoje wewnętrzne ID płatności
);

// Płatność nieudana / anulowana
CraftPayGateway::notifyFailed($orderId);

// Sprawdzenie stanu zamówienia
$order = CraftPayGateway::findOrder($orderId);
```

### Endpoint wystawiony automatycznie

[](#endpoint-wystawiony-automatycznie)

Po włączeniu (`CRAFTPAY_GATEWAY_ENABLED=true`) SDK automatycznie rejestruje:

```
POST /api/craftpay/payments/create

```

Podaj ten endpoint adminom CraftPay razem z kluczem API (`CRAFTPAY_GATEWAY_API_KEY`).

---

Wymagania
---------

[](#wymagania)

- PHP 8.2+
- Laravel 10 / 11 / 12

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance65

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/216913804?v=4)[kahuut](/maintainers/kahuut)[@Kahuut](https://github.com/Kahuut)

---

Top Contributors

[![k4huu](https://avatars.githubusercontent.com/u/95440398?v=4)](https://github.com/k4huu "k4huu (1 commits)")

### Embed Badge

![Health badge](/badges/craftpay-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/craftpay-sdk/health.svg)](https://phpackages.com/packages/craftpay-sdk)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

93452.6k6](/packages/botman-driver-telegram)[pixelant/pxa-social-feed

Add Facebook, Instagram, and Twitter feeds to your site.

2349.3k](/packages/pixelant-pxa-social-feed)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
