D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
test
/
app
/
Http
/
Controllers
/
Filename :
PayController.php
back
Copy
<?php namespace App\Http\Controllers; use App\Libs\OnlinePayments\Sdk\Client; use App\Libs\OnlinePayments\Sdk\Domain\AmountOfMoney; use App\Libs\OnlinePayments\Sdk\Domain\ContactDetails; use App\Libs\OnlinePayments\Sdk\Domain\CreateHostedCheckoutRequest; use App\Libs\OnlinePayments\Sdk\Domain\Customer; use App\Libs\OnlinePayments\Sdk\Domain\HostedCheckoutSpecificInput; use App\Libs\OnlinePayments\Sdk\Domain\Order; use App\Libs\OnlinePayments\Sdk\Domain\OrderReferences; use App\Libs\OnlinePayments\Sdk\Domain\PersonalInformation; use App\Libs\OnlinePayments\Sdk\Domain\PersonalName; use App\Libs\Sdk\Authentication\V1HmacAuthenticator; use App\Libs\Sdk\Communicator; use App\Libs\Sdk\CommunicatorConfiguration; use App\Orders; use Auth; use Illuminate\Http\Request; use Log; class PayController extends Controller { public function getPartly($id = null) { Orders::where('id', $id) ->where('user_id', Auth::user()->id) ->update(['status' => 'client_change']); //return redirect('/home'); } public function postAjax() { $id = (int)$_POST['id']; $one = Orders::find($id); if ($one->size) { $amount = (int)$one->prices($one->catalogs_id, $one->size) * 0.2; $types = 'Tattoo'; $putdate = $one->putdate; } else { if ($one->body == 'gift card') { $amount = (int)$one->price; $types = 'Gift card'; $putdate = ''; } else { $amount = (int)$one->price * 0.2; $types = $one->body; $putdate = $one->putdate; } } $type = rtrim($types, ', '); return view('includes.payment2', compact('one', 'amount', 'type', 'putdate')); } public function postSend(Request $request) { $id = (int)$_POST['id']; $one = Orders::find($id); if ($one->size) { $amount = (int)$one->prices($one->catalogs_id, $one->size) * 20; } else { if ($one->body == 'gift card') { $amount = (int)$one->price * 100; } else { $amount = (int)$one->price * 20; } } if (isset($one->saloons->name)) { $saloon = $one->saloons->address; } else { $saloon = ''; } if (isset($one->artists->name)) { $artists = $one->artists->name; } else { $artists = rtrim(strip_tags($one->body), ', '); } if($one->body == 'gift card'){ // $gift = 'gift card'; $putdate = $one->created_at->format('Y-m-d H:i'); }else{ //$gift = ''; $putdate = $one->putdate; } //start pay checkout $yourPspId = env('PAY_ID','americanbodyart2'); $apiKey = env('PAY_KEY', '555B97D87F9BDDCFADAF'); $apiSecret = env('PAY_SECRET','F5D91B23AA7C6790DC862399ABD923F9935BAC628EE8F08F0547112E95006768E4F6AFED5CB6FE4313FCC519DD6C4BB5F0E78B80D282080B264D2835EB444934'); $apiEndpoint = env('PAY_ENDPOINT', 'https://payment.direct.worldline-solutions.com/'); // Additional settings to easily identify your company in our logs. $integrator = 'American Body Art'; $proxyConfiguration = null; $communicatorConfiguration = new CommunicatorConfiguration( $apiKey, $apiSecret, $apiEndpoint, $integrator, $proxyConfiguration ); $authenticator = new V1HmacAuthenticator($communicatorConfiguration); $communicator = new Communicator($communicatorConfiguration, $authenticator); $client = new Client($communicator); $custumer = new Customer(); $personal_name = new PersonalName(); $personal_name->setFirstName(Auth::user()->name); $contact_details = new ContactDetails(); $contact_details->setEmailAddress(Auth::user()->email); $contact_details->setPhoneNumber($request->PHONE); $personal_info = new PersonalInformation(); $personal_info->setName($personal_name); $custumer->setPersonalInformation($personal_info); $custumer->setContactDetails($contact_details); $createHostedCheckoutRequest = new CreateHostedCheckoutRequest(); $amountOfMoney = new AmountOfMoney(); $amountOfMoney->setAmount($amount); $amountOfMoney->setCurrencyCode("EUR"); $references = new OrderReferences(); // 1. MerchantOrderId — ваш уникальный номер заказа (ID) $references->setMerchantReference($id); // 2. Descriptor — описание заказа, которое увидит клиент (например, в выписке) $references->setDescriptor( $putdate . ", ".$saloon.", ".$artists." "); $order = new Order(); $order->setAmountOfMoney($amountOfMoney); $order->setCustomer($custumer); $order->setReferences($references); $hostedCheckoutSpecificInput = new HostedCheckoutSpecificInput(); $hostedCheckoutSpecificInput->setReturnUrl(env('APP_URL') . "/home?orderID=" . $id); $createHostedCheckoutRequest->setOrder($order); $createHostedCheckoutRequest->setHostedCheckoutSpecificInput($hostedCheckoutSpecificInput); $createHostedCheckoutResponse = $client->merchant($yourPspId)->hostedCheckout()->createHostedCheckout($createHostedCheckoutRequest); $checkout = $createHostedCheckoutResponse->getHostedCheckoutId(); $redirect_link = $createHostedCheckoutResponse->redirectUrl; setcookie('checkout', $checkout, time() + 3600*3*60, '/'); // $hostedCheckoutStatus = $client->merchant($yourPspId)->hostedCheckout()->getHostedCheckout($createHostedCheckoutResponse->getHostedCheckoutId()); return view('includes.payment3', compact('redirect_link')); } }