analogic/lightning-charge-client-php7

PHP7 client for the Lightning Charge REST API

0.1.4 2018-03-27 12:04 UTC

This package is auto-updated.

Last update: 2024-04-18 22:29:17 UTC


README

PHP client for the Lightning Charge REST API.

Install

$ composer require elementsproject/lightning-charge-client-php

Use

<?php
require_once 'vendor/autoload.php';

// Initialize client
$charge = new \LightningCharge\Client('http://localhost:8009', '[TOKEN]');

// Create invoice
$request = new \LightningCharge\InvoiceRequest();
$request->setMilliSatoshi(50);
$request->setMetadata(['customer' => [ 'customer' => 'Satoshi', 'products' => [ 'potato', 'chips']]]);
$invoice = $charge->invoice($request);

tell_user("to pay, send ".$invoice->getMilliSatoshi()." milli-satoshis with rhash ".$invoice->getRhash().", or copy the BOLT11 payment request: ".$invoice->getPayreq());


// Create invoice denominated in USD
$request = new \LightningCharge\InvoiceRequest();
$request->setCurrency('USD');
$request->setAmount(0.15);
$invoice = $charge->invoice($request);

// Fetch invoice by id
$invoice = $charge->fetch('m51vlVWuIKGumTLbJ1RPb');

// Fetch all invoices
$invoices = $charge->fetchAll();

// Register web hook
$charge->registerHook('m51vlVWuIKGumTLbJ1RPb', 'http://my-server.com/my-callback-url');

TODO: document wait

Test

$ composer install
$ mkdir /tmp/data
$ docker run -u `id -u` -v /tmp/data:/data -p 9112:9112 \
             -e API_TOKEN=mySecretToken \
             shesek/lightning-charge
$ CHARGE_URL=http://api-token:mySecretToken@localhost:9112 vendor/bin/phpunit test

License

MIT