/obydul
← Back
◆ ProjectsPublic

2019 · Solo build, maintainer

LaraSkrill

Open-source Laravel package for taking payments and refunds through Skrill. 206K+ installs on Packagist, used by 940+ projects on GitHub.

PHPLaravelSkrill APIComposer
Highlights
  • →206K+ installs on Packagist
  • →Used by 940+ projects on GitHub
  • →Still installed about 9.5K times a month

Context

Skrill is a payment provider with its own session and refund APIs. LaraSkrill wraps them in a small Laravel package, so an app can take and refund Skrill payments without writing the HTTP calls itself. First release: March 2019.

What it does

  • Payments. Build a request, get a Skrill session ID and redirect the customer to the Skrill payment page.
  • Refunds. Prepare and run refunds through Skrill's MQI/API.
  • Status callbacks. Pass your IPN URL so Skrill tells your app when a payment goes through.
  • Custom fields. Attach your own data like invoice or customer IDs and get it back in the callback.

Install is one line:

composer require obydul/laraskrill

Laravel auto-discovers the service provider, so there is nothing else to register.

Payment flow

flowchart LR APP[Laravel app] -->|"SkrillRequest"| SC[SkrillClient] SC -->|"generateSID()"| SK[(Skrill API)] SK -->|"session ID"| SC SC -->|"paymentRedirectUrl()"| USER[Customer on Skrill page] USER -->|"pays"| SK SK -->|"status_url callback"| APP

Refunds follow the same shape: prepareRefund() then doRefund().

Outcome

  • 206K+ total installs on Packagist and about 9.5K installs a month years after release.
  • 940+ projects on GitHub depend on it.
  • It supports Laravel 7 and up.