setFacade('payroll')->setToken('your token goes here'); //this is a special api that requires a explicit payroll relationship with BitPay $instruction1 = new \BTCPayServer\PayoutInstruction(); $instruction1->setAmount(100)->setAddress('2NA5EVH9HHHhM5RxSEWf54gP4v397EmFTxi')->setLabel('Paying Chris'); $payout = new \BTCPayServer\Payout(); $payout->setEffectiveDate($time)->setAmount(100)->setCurrency(new \BTCPayServer\Currency('USD'))->setPricingMethod('bitcoinbestbuy')->setReference('a reference, can be json')->setNotificationEmail('an email goes here')->setNotificationUrl('https://example.com/ipn.php')->setToken($token)->addInstruction($instruction1); //this is your private key in some form (see GetKeys.php) $storageEngine = new \BTCPayServer\Storage\EncryptedFilesystemStorage('TopSecretPassword'); $private = $storageEngine->load($key_dir . '/bitpay.pri'); $public = $storageEngine->load($key_dir . '/bitpay.pub'); //$network = new \BTCPayServer\Network\Testnet(); $adapter = new \BTCPayServer\Client\Adapter\CurlAdapter(); $btcpay = new \BTCPayServer\BTCPayServer(); $client = new \BTCPayServer\Client\Client(); $client->setPrivateKey($private); $client->setPublicKey($public); $client->setUri('https://my-btcpay-server.com'); $client->setAdapter($adapter); $client->createPayout($payout); print_r($payout);