Skip to content

Codestagero/laravel-netopia

Repository files navigation

@patrasq/dev-tools

laravel-netopia

Packagist Version (including pre-releases)

A fluent interface for interacting with Netopia's services.

Info

Database

It'll create a table named netopia_payments with the following configuration:

Schema::create('netopia_payments', function (Blueprint $table): void {
    $table->string('id')->primary();
    $table->string('status')->default(PaymentStatus::NotStarted->value);
    $table->decimal('amount');
    $table->string('currency', 6);
    $table->text('description')->nullable()->default(null);
    $table->nullableMorphs('billable');
    $table->json('shipping_address');
    $table->json('billing_address');
    $table->timestamps();
});

Routes

3 routes will be added, as follows:

Method URL Note
GET /netopia/pay/{payment} Todo
GET /netopia/success Todo
POST /netopia/ipn Todo

Get started

Paste into your terminal composer require codestage/laravel-netopia

Configuration

1. Environment variables

Add the following variables to your .env file:

NETOPIA_ENVIRONMENT=
NETOPIA_SIGNATURE=

2. Config file

Create a netopia.php under the app's config directory. It should return an array composed of

Parameter Value Info
environment env('NETOPIA_ENVIRONMENT', 'sandbox') The environment that Netopia is running in. Valid values are: 'sandbox', 'production'
signature env('NETOPIA_SIGNATURE') The merchant signature provided by Netopia.
currency env('NETOPIA_CURRENCY', 'EUR') The currency used for Netopia.
certificate_path array The paths to the certificate files used for Netopia requests.
certificate_path['public'] base_path('certificates/' . env('NETOPIA_PUBLIC_FILE', 'netopia.cer'))
certificate_path['secret'] base_path('certificates/' . env('NETOPIA_PUBLIC_FILE', 'netopia.cer'))