function testSendMoney() { $requestor = new MockCoinbase_Requestor(); $requestor->returns('doCurlRequest', array("statusCode" => 200, "body" => ' { "success": true, "transaction": { "id": "501a1791f8182b2071000087", "created_at": "2012-08-01T23:00:49-07:00", "hsh": "9d6a7d1112c3db9de5315b421a5153d71413f5f752aff75bf504b77df4e646a3", "notes": "Sample transaction for you!", "amount": { "amount": "-1.23400000", "currency": "BTC" }, "request": false, "status": "pending", "sender": { "id": "5011f33df8182b142400000e", "name": "User Two", "email": "*****@*****.**" }, "recipient": { "id": "5011f33df8182b142400000a", "name": "User One", "email": "*****@*****.**" }, "recipient_address": "37muSN5ZrukVTvyVh3mT5Zc5ew9L9CBare" } }')); $coinbase = new Coinbase(""); $coinbase->setRequestor($requestor); $response = $coinbase->sendMoney("*****@*****.**", "1.234", "Sample transaction for you"); $this->assertEqual($response->success, true); $this->assertEqual($response->transaction->id, '501a1791f8182b2071000087'); $this->assertEqual($response->transaction->hsh, '9d6a7d1112c3db9de5315b421a5153d71413f5f752aff75bf504b77df4e646a3'); $this->assertEqual($response->transaction->request, false); }
function sendCoinbaseMoney($address, $balance) { global $apiKey, $cashoutMessage, $fee; $balance = $balance / SUB_UNIT; try { $coinbase = new Coinbase($apiKey); $response = $coinbase->sendMoney($address, sprintf("%.8f", $balance), $cashoutMessage, $fee > 0 ? $fee / SUB_UNIT : null); } catch (Exception $e) { $response = $e->getMessage(); if (strpos($response, "You don't have that much") !== false) { throw new NoCashException($response, 0, $e); } else { throw new Exception($response, 0, $e); } } return $response; }