Bitpay\Client\Client::getPayouts PHP Méthode

getPayouts() public méthode

public getPayouts ( $status = null )
    public function getPayouts($status = null)
    {
        $request = $this->createNewRequest();
        $request->setMethod(Request::METHOD_GET);
        $path = 'payouts?token=' . $this->token->getToken() . ($status == null ? '' : '&status=' . $status);
        $request->setPath($path);
        $this->addIdentityHeader($request);
        $this->addSignatureHeader($request);
        $this->request = $request;
        $this->response = $this->sendRequest($this->request);
        $body = json_decode($this->response->getBody(), true);
        $error_message = false;
        $error_message = !empty($body['error']) ? $body['error'] : $error_message;
        $error_message = !empty($body['errors']) ? $body['errors'] : $error_message;
        $error_message = is_array($error_message) ? implode("\n", $error_message) : $error_message;
        if (false !== $error_message) {
            throw new \Exception($error_message);
        }
        $payouts = array();
        array_walk($body['data'], function ($value, $key) use(&$payouts) {
            $payout = new \Bitpay\Payout();
            $payout->setId($value['id'])->setAccountId($value['account'])->setCurrency(new \Bitpay\Currency($value['currency']))->setEffectiveDate($value['effectiveDate'])->setRequestdate($value['requestDate'])->setPricingMethod($value['pricingMethod'])->setStatus($value['status'])->setAmount($value['amount'])->setResponseToken($value['token'])->setRate(@$value['rate'])->setBtcAmount(@$value['btc'])->setReference(@$value['reference'])->setNotificationURL(@$value['notificationURL'])->setNotificationEmail(@$value['notificationEmail']);
            array_walk($value['instructions'], function ($value, $key) use(&$payout) {
                $instruction = new \Bitpay\PayoutInstruction();
                $instruction->setId($value['id'])->setLabel($value['label'])->setAddress($value['address'])->setAmount($value['amount'])->setStatus($value['status']);
                array_walk($value['transactions'], function ($value, $key) use(&$instruction) {
                    $transaction = new \Bitpay\PayoutTransaction();
                    $transaction->setTransactionId($value['txid'])->setAmount($value['amount'])->setDate($value['date']);
                    $instruction->addTransaction($transaction);
                });
                $payout->addInstruction($instruction);
            });
            $payouts[] = $payout;
        });
        return $payouts;
    }