/** * Create new Transaction with a set of params * * @param string $amount amount as int (ex: 4200 for 42.00) * @param string $currency currency code (EUR, USD...) * @param string $token transaction token * @param string $description transaction description (optional, default "") * * @return \Paymill\Models\Response\Base * * @throws PaymillException if transaction creation fails */ public function create($amount, $currency, $token, $description = "") { $service = new Request($this->apiKey); $transaction = new RequestTransaction(); $transaction->setAmount($amount)->setCurrency($currency)->setToken($token)->setDescription($description); /** * @var \Paymill\Models\Response\Base $response */ $response = $service->create($transaction); return $response; }
/** * {@inheritDoc} * * @param Transaction $request */ public function execute($request) { RequestNotSupportedException::assertSupports($this, $request); $details = ArrayObject::ensureArrayObject($request->getModel()); if (!isset($details['token']) || empty($details['token'])) { throw new LogicException('The token has to be set.'); } try { $transaction = new \Paymill\Models\Request\Transaction(); $transaction->setAmount($details['amount'])->setCurrency($details['currency'])->setDescription($details['description'])->setToken($details['token']); $requestPaymill = new Request($this->api->getPrivateKey()); $requestPaymill->create($transaction); $responsePaymill = $requestPaymill->getLastResponse(); $details['http_status_code'] = 200; $details['transaction'] = $responsePaymill['body']['data']; } catch (PaymillException $e) { $details['http_status_code'] = $e->getStatusCode(); $details['error'] = $e->getResponseCode(); $details['errorMessage'] = $e->getMessage(); $details['errorResponse'] = $e->getRawObject(); } $request->setModel($details); }
/** * @param $email * @param $details * * @return bool|string */ public function createClient($email, $details) { $client = new \Paymill\Models\Request\Client(); $client->setEmail($email); $client->setDescription($details); try { $response = $this->request->create($client); } catch (\Paymill\Services\PaymillException $e) { s($e->getResponseCode()); s($e->getStatusCode()); s($e->getErrorMessage()); return false; } return $response->getId(); }
public function paymill($token) { $apiKey = Config::get('paymill.test.private_key'); $request = new \Paymill\Request($apiKey); // var_dump($request); $transaction = Paymill::Transaction(); //return Paymill::Client('client_8127a65bf3c84676c918')->details(); //return Paymill::Payment()->create('098f6bcd4621d373cade4e832627b4f6'); $preAuth = new \Paymill\Models\Request\Preauthorization(); $preAuth->setToken($token)->setAmount(4200)->setCurrency('EUR')->setDescription('description example'); $response = $request->create($preAuth); // try { // Paymill::Transaction() // ->setAmount(4200) // ->setCurrency('EUR') // ->setPayment('pay_9266f049d59767f3175cc17a') // ->setDescription('Test Transaction') // ->create(); // } catch(PaymillException $e) { // $e->getResponseCode(); // $e->getStatusCode(); // $e->getErrorMessage(); // } }
/** * Prepares the environment before running a test. */ protected function setUp() { $this->_service = new Request(); $this->_service->setConnectionClass(new Curl(API_TEST_KEY, API_HOST, array(CURLOPT_SSL_VERIFYPEER => SSL_VERIFY_PEER))); parent::setUp(); }
public function deleteById($clientId) { $clientData = UbirimiContainer::get()['repository']->get(UbirimiClient::class)->getById($clientId); $query = "SET FOREIGN_KEY_CHECKS = 0;"; UbirimiContainer::get()['db.connection']->query($query); // delete Yongo Product data $projects = UbirimiContainer::get()['repository']->get(UbirimiClient::class)->getProjects($clientId); while ($projects && ($project = $projects->fetch_array(MYSQLI_ASSOC))) { UbirimiContainer::get()['repository']->get(YongoProject::class)->deleteById($project['id']); } $workflows = UbirimiContainer::get()['repository']->get(Workflow::class)->getByClientId($clientId); while ($workflows && ($workflow = $workflows->fetch_array(MYSQLI_ASSOC))) { UbirimiContainer::get()['repository']->get(Workflow::class)->deleteById($workflow['id']); } UbirimiContainer::get()['repository']->get(NotificationScheme::class)->deleteByClientId($clientId); $screens = UbirimiContainer::get()['repository']->get(Screen::class)->getByClientId($clientId); while ($screens && ($screen = $screens->fetch_array(MYSQLI_ASSOC))) { UbirimiContainer::get()['repository']->get(Screen::class)->deleteById($screen['id']); } UbirimiContainer::get()['repository']->get(NotificationScheme::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteYongoIssueTypes($clientId); UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteYongoIssueStatuses($clientId); UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteYongoIssueResolutions($clientId); UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteYongoIssuePriorities($clientId); UbirimiContainer::get()['repository']->get(Field::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(FieldConfiguration::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(FieldConfigurationScheme::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(NotificationScheme::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(NotificationScheme::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(IssueTypeScheme::class)->deleteByClientId($clientId); UbirimiContainer::get()['repository']->get(IssueTypeScreenScheme::class)->deleteByClientId($clientId); // delete issue security schemes $issueSecuritySchemes = UbirimiContainer::get()['repository']->get(IssueSecurityScheme::class)->getByClientId($clientId); while ($issueSecuritySchemes && ($issueSecurityScheme = $issueSecuritySchemes->fetch_array(MYSQLI_ASSOC))) { UbirimiContainer::get()['repository']->get(IssueSecurityScheme::class)->deleteById($issueSecurityScheme['id']); } $users = UbirimiContainer::get()['repository']->get(UbirimiClient::class)->getUsers($clientId); if ($users) { $userIdsArray = array(); while ($user = $users->fetch_array(MYSQLI_ASSOC)) { $userIdsArray[] = $user['id']; // delete user avatars $spaceBasePath = Util::getAssetsFolder(SystemProduct::SYS_PRODUCT_GENERAL_SETTINGS, 'user_avatars'); Util::deleteDir($spaceBasePath . $user['id']); } $users_ids_string = implode($userIdsArray, ', '); $query = 'delete from general_group_data where user_id IN (' . $users_ids_string . ')'; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from permission_role_data where default_user_id IN (' . $users_ids_string . ')'; UbirimiContainer::get()['db.connection']->query($query); } UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteGroups($clientId); $query = 'delete from permission_role where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from general_user where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from event where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from client_product where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from client_yongo_settings where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from client_documentator_settings where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from client_smtp_settings where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from client_settings where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from general_log where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); $query = 'delete from sys_permission_global_data where client_id = ' . $clientId; UbirimiContainer::get()['db.connection']->query($query); // delete Cheetah Product data $agileBoards = UbirimiContainer::get()['repository']->get(Board::class)->getByClientId($clientId, 'array'); if ($agileBoards) { for ($i = 0; $i < count($agileBoards); $i++) { UbirimiContainer::get()['repository']->get(Board::class)->deleteById($agileBoards[$i]['id']); } } // delete Events Product data UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteCalendars($clientId); // delete SVN Product data UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteSVNRepositories($clientId); // delete Documentador Product data UbirimiContainer::get()['repository']->get(UbirimiClient::class)->deleteSpaces($clientId); $query = 'delete from client where id = ' . $clientId . ' limit 1'; UbirimiContainer::get()['db.connection']->query($query); // also delete paymill information $client = new PaymillClient(); $client->setId($clientData['paymill_id']); $requestPaymill = new PaymillRequest(UbirimiContainer::get()['paymill.private_key']); $response = $requestPaymill->delete($client); $query = "SET FOREIGN_KEY_CHECKS = 1;"; UbirimiContainer::get()['db.connection']->query($query); }
/** * @test * @codeCoverageIgnore */ public function createChecksum() { $result = $this->_service->getOne($this->_model); $this->assertInstanceOf('Paymill\\Models\\Response\\Checksum', $result, var_export($result, true)); return $result; }
/** * Returns a mocked Curl Object * @param string $action Api Action * @param array $params Param Array for the action call * @param string $method httpMethod * @param array $response Array returned by the function * @return array Response Array */ private function _getCurlMock($action, $params, $method, $response) { $this->_curlObjectMock->expects($this->any())->method('requestApi')->with($this->stringContains($action), $this->equalTo($params), $this->matches($method))->will($this->returnValue($response)); $this->_request->setConnectionClass($this->_curlObjectMock); return $this->_curlObjectMock; }
public function __construct($apiKey) { parent::__construct($apiKey); }