From 6e3adac4d7b4bee7a60c8068a2de9941c841265d Mon Sep 17 00:00:00 2001 From: Kevin Adametz Date: Thu, 28 Feb 2019 18:09:54 +0100 Subject: [PATCH] payment Card first 4 payments inc. mails --- .env | 3 +- .idea/workspace.xml | 1167 ++++++++++------- .phpstorm.meta.php | 2 +- _ide_helper.php | 2 +- _ide_helper_models.php | 241 ++++ app/Http/Controllers/Pay/PayoneController.php | 486 ++++--- app/Http/Controllers/Web/CardController.php | 6 +- .../Controllers/Web/CheckoutController.php | 373 +++++- app/Mail/MailCheckout.php | 69 + app/Models/PaymentTransaction.php | 27 +- app/Models/ShoppingOrder.php | 74 +- app/Models/ShoppingOrderItem.php | 33 +- app/Models/ShoppingPayment.php | 46 +- app/Models/ShoppingUser.php | 48 +- app/Services/Util.php | 12 +- app/Services/Yard.php | 7 + config/app.php | 1 + config/logging.php | 5 + config/mail.php | 2 +- ..._23_161530_create_shopping_users_table.php | 3 + ...23_163527_create_shopping_orders_table.php | 4 + ...3724_create_shopping_order_items_table.php | 4 +- ..._163832_create_shopping_payments_table.php | 4 +- ...0014_create_payment_transactions_table.php | 14 +- public/images/payments-assets/creditcard.png | Bin 0 -> 16365 bytes public/images/payments-assets/paypal.png | Bin 0 -> 12920 bytes public/images/payments-assets/sofort.png | Bin 0 -> 10171 bytes public/images/payments-assets/vor.png | Bin 0 -> 6321 bytes public/images/payments.psd | Bin 0 -> 162189 bytes resources/lang/de/validation.php | 24 +- resources/views/emails/checkout.blade.php | 392 ++++++ .../views/emails/checkout_status.blade.php | 419 ++++++ .../web/templates/checkout-final.blade.php | 35 +- .../views/web/templates/checkout.blade.php | 322 +++-- .../web/user/layouts/application.blade.php | 81 ++ .../user/layouts/includes/footer.blade.php | 32 +- .../user/layouts/includes/header.blade.php | 27 +- routes/web.php | 19 +- 38 files changed, 3063 insertions(+), 921 deletions(-) create mode 100644 app/Mail/MailCheckout.php create mode 100644 public/images/payments-assets/creditcard.png create mode 100644 public/images/payments-assets/paypal.png create mode 100644 public/images/payments-assets/sofort.png create mode 100644 public/images/payments-assets/vor.png create mode 100644 public/images/payments.psd create mode 100644 resources/views/emails/checkout.blade.php create mode 100644 resources/views/emails/checkout_status.blade.php diff --git a/.env b/.env index 32f3c16..9c7c8eb 100644 --- a/.env +++ b/.env @@ -4,11 +4,12 @@ APP_DEBUG=true APP_KEY=base64:HrWQ9AV3Zt2TU0iq1OeUUpTUaXwNUdh8xHmx7RXTif4= APP_URL=https://mivita.local/ APP_DOMAIN=mivita.local -APP_PROTOCOL=https:// +APP_PROTOCOL=http:// APP_URL_MAIN= APP_URL_CHECKOUT=checkout. #APP_URL_MAIN=dev. APP_URL_CRM=mein. +APP_CHECKOUT_MAIL=k.adametz@kagado.de LOG_CHANNEL=stack diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 2453cbb..1ce9f87 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + + + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -269,16 +325,6 @@ - date - birthdatepicker - data - tea - lea - lead - accepted_active - mail - speic - your Data your render base_ @@ -299,9 +345,25 @@ Util use Util hidde + country_id + user_shop + with + paid + checkout + des + totalWithShipping + cardexpiredate + getS + slat + + + $PROJECT_DIR$/app + $PROJECT_DIR$/resources/views/web + $PROJECT_DIR$/app/Http/Controllers + $PROJECT_DIR$/database/migrations @@ -339,18 +401,6 @@ @@ -524,10 +586,10 @@ - @@ -561,6 +623,14 @@ + + + + + + + + @@ -576,6 +646,18 @@ + + + + + + + + + + + + @@ -587,6 +669,11 @@ + + + + + @@ -598,11 +685,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,7 +725,7 @@ - + @@ -648,6 +759,16 @@ + + + + + + + + + + @@ -666,18 +787,18 @@ + + + + + + + - - - - - - - - @@ -755,10 +880,10 @@ - + - + @@ -788,274 +913,13 @@ - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1066,20 +930,17 @@ - + - - + + - - - - + - - + + @@ -1090,55 +951,361 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.phpstorm.meta.php b/.phpstorm.meta.php index 025281f..e345047 100644 --- a/.phpstorm.meta.php +++ b/.phpstorm.meta.php @@ -5,7 +5,7 @@ namespace PHPSTORM_META { /** * PhpStorm Meta file, to provide autocomplete information for PhpStorm - * Generated on 2019-02-21 17:50:01. + * Generated on 2019-02-26 16:09:06. * * @author Barry vd. Heuvel * @see https://github.com/barryvdh/laravel-ide-helper diff --git a/_ide_helper.php b/_ide_helper.php index d6b8295..ad98127 100644 --- a/_ide_helper.php +++ b/_ide_helper.php @@ -3,7 +3,7 @@ /** * A helper file for Laravel 5, to provide autocomplete information to your IDE - * Generated for Laravel 5.6.39 on 2019-02-21 17:50:01. + * Generated for Laravel 5.6.39 on 2019-02-26 16:09:06. * * This file should not be included in your code, only analyzed by your IDE! * diff --git a/_ide_helper_models.php b/_ide_helper_models.php index a54a3b2..634d5d4 100644 --- a/_ide_helper_models.php +++ b/_ide_helper_models.php @@ -132,6 +132,37 @@ namespace App\Models{ class Category extends \Eloquent {} } +namespace App\Models{ +/** + * App\Models\ShoppingOrderItem + * + * @property int $id + * @property int $shopping_order_id + * @property string|null $row_id + * @property int $product_id + * @property int|null $qty + * @property float|null $price + * @property string|null $slug + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Product $product + * @property-read \App\Models\ShoppingOrder $shopping_order + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem wherePrice($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereProductId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereQty($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereRowId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereShoppingOrderId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereSlug($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrderItem whereUpdatedAt($value) + */ + class ShoppingOrderItem extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\UserUpdateEmail @@ -187,6 +218,97 @@ namespace App\Models{ class ShippingPrice extends \Eloquent {} } +namespace App\Models{ +/** + * App\Models\ShoppingUser + * + * @property int $id + * @property string|null $billing_salutation + * @property string|null $billing_company + * @property string|null $billing_firstname + * @property string|null $billing_lastname + * @property string|null $billing_address + * @property string|null $billing_address_2 + * @property string|null $billing_zipcode + * @property string|null $billing_city + * @property int $billing_country_id + * @property string|null $billing_phone + * @property string|null $billing_email + * @property int $accepted_data_checkbox + * @property int $same_as_billing + * @property string|null $shipping_salutation + * @property string|null $shipping_company + * @property string|null $shipping_firstname + * @property string|null $shipping_lastname + * @property string|null $shipping_address + * @property string|null $shipping_address_2 + * @property string|null $shipping_zipcode + * @property string|null $shipping_city + * @property int $shipping_country_id + * @property string|null $shipping_phone + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingOrder[] $Shopping_orders + * @property-read \App\Models\Country $billing_country + * @property-read \App\Models\Country $shipping_country + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereAcceptedDataCheckbox($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingAddress($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingAddress2($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingCompany($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingEmail($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingFirstname($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingLastname($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingPhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingSalutation($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereBillingZipcode($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereSameAsBilling($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingAddress($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingAddress2($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingCity($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingCompany($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingFirstname($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingLastname($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingPhone($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingSalutation($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereShippingZipcode($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingUser whereUpdatedAt($value) + */ + class ShoppingUser extends \Eloquent {} +} + +namespace App\Models{ +/** + * App\Models\ShoppingInstance + * + * @property string $identifier + * @property int $user_shop_id + * @property int $country_id + * @property string $subdomain + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Country $country + * @property-read \App\Models\UserShop $user_shop + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereIdentifier($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereSubdomain($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingInstance whereUserShopId($value) + */ + class ShoppingInstance extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\Product @@ -358,6 +480,81 @@ namespace App\Models{ class ProductImage extends \Eloquent {} } +namespace App\Models{ +/** + * App\Models\ShoppingPayment + * + * @property int $id + * @property int $shopping_order_id + * @property string $clearingtype + * @property string|null $wallettype + * @property string|null $onlinebanktransfertype + * @property string $reference + * @property int $amount + * @property string $currency + * @property int|null $status + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\PaymentTransaction[] $payment_transactions + * @property-read \App\Models\ShoppingOrder $shopping_order + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereAmount($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereClearingtype($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereCurrency($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereOnlinebanktransfertype($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereReference($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereShoppingOrderId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingPayment whereWallettype($value) + */ + class ShoppingPayment extends \Eloquent {} +} + +namespace App\Models{ +/** + * App\Models\PaymentTransaction + * + * @property int $id + * @property int $shopping_payment_id + * @property string $request + * @property int $txid + * @property int $userid + * @property string|null $status + * @property string|null $key + * @property string|null $txaction + * @property string|null $transmitted_data + * @property int|null $errorcode + * @property string|null $errormessage + * @property string|null $customermessage + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\ShoppingPayment $shopping_order + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereCustomermessage($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereErrorcode($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereErrormessage($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereKey($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereRequest($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereShoppingPaymentId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereStatus($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereTransmittedData($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereTxaction($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereTxid($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\PaymentTransaction whereUserid($value) + */ + class PaymentTransaction extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\Attribute @@ -390,6 +587,50 @@ namespace App\Models{ class Attribute extends \Eloquent {} } +namespace App\Models{ +/** + * App\Models\ShoppingOrder + * + * @property int $id + * @property int $shopping_user_id + * @property int $country_id + * @property int $user_shop_id + * @property float|null $total + * @property float|null $shipping + * @property float|null $subtotal + * @property float|null $tax_rate + * @property float|null $tax + * @property float|null $total_shipping + * @property int|null $weight + * @property int|null $paid + * @property \Illuminate\Support\Carbon|null $created_at + * @property \Illuminate\Support\Carbon|null $updated_at + * @property-read \App\Models\Country $country + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingOrderItem[] $shopping_order_items + * @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\ShoppingPayment[] $shopping_payments + * @property-read \App\Models\ShoppingUser $shopping_user + * @property-read \App\Models\UserShop $user_shop + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder query() + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereCountryId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder wherePaid($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereShipping($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereShoppingUserId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereSubtotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereTax($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereTaxRate($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereTotal($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereTotalShipping($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereUserShopId($value) + * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\ShoppingOrder whereWeight($value) + */ + class ShoppingOrder extends \Eloquent {} +} + namespace App\Models{ /** * App\Models\UserAccount diff --git a/app/Http/Controllers/Pay/PayoneController.php b/app/Http/Controllers/Pay/PayoneController.php index 22f554f..d4870a2 100644 --- a/app/Http/Controllers/Pay/PayoneController.php +++ b/app/Http/Controllers/Pay/PayoneController.php @@ -1,12 +1,5 @@ 'PayPal', + 'cc' => 'CreditCard', + 'sb#GPY' => 'giropay', + 'sb#PNT' => 'Sofort', + 'wlt#PDT' => 'paydirekt', + 'fnc' => 'Rechnungskauf', + 'pref' => 'Vorauskasse', + ];*/ +namespace App\Http\Controllers\Pay; + +use App\Http\Controllers\Controller; +use App\Models\PaymentTransaction; +use App\Models\ShoppingPayment; +use App\Services\Payone; +use Illuminate\Http\Request; +use Util; +use Yard; + class PayoneController extends Controller { @@ -30,210 +42,264 @@ class PayoneController extends Controller const REFUND = 'refund'; const DEBIT = 'debit'; - private $default = []; private $personalData = []; - private $deliveryData = []; private $method = []; private $prepayment = []; - private $onlineTransfer = []; - private $creditCard = []; - private $url = []; + /* private $onlineTransfer = []; + private $creditCard = []; */ + private $deliveryData = []; + + + // private $payment_method; + private $urls = []; + + private $shopping_user; + private $shopping_order; + private $shopping_payment; + + private $reference; + + public function __construct() { + + $this->default = \Config::get('payone.defaults'); + } + + + public function init($shopping_user, $shopping_order){ + $this->shopping_user = $shopping_user; + $this->shopping_order = $shopping_order; + } + + public function getShoppingPayment(){ + return $this->shopping_payment; + } + + //make Payone payment + public function setPrePayment($payment_method, $amount, $currency, $cc_ret = []){ + + $this->reference = substr(uniqid(true), 0, 16); + $this->setMethod($payment_method, $cc_ret); + + $this->urls = [ + 'successurl' => route('checkout.transaction_status', ['success', $this->reference]), + 'errorurl' => route('checkout.transaction_status', ['error', $this->reference]), + 'backurl' => route('checkout.transaction_status', ['cancel', $this->reference]), + ]; + + $this->prepayment = [ + "reference" => $this->reference, // a unique reference, e.g. order number + "amount" => $amount, // amount in smallest currency unit, i.e. cents + "currency" => $currency, + "param" => $this->shopping_order->id, + + ]; + + $this->shopping_payment = ShoppingPayment::create([ + 'shopping_order_id' => $this->shopping_order->id, + 'clearingtype' => $this->method["clearingtype"], + 'wallettype' => $this->method["wallettype"], + 'onlinebanktransfertype' => $this->method["onlinebanktransfertype"], + 'reference' => $this->reference, + 'amount' => $amount, + 'currency' => $currency, + ]); + + return $this->reference; + } + + public function setPersonalData($data){ + + $this->personalData = [ + // "salutation" => "Mr.", + // "firstname" => "Henry", + "lastname" => "Player", // mandatory + // "street" => "Royal Street 1", + // "zip" => "24118", + // "city" => "Kiel", + "country" => "DE", // mandatory + //"email" => " info-buyer@mivita.care", + "language" => "de" + ]; + + + /* $this->personalData = array( + "salutation" => "Herr", + "title" => "Dr.", + "firstname" => "Paul", + "lastname" => "Neverpayer", + "street" => "Fraunhoferstraße 2-4", + "addressaddition" => "EG", + "zip" => "24118", + "city" => "Kiel", + "country" => "DE", + "email" => "paul.neverpayer@payone.de", + "telephonenumber" => "043125968500", + "birthday" => "19700204", + "language" => "de", + "gender" => "m", + "ip" => "8.8.8.8" + ); + */ + + /** + * Paydirekt requires both, personal data and shipping data + */ + /* $this->deliveryData = array( + "shipping_firstname" => "Paul", + "shipping_lastname" => "Neverpayer", + "shipping_street" => "Hamburger Allee 26-28", + "shipping_zip" => "60486", + "shipping_city" => "Frankfurt am Main", + "shipping_country" => "DE" + );*/ - public function __construct($payment_method = null) { + + } + + private function setMethod($payment_method, $cc_ret = []){ if($payment_method){ - if(strpos($payment_method, '#')){ $payment_method = explode('#', $payment_method); - //wallet + //wallet Paypal if($payment_method[0] == 'wlt'){ $this->method = [ "clearingtype" => "wlt", "wallettype" => $payment_method[1], - "request" => "authorization", + 'onlinebanktransfertype' => "", + "request" => "authorization" ]; } //Online-Überweisung if($payment_method[0] == 'sb'){ $this->method = [ "clearingtype" => "sb", + "wallettype" => "", "onlinebanktransfertype" => $payment_method[1], // this is the type for Sofort.com "bankcountry" => "DE", // we need to know the country of the customer's bank, i.e. of the invoice address "request" => "authorization", ]; - } + + //Rechnungskauf + /* if($payment_method[0]== 'fnc'){ + $this->method = [ + "clearingtype" => "fnc", + "wallettype" => "", + 'onlinebanktransfertype' => "", + "financingtype" => "PYV", + "request" => "genericpayment", + "add_paydata[action]" => "pre_check", + "add_paydata[payment_type]" => "Payolution-Invoicing", + ]; + } + */ } + //vorkasse + if($payment_method == 'vor'){ + $this->method = [ + "clearingtype" => "vor", + "wallettype" => "", + 'onlinebanktransfertype' => "", + "request" => "preauthorization", + ]; + } + //CreditCard + if($payment_method == 'cc'){ + //need the $cc_ret + $this->method = [ + "clearingtype" => "cc", + "wallettype" => "", + 'onlinebanktransfertype' => "", + "request" => "authorization", + "pseudocardpan" => $cc_ret['pseudocardpan'] + //"xid" => "3-D Secure transaction ID" + ]; + + } + + + } - $this->default = \Config::get('payone.defaults'); - $this->url['successurl'] = route('checkout.transaction_status', ['success']); - $this->url['errorurl'] = route('checkout.transaction_status', ['error']); - $this->url['backurl'] = route('checkout.transaction_status', ['cancel']); - - } - - //make Payone payment - - public function setPrePayment($data){ - - /* $this->prepayment = [ - "clearingtype" => "sb", // sb means online bank transfer - "reference" => time(), // a unique reference, e.g. order number - "amount" => "10000", // amount in smallest currency unit, i.e. cents - "currency" => "EUR", - "request" => "preauthorization", // create account receivable and instantly book the amount - "onlinebanktransfertype" => "PNT", // this is the type for Sofort.com - "bankcountry" => "DE", // we need to know the country of the customer's bank, i.e. of the invoice add - //"request" => "preauthorization" // create account receivable - ];*/ - - $this->prepayment = [ - "reference" => time(), // a unique reference, e.g. order number - "amount" => "10000", // amount in smallest currency unit, i.e. cents - "currency" => "EUR", - - - /* "clearingtype" => "wlt", // sb means online bank transfer - "wallettype" => "PPE", - "request" => "authorization", - */ - - - - /* "request" => "preauthorization", - "cardpan" => "4301111100070203", - "cardexpiredate" => "2105", - "cardtype" => "V", - */ - - - - - //"pseudocardpan" => "9410009000000005606", - - - ]; - } - - - public function creditCardCheck($data){ - - $this->prepayment = [ - "request" => "creditcardcheck", // create account receivable and instantly book the amount - "cardpan" => "4111111111111111", - "cardexpiredate" => "2105", - "cardtype" => "V", - "cardcvc2" => "123", - ]; - - } - - public function setPersonalData($data){ - - $this->personalData = [ - // "salutation" => "Mr.", - // "firstname" => "Henry", - "lastname" => "Payer", // mandatory - // "street" => "Royal Street 1", - // "zip" => "24118", - // "city" => "Kiel", - "country" => "DE", // mandatory - // "email" => "henry.viii@tudor.gov.uk", - "language" => "de" - ]; - } - - public function setDeliverylData($data){ - $this->deliveryData = [ - "shipping_company" => "Mr.", - "shipping_firstname" => "Henry", - "shipping_lastname" => "Tudor", - "shipping_street" => "Royal Street 1", - "shipping_zip" => "24118", - "shipping_city" => "Kiel", - "shipping_country" => "DE", - ]; - } - - public function checkStatus(){ - // again, the default values will be needed - $capture = array( - "request" => "capture", - "txid" => "your_txid", - "sequencenumber" => "previous_sequencenumber_plus_one", // get this from the last received transactionsstatus - "amount" => "your_amount", // you can either capture the full amount of the tx, or less - "currency" => "EUR" - ); - $request = array_merge($this->default, $capture); - $response = Payone::sendRequest($request); - } public function ResponseData(){ + $request = array_merge($this->default, $this->personalData, $this->deliveryData, $this->method, $this->prepayment, $this->urls); + + - $request = array_merge($this->default, $this->personalData, $this->method, $this->prepayment, $this->url); - // var_dump($request); - // echo "


"; $response = Payone::sendRequest($request); /* * status APPROVED / REDIRECT / ERROR / PENDING - * */ - - //cc - - var_dump($response); - die(); - if ($response["status"] == "REDIRECT") { // this happens when the card needs a 3d secure verification - header("Location: " . $response["redirecturl"]); // or other redirect method - } elseif ($response["status"] == "APPROVED") { // no 3d secure verification required, transaction went through - echo "Thank you for your purchase."; - var_dump($response); - die(); - } else { - echo "There has been an error processing your request."; - var_dump($response); - die(); + */ + if($response['status'] == 'ERROR'){ + PaymentTransaction::create([ + 'shopping_payment_id' => $this->shopping_payment->id, + 'request' => $this->method['request'], + 'errorcode' => $response['errorcode'], + 'errormessage' => $response['errormessage'], + 'customermessage' => $response['customermessage'], + 'status' => $response['status'], + ]); + \Session::flash('errormessage', $response['errormessage']); + \Session::flash('customermessage', $response['customermessage']); + return redirect(route('checkout.checkout_card')); } + if($response['status'] == 'REDIRECT'){ + PaymentTransaction::create([ + 'shopping_payment_id' => $this->shopping_payment->id, + 'request' => $this->method['request'], + 'txid' => $response['txid'], + 'userid' => $response['userid'], + 'status' => $response['status'], + ]); + return redirect()->away($response["redirecturl"]); + exit; + + } if($response['status'] == 'APPROVED'){ // header("Location: " . $response["redirecturl"]); // or other redirect method - var_dump($response); - die(); - //txid - //Payment process ID (PAYONE) - //userid - //Debtor ID (PAYONE) - } - if($response['status'] == 'REDIRECT'){ - header("Location: " . $response["redirecturl"]); // or other redirect method + $payt = PaymentTransaction::create([ + 'shopping_payment_id' => $this->shopping_payment->id, + 'request' => $this->method['request'], + 'txid' => $response['txid'], + 'userid' => $response['userid'], + 'status' => $response['status'], + 'transmitted_data' => $response, + ]); + if($payt->shopping_payment->clearingtype == "vor"){ + //vorkasse + return redirect(route('checkout.transaction_approved', [$payt->id, $this->reference])); + exit; + } + + if($payt->shopping_payment->clearingtype == "cc"){ + //creditcard + return redirect(route('checkout.transaction_approved', [$payt->id, $this->reference])); + exit; + } + + var_dump($response); + die(); //txid //Payment process ID (PAYONE) //userid //Debtor ID (PAYONE) - //redirecturl - //Redirect URL - } - if($response['status'] == 'ERROR'){ - var_dump($response); - die(); - //errorcode - //Error number - //errormessage - //Error message for the merchant - //customermessage - // Error message for the end customer } + + if($response['status'] == 'PENDING'){ var_dump($response); die(); @@ -248,54 +314,92 @@ class PayoneController extends Controller + public function checkCreditCard($data) + { + $this->prepayment = [ + "request" => "creditcardcheck", // create account receivable and instantly book the amount + "cardholder" => $data['cc_cardholder_first']." ".$data['cc_cardholder_last'], + "cardpan" => $data['cc_cardpan'], + "cardexpiredate" => substr($data['cc_cardexpireyear'], -2) . $data['cc_cardexpiremonth'], + "cardtype" => $data['cc_cardtype'], + "cardcvc2" => $data['cc_cardcvc2'], + "storecarddata" => 'yes', + "language" => 'de', + ]; + $request = array_merge($this->default, $this->prepayment); + $response = Payone::sendRequest($request); + return $response; + + } + + + /* public function checkStatus(){ + // again, the default values will be needed + $capture = array( + "request" => "capture", + "txid" => "your_txid", + "sequencenumber" => "previous_sequencenumber_plus_one", // get this from the last received transactionsstatus + "amount" => "your_amount", // you can either capture the full amount of the tx, or less + "currency" => "EUR" + ); + $request = array_merge($this->default, $capture); + $response = Payone::sendRequest($request); + + } */ + + //set for clearingtype //debit payment + /* + * + * ["clearing_bankaccount"]=> string(10) "2599100003" + ["clearing_bankcode"]=> string(8) "12345678" + ["clearing_bankcountry"]=> string(2) "DE" + ["clearing_bankname"]=> string(8) "Testbank" + ["clearing_bankaccountholder"]=> string(11) "Test Nutzer" + ["clearing_bankcity"]=> string(4) "Kiel" + ["clearing_bankiban"]=> string(22) "DE00123456782599100003" + ["clearing_bankbic"]=> string(8) "TESTTEST" } + */ + /* + * PNT Sofortbanking (DE, AT, CH, NL) + GPY giropay (DE) + EPS eps – online transfer (AT) + PFF PostFinance E-Finance (CH) + PFC PostFinance Card (CH) + IDL iDEAL (NL) + P24 Przelewy24 (PL) + BCT Bancontact*/ /* * iban * bic * bankcountry*/ - public function setOnlineTransfer($data){ - /* - * PNT Sofortbanking (DE, AT, CH, NL) - GPY giropay (DE) - EPS eps – online transfer (AT) - PFF PostFinance E-Finance (CH) - PFC PostFinance Card (CH) - IDL iDEAL (NL) - P24 Przelewy24 (PL) - BCT Bancontact*/ - $this->onlineTransfer = [ - "onlinebanktransfertype" => "PNT", - "bankcountry" => "DE", - // "iban" => "", - ]; - } - - - public function setCreditCard(){ - /* - * Card type + /* * Card type V Visa M MasterCard A American Express D Diners / Discover J JCB O Maestro International - */ - $this->creditCard = [ - "cardpan" => "number", - "cardtype" => "V", - "cardexpiredate" => "YYMM", - // "cardcvc2" => "Credit verification number (CVC)", + + + + + + public function setDeliverylData($data){ + $this->deliveryData = [ + "shipping_company" => "Mr.", + "shipping_firstname" => "Henry", + "shipping_lastname" => "Tudor", + "shipping_street" => "Royal Street 1", + "shipping_zip" => "24118", + "shipping_city" => "Kiel", + "shipping_country" => "DE", ]; - - /*3-D Secure*/ - $this->creditCard['xid'] = "3-D Secure transaction ID"; - } - +*/ diff --git a/app/Http/Controllers/Web/CardController.php b/app/Http/Controllers/Web/CardController.php index 2083f90..2806e5c 100755 --- a/app/Http/Controllers/Web/CardController.php +++ b/app/Http/Controllers/Web/CardController.php @@ -93,7 +93,6 @@ class CardController extends Controller $user_shop = Util::getUserShop(); - do { $identifier = Util::getToken(); } while( ShoppingInstance::where('identifier', $identifier)->count() ); @@ -113,6 +112,11 @@ class CardController extends Controller return redirect()->secure($path); } + public function backToShop(){ + $this->deleteCard(); + return redirect(url('/')); + + } public function removeCard($rowId){ Yard::instance('shopping')->remove($rowId); diff --git a/app/Http/Controllers/Web/CheckoutController.php b/app/Http/Controllers/Web/CheckoutController.php index 9136099..a33a7e1 100755 --- a/app/Http/Controllers/Web/CheckoutController.php +++ b/app/Http/Controllers/Web/CheckoutController.php @@ -5,7 +5,15 @@ namespace App\Http\Controllers\Web; use App\Http\Controllers\Controller; use App\Http\Controllers\Pay\PayoneController; -use App\Models\Product; +use App\Mail\MailCheckout; +use App\Models\PaymentTransaction; +use App\Models\ShoppingOrder; +use App\Models\ShoppingOrderItem; +use App\Models\ShoppingPayment; +use App\Models\ShoppingUser; +use Illuminate\Session\SessionManager; +use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Mail; use Validator; use App\Services\Util; use Yard; @@ -13,17 +21,20 @@ use Input; class CheckoutController extends Controller { + private $session; + private $instance; /** * Create a new controller instance. * * @return void */ - public function __construct() + public function __construct(SessionManager $session) { + $this->session = $session; + $this->instance = sprintf('%s.%s', 'cart', 'payments'); } - public function checkout(){ $user_shop = Util::getUserShop(); @@ -34,82 +45,366 @@ class CheckoutController extends Controller // $ShippingCountry = ShippingCountry::where('country_id', 1)->first(); // $selected_country = $ShippingCountry->id; } + + $shopping_user = ShoppingUser::findOrNew($this->getPayments('shopping_user_id')); + if($shopping_user->same_as_billing === NULL){ + $shopping_user->same_as_billing = true; + } $data = [ 'user_shop' => Util::getUserShop(), + 'shopping_user' => $shopping_user, ]; return view('web.templates.checkout', $data); } public function checkoutFinal(){ - /*$rules = array( - 'billing.firstname'=>'required', - 'billing.lastname'=>'required', - 'billing.email'=>'required|email', - 'billing.address'=>'required', - 'billing.zipcode'=>'required', - 'billing.city' => 'required', + /* + $rules = array( + 'billing_salutation' => 'required', + 'billing_firstname'=>'required', + 'billing_lastname'=>'required', + 'billing_email'=>'required|email', + 'billing_address'=>'required', + 'billing_zipcode'=>'required', + 'billing_city' => 'required', 'accepted_data_checkbox' => 'accepted', - 'billing.salutation => 'required' ); - if(!Input::get('shipping.same_as_billing')){ + if(!Input::get('same_as_billing')){ $rules = array_merge($rules, [ - 'shipping.firstname'=>'required', - 'shipping.lastname'=>'required', - 'shipping.address'=>'required', - 'shipping.zipcode'=>'required', - 'shipping.city' => 'required', - 'shipping.salutation => 'required' + 'shipping_firstname'=>'required', + 'shipping_lastname'=>'required', + 'shipping_address'=>'required', + 'shipping_zipcode'=>'required', + 'shipping_city' => 'required', + 'shipping_salutation' => 'required' ]); } $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return back()->withErrors($validator)->withErrors($validator)->withInput(Input::all()); - }*/ + } + */ + $data = Input::all(); + //make User + $shopping_user = $this->makeShoppingUser($data); + //make Order and Items + $shopping_order = $this->makeShoppingOrder($shopping_user); + + //check credit Card if(Input::get('payment_method')){ - $pay = new PayoneController(Input::get('payment_method')); - $pay->setPrePayment([]); + $cc_ret = []; + //need precheck the card + if(Input::get('payment_method') == 'cc'){ + $pay = new PayoneController(); + $cc_ret = $pay->checkCreditCard($data); + if($cc_ret['status'] == 'ERROR' || $cc_ret['status'] == 'INVALID'){ + /* PaymentTransaction::create([ + 'shopping_payment_id' => //is no shopping_payment_id at this moment, + 'request' => 'creditcardcheck, + 'errorcode' => $cc_ret['errorcode'], + 'errormessage' => $cc_ret['errormessage'], + 'customermessage' => $cc_ret['customermessage'], + 'status' => $response['status'], + ]);*/ + \Session::flash('cc-error', 1); + \Session::flash('errormessage', $cc_ret['errormessage']); + \Session::flash('customermessage', $cc_ret['customermessage']); + return redirect(route('checkout.checkout_card'))->withInput(Input::all()); + exit; + } + if($cc_ret['status'] == 'VALID'){ + /* + * array(4) { ["status"]=> string(5) "VALID" ["pseudocardpan"]=> string(19) "9410010000169020567" ["cardtype"]=> string(1) "V" ["truncatedcardpan"]=> string(16) "411111XXXXXX1111" } + * application through http post + * get this to the prepayment + * */ + } + } + + //other + $pay = new PayoneController(); + $pay->init($shopping_user, $shopping_order); + $amount = intval(floatval(Yard::instance('shopping')->totalWithShipping(2, '.', ',')) *100); + $reference = $pay->setPrePayment(Input::get('payment_method'), $amount, 'EUR', $cc_ret); + $this->putPayments('payment_reference', $reference); $pay->setPersonalData([]); - $pay->ResponseData([]); + return $pay->ResponseData(); } + return redirect()->back(); + } + + public function transactionStatus($status, $reference){ + + $shopping_order_id = $this->getPayments('shopping_order_id'); + + $ShoppingPayment = ShoppingPayment::where('shopping_order_id', $shopping_order_id)->where('reference', $reference)->first(); + if(!$ShoppingPayment){ + //TODO log this + \Session::flash('checkout-error', 'Der Zahlungsvorgang konnte nicht abgeschlossen werden, die Zahlung wurde nicht gefunden: '.$reference); + return redirect(route('checkout.checkout_card')); + } + $ShoppingPayment->status = $status; + $ShoppingPayment->save(); + + if($status == "success"){ + + Yard::instance('shopping')->destroy(); + $this->destroy(); + + $payt = $ShoppingPayment->payment_transactions->last(); + + $data = [ + 'user_shop' => Util::getUserShop(), + 'order_reference' => $reference, + 'pay_trans' => $payt, + ]; + return view('web.templates.checkout-final', $data); + } + if($status == "cancel"){ + \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); + return redirect(route('checkout.checkout_card')); + + } + if($status == "error"){ + \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); + return redirect(route('checkout.checkout_card')); + + } + } + + public function transactionApproved($transactionId, $reference) { + + $payt = PaymentTransaction::findOrFail($transactionId); + if($payt->shopping_payment->reference != $reference){ + abort(404); + } + Yard::instance('shopping')->destroy(); + $this->destroy(); + //vor $data = [ 'user_shop' => Util::getUserShop(), + 'order_reference' => $payt->shopping_payment->reference, + 'pay_trans' => $payt, ]; return view('web.templates.checkout-final', $data); } - - public function transactionStatus($check){ + public function paymentStatus(){ $data = \Request::all(); - var_dump($data); - $data = \Input::all(); - var_dump($data); - die(); - if($check == "cancel"){ - \Session::flash('checkout-error', 'Der Zahlungsvorgang wurde abgebrochen, die Bestellung konnte nicht ausgeführt werden.'); - return $this->checkout(); + // test para + + $data = [ + 'key' => '698fb2555f8b2efc74f60b2121421f45', + 'txaction' => 'appointed', + 'clearingtype' => 'vor', + 'userid' => '157787236', + 'txid' => '319655873', + 'price' => '13.80', + 'param' => '6', //$this->shopping_order->id, + 'reference' => '15c76c0d470cf9', + ]; + + if(!isset($data['key']) || !isset($data['param']) || !isset($data['userid']) || !isset($data['txid']) || !isset($data['reference']) || !isset($data['price'])){ + \Log::channel('payone')->error('PaymentStatus: parameter incomplete: '.json_encode($data)); + abort(404); } - $pay = new PayoneController([]); - $pay->checkStatus(); + if($data['key'] != config('payone.defaults.key')) { + \Log::channel('payone')->error('PaymentStatus: Key error: '.json_encode($data)); + abort(404); + } + + $shopping_order = ShoppingOrder::find($data['param']); + if(!$shopping_order){ + \Log::channel('payone')->error('PaymentStatus: ShoppingOrder not found: '.json_encode($data)); + abort(404); + } + + $shopping_payment = ShoppingPayment::where('reference', $data['reference'])->first(); + if(!$shopping_payment){ + \Log::channel('payone')->error('PaymentStatus: ShoppingPayment not found: '.json_encode($data)); + abort(404); + } + + if($shopping_payment->shopping_order_id != $shopping_order->id){ + \Log::channel('payone')->error('PaymentStatus: ShoppingPayment no realation ShoppingOrder: '.json_encode($data)); + abort(404); + } + + if($data['key'] != config('payone.defaults.key')) { + \Log::channel('payone')->error('PaymentStatus: Key error: '.json_encode($data)); + abort(404); + } + + $price = intval($data['price']*100); + if($shopping_payment->amount != $price){ + \Log::channel('payone')->error('PaymentStatus: Price error: '.json_encode($data)); + abort(404); + } + + //create transaction + PaymentTransaction::create([ + 'shopping_payment_id' => $shopping_payment->id, + 'request' => 'transaction', + 'txid' => $data['txid'], + 'userid' => $data['userid'], + 'status' => 'PAYONE', + 'key' => $data['key'], + 'txaction' => $data['txaction'], + 'transmitted_data' => $data, + ]); + + $shopping_order->txaction = $data['txaction']; + $shopping_order->save(); + $shopping_payment->txaction = $data['txaction']; + $shopping_payment->save(); + + + if($data['txaction'] == 'failed'){ + + } + if($data['txaction'] == 'paid'){ + $shopping_order->paid = true; + $shopping_order->save(); + } + + if($data['txaction'] == 'appointed'){ + + } + $billing_email = $shopping_order->shopping_user->billing_email; + $user_shop_email = $shopping_order->user_shop->user->email; + if(!$billing_email){ + $billing_email = config('app.checkout_mail'); + } + $checkout_mail = config('app.checkout_mail'); + if($user_shop_email){ + Mail::to($billing_email)->bcc([$user_shop_email, $checkout_mail])->send(new MailCheckout($data['txaction'], $shopping_order, $shopping_payment)); + }else{ + Mail::to($billing_email)->bcc($checkout_mail)->send(new MailCheckout($data['txaction'], $shopping_order, $shopping_payment)); + } + die("ok"); } - public function removeCard($rowId){ - Yard::instance('shopping')->remove($rowId); - return back(); + private function makeShoppingUser($data){ + + $data['same_as_billing'] = isset($data['same_as_billing']) ? true : false; + $data['accepted_data_checkbox'] = isset($data['accepted_data_checkbox']) ? true : false; + + $shopping_user = false; + if($this->getPayments('shopping_user_id')){ + $shopping_user = ShoppingUser::find($this->getPayments('shopping_user_id')); + if($shopping_user){ + $shopping_user->fill($data); + $shopping_user->save(); + } + } + if(!$shopping_user){ + $shopping_user = ShoppingUser::create($data); + } + $this->putPayments('shopping_user_id', $shopping_user->id); + + return $shopping_user; } - public function deleteCard(){ + private function makeShoppingOrder($shopping_user){ - Yard::instance('shopping')->destroy(); - return back(); + + $user_shop = Util::getUserShop(); + + $data = [ + 'shopping_user_id' => $shopping_user->id, + 'country_id' => Yard::instance('shopping')->getShippingCountryId(), + 'user_shop_id' => $user_shop->id, + 'total' => Yard::instance('shopping')->total(2, '.', ','), + 'shipping' => Yard::instance('shopping')->shipping(2, '.', ','), + 'subtotal' => Yard::instance('shopping')->subtotalWithShipping(2, '.', ','), + 'tax_rate' => Yard::getTaxRate(), + 'tax' => Yard::instance('shopping')->subtotalWithShipping(2, '.', ','), + 'total_shipping' => Yard::instance('shopping')->totalWithShipping(2, '.', ','), + 'weight' => Yard::instance('shopping')->weight(), + ]; + $shopping_order= false; + if($this->getPayments('shopping_order_id')){ + $shopping_order = ShoppingOrder::find($this->getPayments('shopping_order_id')); + if($shopping_order){ + $shopping_order->fill($data); + $shopping_order->save(); + } + } + if(!$shopping_order){ + $shopping_order = ShoppingOrder::create($data); + } + $this->putPayments('shopping_order_id', $shopping_order->id); + + + $items = Yard::instance('shopping')->content(); + + + $shopping_order->shopping_order_items()->each(function($model) use ($items, $shopping_order) { + foreach ($items as $item) { + if ($model->row_id === $item->rowId) { + $model->fill([ + 'shopping_order_id' => $shopping_order->id, + 'row_id' => $item->rowId, + 'product_id' => $item->id, + 'qty' => $item->qty, + 'price' => $item->price, + 'slug' => $item->options->slug, + ])->save(); + return; + } + } + return $model->delete(); + }); + + foreach ($items as $item) { + if (!ShoppingOrderItem::where('shopping_order_id', $shopping_order->id)->where('row_id', $item->rowId)->count()) + ShoppingOrderItem::create([ + 'shopping_order_id' => $shopping_order->id, + 'row_id' => $item->rowId, + 'product_id' => $item->id, + 'qty' => $item->qty, + 'price' => $item->price, + 'slug' => $item->options->slug + ]); + }; + + return $shopping_order; + } + + private function putPayments($key, $value){ + $content = $this->getContent(); + $content->put($key, $value); + $this->session->put($this->instance, $content); + + } + private function getPayments($key){ + $content = $this->getContent(); + if ($content->has($key)){ + return $content->get($key); + } + return false; + } + private function getContent() + { + if (is_null($this->session->get($this->instance))) { + return new Collection([]); + } + return $this->session->get($this->instance); + } + + + public function destroy() + { + $this->session->remove($this->instance); } } \ No newline at end of file diff --git a/app/Mail/MailCheckout.php b/app/Mail/MailCheckout.php new file mode 100644 index 0000000..1b87655 --- /dev/null +++ b/app/Mail/MailCheckout.php @@ -0,0 +1,69 @@ +txaction = $txaction; + $this->shopping_order = $shopping_order; + $this->shopping_payment = $shopping_payment; + + $this->subject = __('Deine Bestellung auf mivita.care'); + if($shopping_order->user_shop){ + $this->subject = __('Deine Bestellung auf '.$shopping_order->user_shop->slug.'.mivita.care'); + } + } + + + public function build() + { + $salutation = __('Dear customer').","; + + if($this->shopping_order->shopping_user){ + $salutation = __('Hallo')." ".$this->shopping_order->shopping_user->billing_firstname." ".$this->shopping_order->shopping_user->billing_lastname.","; + //make Adresse + + } + if($this->txaction == 'paid'){ + return $this->view('emails.checkout')->with([ + 'salutation' => $salutation, + 'copy1line' => __('vielen Dank für Deine Bestellung bei mivita.care.

Nachfolgend haben wir zur Kontrolle Deine Bestellung noch einmal aufgelistet.'), + 'shopping_order' => $this->shopping_order, + 'shopping_payment' => $this->shopping_payment, + 'copy3line' => __('Bei Fragen sind wir jederzeit für Dich da.'), + 'greetings' => __('Best regards'), + 'sender' => __('your mivita.care team'), + ]); + }else{ + return $this->view('emails.checkout_status')->with([ + 'salutation' => $salutation, + 'copy1line' => "Status zu Deiner Bestellung bei mivita.care", + 'txactionn' => $this->txaction, + 'shopping_order' => $this->shopping_order, + 'shopping_payment' => $this->shopping_payment, + 'copy3line' => __('Bei Fragen sind wir jederzeit für Dich da.'), + 'greetings' => __('Best regards'), + 'sender' => __('your mivita.care team'), + ]); + } + + } +} \ No newline at end of file diff --git a/app/Models/PaymentTransaction.php b/app/Models/PaymentTransaction.php index fa9e9f7..84c47f7 100644 --- a/app/Models/PaymentTransaction.php +++ b/app/Models/PaymentTransaction.php @@ -6,5 +6,30 @@ use Illuminate\Database\Eloquent\Model; class PaymentTransaction extends Model { - // + protected $table = 'payment_transactions'; + + + protected $casts = [ + 'transmitted_data' => 'array' + ]; + + protected $fillable = [ + 'shopping_payment_id', + 'request', + 'txid', + 'userid', + 'status', + 'key', + 'txaction', + 'transmitted_data', + 'errorcode', + 'errormessage', + 'customermessage', + ]; + + + public function shopping_payment() + { + return $this->belongsTo('App\Models\ShoppingPayment','shopping_payment_id'); + } } diff --git a/app/Models/ShoppingOrder.php b/app/Models/ShoppingOrder.php index 8a5dfbd..a97482e 100644 --- a/app/Models/ShoppingOrder.php +++ b/app/Models/ShoppingOrder.php @@ -6,5 +6,77 @@ use Illuminate\Database\Eloquent\Model; class ShoppingOrder extends Model { - // + protected $table = 'shopping_orders'; + + protected $fillable = [ + 'shopping_user_id', + 'country_id', + 'user_shop_id', + 'total', + 'shipping', + 'subtotal', + 'tax_rate', + 'tax', + 'total_shipping', + 'weight', + ]; + + + public function shopping_user() + { + return $this->belongsTo('App\Models\ShoppingUser','shopping_user_id'); + } + + public function country() + { + return $this->belongsTo('App\Models\Country','country_id'); + } + + public function user_shop() + { + return $this->belongsTo('App\Models\UserShop','user_shop_id'); + } + + public function shopping_order_items(){ + return $this->hasMany('App\Models\ShoppingOrderItem', 'shopping_order_id'); + } + + public function shopping_payments(){ + return $this->hasMany('App\Models\ShoppingPayment', 'shopping_order_id'); + } + + + public function _format_number($value) + { + return preg_replace("/[^0-9,]/", "", $value); + } + + + public function getFormattedShipping() + { + if (\App::getLocale() == "en") { + return number_format($this->attributes['shipping'], 2, '.', ','); + } + return number_format($this->attributes['shipping'], 2, ',', '.'); + } + + public function getFormattedTotalShipping() + { + if (\App::getLocale() == "en") { + return number_format($this->attributes['total_shipping'], 2, '.', ','); + } + return number_format($this->attributes['total_shipping'], 2, ',', '.'); + } + + + public function getFormattedPrice() + { + if (\App::getLocale() == "en") { + return number_format($this->attributes['price'], 2, '.', ','); + } + return number_format($this->attributes['price'], 2, ',', '.'); + } + + + } diff --git a/app/Models/ShoppingOrderItem.php b/app/Models/ShoppingOrderItem.php index b05d823..f5a056c 100644 --- a/app/Models/ShoppingOrderItem.php +++ b/app/Models/ShoppingOrderItem.php @@ -6,5 +6,34 @@ use Illuminate\Database\Eloquent\Model; class ShoppingOrderItem extends Model { - // -} + protected $table = 'shopping_order_items'; + + protected $fillable = [ + 'shopping_order_id', + 'row_id', + 'product_id', + 'qty', + 'price', + 'slug', + ]; + + + public function shopping_order() + { + return $this->belongsTo('App\Models\ShoppingOrder','shopping_order_id'); + } + + public function product() + { + return $this->belongsTo('App\Models\Product','product_id'); + } + + public function getFormattedPrice() + { + if (\App::getLocale() == "en") { + return number_format($this->attributes['price'], 2, '.', ','); + } + return number_format($this->attributes['price'], 2, ',', '.'); + } + +} \ No newline at end of file diff --git a/app/Models/ShoppingPayment.php b/app/Models/ShoppingPayment.php index 6c37d98..47c4a67 100644 --- a/app/Models/ShoppingPayment.php +++ b/app/Models/ShoppingPayment.php @@ -6,5 +6,47 @@ use Illuminate\Database\Eloquent\Model; class ShoppingPayment extends Model { - // -} + protected $table = 'shopping_payments'; + + protected $fillable = [ + 'shopping_order_id', + 'clearingtype', + 'wallettype', + 'onlinebanktransfertype', + 'reference', + 'amount', + 'currency', + ]; + + + public function shopping_order() + { + return $this->belongsTo('App\Models\ShoppingOrder','shopping_order_id'); + } + + public function payment_transactions() + { + return $this->hasMany('App\Models\PaymentTransaction','shopping_payment_id'); + } + + public function getPaymentType(){ + + if($this->clearingtype == 'wlt') { + if ($this->wallettype == 'PPE') { + return 'PayPal'; + } + } + if($this->clearingtype == 'cc') { + return 'Kreditkarte'; + } + if($this->clearingtype == 'vor') { + return 'Vorkasse'; + } + if($this->clearingtype == 'sb') { + if ($this->onlinebanktransfertype == 'PNT') { + return 'Sofort Überweisung'; + } + } + } + +} \ No newline at end of file diff --git a/app/Models/ShoppingUser.php b/app/Models/ShoppingUser.php index 116dd18..1e91823 100644 --- a/app/Models/ShoppingUser.php +++ b/app/Models/ShoppingUser.php @@ -6,5 +6,49 @@ use Illuminate\Database\Eloquent\Model; class ShoppingUser extends Model { - // -} + protected $table = 'shopping_users'; + + protected $fillable = [ + 'billing_salutation', + 'billing_company', + 'billing_firstname', + 'billing_lastname', + 'billing_address', + 'billing_address_2', + 'billing_zipcode', + 'billing_city', + 'billing_country_id', + 'billing_phone', + 'billing_email', + 'accepted_data_checkbox', + 'same_as_billing', + 'shipping_salutation', + 'shipping_company', + 'shipping_firstname', + 'shipping_lastname', + 'shipping_address', + 'shipping_address_2', + 'shipping_zipcode', + 'shipping_city', + 'shipping_country_id', + 'shipping_phone', + ]; + + + + public function billing_country() + { + return $this->belongsTo('App\Models\Country','billing_country_id'); + } + + public function shipping_country() + { + return $this->belongsTo('App\Models\Country','shipping_country_id'); + } + + public function Shopping_orders() + { + return $this->hasMany('App\Models\ShoppingOrder','shopping_user_id'); + } + +} \ No newline at end of file diff --git a/app/Services/Util.php b/app/Services/Util.php index 202eb38..554fdb0 100644 --- a/app/Services/Util.php +++ b/app/Services/Util.php @@ -73,7 +73,17 @@ class Util return false; } - public static function getUserShopBackUrl($uri){ + public static function getUserShopBackUrl(){ + + if(\Session::has('user_shop')){ + if($user_shop = \Session::get('user_shop')){ + return 'http://'.$user_shop->slug.".".Config('app.domain')."/back/to/shop"; + } + } + return url("/"); + } + + public static function getUserCardBackUrl($uri){ if(\Session::has('user_shop')){ if($user_shop = \Session::get('user_shop')){ diff --git a/app/Services/Yard.php b/app/Services/Yard.php index f6a52de..5f936e7 100644 --- a/app/Services/Yard.php +++ b/app/Services/Yard.php @@ -226,6 +226,13 @@ class Yard extends Cart return $this->numberFormat($subTotal, $decimals, $decimalPoint, $thousandSeperator); } + public function destroy() + { + $this->ysession->remove($this->yinstance); + parent::destroy(); + + } + /** * Get the Formated number diff --git a/config/app.php b/config/app.php index 1845d87..20dfa42 100755 --- a/config/app.php +++ b/config/app.php @@ -58,6 +58,7 @@ return [ 'pre_url_main' => env('APP_URL_MAIN', ''), 'pre_url_crm' => env('APP_URL_CRM', 'mein.'), 'checkout_url' => env('APP_URL_CHECKOUT', 'checkout.'), + 'checkout_mail' => env('APP_CHECKOUT_MAIL', 'k.adametz@kagado.de'), /* 'url_backend' => env('APP_URL', 'http://mivita.local/'), diff --git a/config/logging.php b/config/logging.php index 400bc7f..2615106 100755 --- a/config/logging.php +++ b/config/logging.php @@ -33,6 +33,11 @@ return [ */ 'channels' => [ + + 'payone' => [ + 'driver' => 'single', + 'path' => storage_path('logs/payone.log'), + ], 'stack' => [ 'driver' => 'stack', 'channels' => ['single'], diff --git a/config/mail.php b/config/mail.php index d2fb75a..2ad6b89 100755 --- a/config/mail.php +++ b/config/mail.php @@ -57,7 +57,7 @@ return [ 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'support@mivita.care'), - 'name' => env('MAIL_FROM_NAME', 'Support at mivita.care'), + 'name' => env('MAIL_FROM_NAME', 'mivita.care'), ], /* diff --git a/database/migrations/2019_02_23_161530_create_shopping_users_table.php b/database/migrations/2019_02_23_161530_create_shopping_users_table.php index 568bbd7..f928ba5 100644 --- a/database/migrations/2019_02_23_161530_create_shopping_users_table.php +++ b/database/migrations/2019_02_23_161530_create_shopping_users_table.php @@ -28,6 +28,9 @@ class CreateShoppingUsersTable extends Migration $table->string('billing_phone')->nullable(); $table->string('billing_email')->nullable(); + + $table->boolean('accepted_data_checkbox')->default(false); + $table->boolean('same_as_billing')->default(true); $table->char('shipping_salutation', 2)->nullable(); diff --git a/database/migrations/2019_02_23_163527_create_shopping_orders_table.php b/database/migrations/2019_02_23_163527_create_shopping_orders_table.php index 2ec8cbd..97e9a2a 100644 --- a/database/migrations/2019_02_23_163527_create_shopping_orders_table.php +++ b/database/migrations/2019_02_23_163527_create_shopping_orders_table.php @@ -29,6 +29,10 @@ class CreateShoppingOrdersTable extends Migration $table->unsignedInteger('weight')->nullable(); + $table->boolean('paid')->default(false); + $table->string('txaction', 20)->nullable()->index(); + + $table->timestamps(); $table->foreign('shopping_user_id') diff --git a/database/migrations/2019_02_23_163724_create_shopping_order_items_table.php b/database/migrations/2019_02_23_163724_create_shopping_order_items_table.php index bea89c7..c6c826f 100644 --- a/database/migrations/2019_02_23_163724_create_shopping_order_items_table.php +++ b/database/migrations/2019_02_23_163724_create_shopping_order_items_table.php @@ -17,12 +17,12 @@ class CreateShoppingOrderItemsTable extends Migration $table->increments('id'); $table->unsignedInteger('shopping_order_id'); + $table->string('row_id', 40)->nullable(); $table->unsignedInteger('product_id'); + $table->unsignedInteger('qty'); $table->decimal('price', 8, 2)->nullable(); $table->string('slug')->nullable(); - $table->boolean('paid')->default(false); - $table->timestamps(); $table->foreign('shopping_order_id') diff --git a/database/migrations/2019_02_23_163832_create_shopping_payments_table.php b/database/migrations/2019_02_23_163832_create_shopping_payments_table.php index 646b7d0..8155cd0 100644 --- a/database/migrations/2019_02_23_163832_create_shopping_payments_table.php +++ b/database/migrations/2019_02_23_163832_create_shopping_payments_table.php @@ -22,10 +22,12 @@ class CreateShoppingPaymentsTable extends Migration $table->string('wallettype', 3)->nullable(); $table->string('onlinebanktransfertype',3)->nullable(); - $table->string('reference', 20); + $table->string('reference', 16); $table->unsignedInteger('amount'); $table->string('currency', 6); + $table->string('status', 10)->nullable()->index(); + $table->string('txaction', 20)->nullable()->index(); $table->timestamps(); diff --git a/database/migrations/2019_02_25_090014_create_payment_transactions_table.php b/database/migrations/2019_02_25_090014_create_payment_transactions_table.php index 3a01103..fc708ff 100644 --- a/database/migrations/2019_02_25_090014_create_payment_transactions_table.php +++ b/database/migrations/2019_02_25_090014_create_payment_transactions_table.php @@ -22,17 +22,17 @@ class CreatePaymentTransactionsTable extends Migration $table->unsignedInteger('txid'); $table->unsignedInteger('userid'); - $table->string('status',20)->nullable();; + $table->string('status',20)->nullable(); - $table->string('key',40)->nullable();; - $table->string('txaction',20)->nullable();; + $table->string('key',40)->nullable(); + $table->string('txaction',20)->nullable(); - $table->text('transmitted_data')->nullable();; + $table->text('transmitted_data')->nullable(); - $table->unsignedInteger('errorcode')->nullable();; - $table->string('errormessage')->nullable();; - $table->string('customermessage')->nullable();; + $table->unsignedInteger('errorcode')->nullable(); + $table->string('errormessage')->nullable(); + $table->string('customermessage')->nullable(); $table->timestamps(); diff --git a/public/images/payments-assets/creditcard.png b/public/images/payments-assets/creditcard.png new file mode 100644 index 0000000000000000000000000000000000000000..83b1b4ee04cc5707b5effba75319428b9140f35b GIT binary patch literal 16365 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 literal 0 HcmV?d00001 diff --git a/public/images/payments-assets/paypal.png b/public/images/payments-assets/paypal.png new file mode 100644 index 0000000000000000000000000000000000000000..7722f3f2795a6fd0488a410b93abab9b56d1028d GIT binary patch literal 12920 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 iMN1~?yhTO=fd32p`45_>LMHhD0000 literal 0 HcmV?d00001 diff --git a/public/images/payments-assets/sofort.png b/public/images/payments-assets/sofort.png new file mode 100644 index 0000000000000000000000000000000000000000..b07acd24baf1856e2ada3cd1916d1b84baccfb18 GIT binary patch literal 10171 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 literal 0 HcmV?d00001 diff --git a/public/images/payments-assets/vor.png b/public/images/payments-assets/vor.png new file mode 100644 index 0000000000000000000000000000000000000000..f73551f0c39530bfda44dab4bd8d6b72f220adb6 GIT binary patch literal 6321 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 literal 0 HcmV?d00001 diff --git a/public/images/payments.psd b/public/images/payments.psd new file mode 100644 index 0000000000000000000000000000000000000000..fc0d283e06dbb158a03f5c851a90ebb509658e10 GIT binary patch literal 162189 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 z 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 literal 0 HcmV?d00001 diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php index a594df3..dc91136 100755 --- a/resources/lang/de/validation.php +++ b/resources/lang/de/validation.php @@ -180,18 +180,20 @@ return [ 'user_shop_active' => 'Nutzungsbedinungen', 'g-recaptcha-response' => 'google reCaptcha', 'accepted_data_protection' => 'Einwilligung Datenschutzerklärung', - 'billing.firstname'=>'Vorname', - 'billing.lastname'=>'Nachname', - 'billing.email'=>'E-Mail-Adresse', - 'billing.address'=>'Adresse', - 'billing.zipcode'=>'PLZ', - 'billing.city' => 'Stadt', + 'billing_salutation' => 'Anrede', + 'billing_firstname'=>'Vorname', + 'billing_lastname'=>'Nachname', + 'billing_email'=>'E-Mail-Adresse', + 'billing_address'=>'Adresse', + 'billing_zipcode'=>'PLZ', + 'billing_city' => 'Stadt', 'accepted_data_checkbox' => 'Einwilligung', - 'shipping.firstname'=>'Vorname', - 'shipping.lastname'=>'Nachname', - 'shipping.address'=>'Adresse', - 'shipping.zipcode'=>'PLZ', - 'shipping.city' => 'Stadt' + 'shipping_salutation' => 'Anrede', + 'shipping_firstname'=>'Vorname', + 'shipping_lastname'=>'Nachname', + 'shipping_address'=>'Adresse', + 'shipping_zipcode'=>'PLZ', + 'shipping_city' => 'Stadt' ], ]; diff --git a/resources/views/emails/checkout.blade.php b/resources/views/emails/checkout.blade.php new file mode 100644 index 0000000..24a2ff5 --- /dev/null +++ b/resources/views/emails/checkout.blade.php @@ -0,0 +1,392 @@ + + + + + + mivita.care + + + + + + + + + + + + +

+ {{ $copy1line }} +
+ + + + + +
+
+ + + + +
+ + + + +
+
+ + + + + + + + + +
+
+ + mivita.care + +
+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {{ $salutation }} +
+ {!! nl2br($copy1line) !!} +
+

+ Du hast folgende Artikel bestellt: +
+ + @foreach($shopping_order->shopping_order_items as $shopping_order_item) + + + + + + @endforeach + + + + + + + + + + + + + + + + +
+ {{ $shopping_order_item->qty }} x + + {{ $shopping_order_item->product->name }} + + {{ $shopping_order_item->getFormattedPrice() }} EUR +
+
+
+   + + Verpackungs- u. Versandkosten + + {{ $shopping_order->getFormattedShipping() }} EUR +
+
+
+   + + Gesamtpreis + + {{ $shopping_order->getFormattedTotalShipping() }} EUR +
+
+
+
+ Zahlungsinfo: +
+ + + + +
+ Zahlung ist bestätigt!
+ Zahlung mit: {{$shopping_payment->getPaymentType()}}
+ Zahlungsreferenz: {{$shopping_payment->reference}}
+ Deine E-Mai: {{ $shopping_order->shopping_user->billing_email }}
+
+
+
+
+ Deine Rechnungsadresse: +
+ + + + + +
+ @if($shopping_order->shopping_user->billing_company) + {{ $shopping_order->shopping_user->billing_company }}
+ @endif + + {{ $shopping_order->shopping_user->billing_firstname }} + {{ $shopping_order->shopping_user->billing_lastname }}
+
+ + {{ $shopping_order->shopping_user->billing_address }}
+ @if($shopping_order->shopping_user->billing_address_2) + {{ $shopping_order->shopping_user->billing_address_2 }}
+ @endif + + {{ $shopping_order->shopping_user->billing_zipcode }} + {{ $shopping_order->shopping_user->billing_city }}
+ {{ $shopping_order->shopping_user->billing_country->getLocated() }}
+ + @if($shopping_order->shopping_user->billing_phone) +

{{ $shopping_order->shopping_user->billing_phone }}
+ @endif +
+
+ Deine Lieferadresse: +
+ + + + + +
+ @if($shopping_order->shopping_user->same_as_billing) + Lieferadresse ist gleich Rechnungsadresse + @else + + @if($shopping_order->shopping_user->shipping_company) + {{ $shopping_order->shopping_user->shipping_company }}
+ @endif + + {{ $shopping_order->shopping_user->shipping_firstname }} + {{ $shopping_order->shopping_user->shipping_lastname }}
+
+ + {{ $shopping_order->shopping_user->shipping_address }}
+ @if($shopping_order->shopping_user->shipping_address_2) + {{ $shopping_order->shopping_user->shipping_address_2 }}
+ @endif + + {{ $shopping_order->shopping_user->shipping_zipcode }} + {{ $shopping_order->shopping_user->shipping_city }}
+ + {{ $shopping_order->shopping_user->shipping_country->getLocated() }}
+ + + @if($shopping_order->shopping_user->shipping_phone) +

{{ $shopping_order->shopping_user->shipping_phone }}
+ @endif + @endif +
+
+
+
+ + + + + + + +
+ {{ $copy3line }} +
+ + @if($shopping_order->user_shop) + @if($shopping_order->user_shop->title) + {{ $shopping_order->user_shop->title }}
+ @endif + @if($shopping_order->user_shop->contact) + {!! nl2br($shopping_order->user_shop->contact) !!}
+ @endif + {{ $shopping_order->user_shop->getSubdomain() }} + + @endif + + +

+ {{ $greetings }}
{{ $sender }} +
+

+
+ + + + + + + +
+

+ mivita e.K. | Leinfeld 2 | 87755 Kirchhaslach
+ Telefon: +49 (0) 8333 946 98 90 | Fax: +49 (0) 8333 7268
+ E-Mail: info@mivita.care

+ www.mivita.care +
+

Geschäftsinhaber: Alois Ried | Registergericht: Memmingen
+ Registernummer: HRA 12236 | USt-ID-Nr.: DE 244162340

+ + Datenschutzerklärung
+ Impressum
+ + © 2019 All Rights Reserved
+
+
+
+
+ + + diff --git a/resources/views/emails/checkout_status.blade.php b/resources/views/emails/checkout_status.blade.php new file mode 100644 index 0000000..d701e70 --- /dev/null +++ b/resources/views/emails/checkout_status.blade.php @@ -0,0 +1,419 @@ + + + + + + mivita.care + + + + + + + + + + + + +
+ {{ $copy1line }} +
+ + + + + +
+
+ + + + +
+ + + + +
+
+ + + + + + + + + +
+
+ + mivita.care + +
+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {{ $salutation }} +
+ {!! nl2br($copy1line) !!} +
+ Statusinfo: +
+ + + + +
+ @if($txaction == 'failed') + Die Zahlung ist fehlgeschlagen!
+ @elseif($txaction == 'appointed') + + @if($shopping_payment->clearingtype == "vor") + Bezahlung per Vorkasse:
+ Bitte überweise {{ number_format( floatval($shopping_payment->amount/100), 2, ",", ".") }} EUR auf die folgende Kontoverbindung, um den Kauf abzuschließen.
+

+ @php($pay_trans = $shopping_payment->payment_transactions->where('request', 'preauthorization')->last()) + + + Kontoinhaber: {{ $pay_trans->transmitted_data['clearing_bankaccountholder'] }}
+ IBAN: {{ $pay_trans->transmitted_data['clearing_bankiban'] }}
+ BIC: {{ $pay_trans->transmitted_data['clearing_bankbic'] }}
+ Bank: {{ $pay_trans->transmitted_data['clearing_bankname'] }}
+ Gesamtbetrag: {{ number_format( floatval($pay_trans->shopping_payment->amount/100), 2, ",", ".") }} EUR
+ Verwendungszweck: {{ $pay_trans->transmitted_data['clearing_bankcode'] }} +

+
+ @else + Deine Zahlung wurde genehmigt, eine Bestätigung der Zahlung wird automatisch erstellt.
+ @endif + @else + SystemStatus: {{$txaction}}
+ + @endif + + Zahlung mit: {{$shopping_payment->getPaymentType()}}
+ Zahlungsreferenz: {{$shopping_payment->reference}}
+ Deine E-Mai: {{ $shopping_order->shopping_user->billing_email }}
+
+
+

+ Du hast folgende Artikel bestellt: +
+ + @foreach($shopping_order->shopping_order_items as $shopping_order_item) + + + + + + @endforeach + + + + + + + + + + + + + + + + +
+ {{ $shopping_order_item->qty }} x + + {{ $shopping_order_item->product->name }} + + {{ $shopping_order_item->getFormattedPrice() }} EUR +
+
+
+   + + Verpackungs- u. Versandkosten + + {{ $shopping_order->getFormattedShipping() }} EUR +
+
+
+   + + Gesamtpreis + + {{ $shopping_order->getFormattedTotalShipping() }} EUR +
+
+
+
+ Deine Rechnungsadresse: +
+ + + + + +
+ @if($shopping_order->shopping_user->billing_company) + {{ $shopping_order->shopping_user->billing_company }}
+ @endif + + {{ $shopping_order->shopping_user->billing_firstname }} + {{ $shopping_order->shopping_user->billing_lastname }}
+
+ + {{ $shopping_order->shopping_user->billing_address }}
+ @if($shopping_order->shopping_user->billing_address_2) + {{ $shopping_order->shopping_user->billing_address_2 }}
+ @endif + + {{ $shopping_order->shopping_user->billing_zipcode }} + {{ $shopping_order->shopping_user->billing_city }}
+ {{ $shopping_order->shopping_user->billing_country->getLocated() }}
+ + @if($shopping_order->shopping_user->billing_phone) +

{{ $shopping_order->shopping_user->billing_phone }}
+ @endif +
+
+
+
+ Deine Lieferadresse: +
+ + + + + +
+ @if($shopping_order->shopping_user->same_as_billing) + Lieferadresse ist gleich Rechnungsadresse + @else + + @if($shopping_order->shopping_user->shipping_company) + {{ $shopping_order->shopping_user->shipping_company }}
+ @endif + + {{ $shopping_order->shopping_user->shipping_firstname }} + {{ $shopping_order->shopping_user->shipping_lastname }}
+
+ + {{ $shopping_order->shopping_user->shipping_address }}
+ @if($shopping_order->shopping_user->shipping_address_2) + {{ $shopping_order->shopping_user->shipping_address_2 }}
+ @endif + + {{ $shopping_order->shopping_user->shipping_zipcode }} + {{ $shopping_order->shopping_user->shipping_city }}
+ + {{ $shopping_order->shopping_user->shipping_country->getLocated() }}
+ + + @if($shopping_order->shopping_user->shipping_phone) +

{{ $shopping_order->shopping_user->shipping_phone }}
+ @endif + @endif +
+
+
+
+ + + + + + + +
+ {{ $copy3line }} +
+ + @if($shopping_order->user_shop) + @if($shopping_order->user_shop->title) + {{ $shopping_order->user_shop->title }}
+ @endif + @if($shopping_order->user_shop->contact) + {!! nl2br($shopping_order->user_shop->contact) !!}
+ @endif + {{ $shopping_order->user_shop->getSubdomain() }} + + @endif + + +

+ {{ $greetings }}
{{ $sender }} +
+

+
+ + + + + + + +
+

+ mivita e.K. | Leinfeld 2 | 87755 Kirchhaslach
+ Telefon: +49 (0) 8333 946 98 90 | Fax: +49 (0) 8333 7268
+ E-Mail: info@mivita.care

+ www.mivita.care +
+

Geschäftsinhaber: Alois Ried | Registergericht: Memmingen
+ Registernummer: HRA 12236 | USt-ID-Nr.: DE 244162340

+ + Datenschutzerklärung
+ Impressum
+ + © 2019 All Rights Reserved
+
+
+
+
+ + + diff --git a/resources/views/web/templates/checkout-final.blade.php b/resources/views/web/templates/checkout-final.blade.php index 4e13f37..e89d7ef 100644 --- a/resources/views/web/templates/checkout-final.blade.php +++ b/resources/views/web/templates/checkout-final.blade.php @@ -92,18 +92,37 @@
-

Thank you, John Doe.

- -

- Your order has been placed. In a few moments you will receive an order confirmation email from us.
- If you like, you can explore more products. -

+

Vielen Dank,

+

Deine Bestellung wurde aufgenommen. In Kürze erhälst du von uns eine Bestellbestätigungs-E-Mail.

+

Deine Bestellnummer ist: {{ $order_reference }}


+ @if($pay_trans && $pay_trans->shopping_payment) + + @if($pay_trans->shopping_payment->clearingtype == "vor") +

Bezahlung per Vorkasse:

+

Bitte überweise {{ number_format( floatval($pay_trans->shopping_payment->amount/100), 2, ",", ".") }} EUR auf die folgende Kontoverbindung, um den Kauf abzuschließen. +
+ Kontoinhaber: {{ $pay_trans->transmitted_data['clearing_bankaccountholder'] }}
+ IBAN: {{ $pay_trans->transmitted_data['clearing_bankiban'] }}
+ BIC: {{ $pay_trans->transmitted_data['clearing_bankbic'] }}
+ Bank: {{ $pay_trans->transmitted_data['clearing_bankname'] }}
+ Gesamtbetrag: {{ number_format( floatval($pay_trans->shopping_payment->amount/100), 2, ",", ".") }} EUR
+ Verwendungszweck: {{ $pay_trans->transmitted_data['clearing_bankcode'] }} +

+
+ @endif + + @if($pay_trans->shopping_payment->clearingtype == "cc") +

Bezahlung per Kreditkarte:

+

Deine Zahlung wurde genehmigt, eine Bestätigung der Zahlung wird automatisch erstellt.

+
+ @endif + @endif

- Thank you very much for choosing us,
- Inc. + Dein Team von,
+ mivita.

diff --git a/resources/views/web/templates/checkout.blade.php b/resources/views/web/templates/checkout.blade.php index ed352dd..522876a 100644 --- a/resources/views/web/templates/checkout.blade.php +++ b/resources/views/web/templates/checkout.blade.php @@ -84,13 +84,20 @@ padding-top: 10px; } } - - - - .error .select2-selection { + .cc_error { border: #bf6464 2px dashed; } + + + .error .select2-selection, .error select.form-control { + border: #bf6464 2px dashed; + } + + fieldset.softhide { + display: none; + } + @@ -141,6 +148,18 @@ @endif + @if (\Session::has('errormessage')) +
+
+
+ {{ \Session::get('customermessage') }} +
+
+
+ @endif + + +
{!! Form::open(['url' => route('checkout.checkout_card_final'), 'class' => 'row clearfix', 'id'=>'']) !!} @@ -153,19 +172,19 @@
- {!! Form::text('billing[company]', null, ['class' => 'form-control', 'id'=>'billing_company']) !!} + {!! Form::text('billing_company', $shopping_user->billing_company, ['class' => 'form-control', 'id'=>'billing_company']) !!}
-
+
- + {!! HTMLHelper::getSalutation(($shopping_user->billing_salutation ? $shopping_user->billing_salutation : old('billing_salutation'))) !!} - @if ($errors->has('billing.salutation')) - + @if ($errors->has('billing_salutation')) + @endif
@@ -174,18 +193,18 @@
- {!! Form::text('billing[firstname]', null, ['class' => 'form-control '.($errors->has('billing.firstname') ? 'error' : ''), 'id'=>'billing_firstname']) !!} - @if ($errors->has('billing.firstname')) - + {!! Form::text('billing_firstname', $shopping_user->billing_firstname, ['class' => 'form-control '.($errors->has('billing_firstname') ? 'error' : ''), 'id'=>'billing_firstname']) !!} + @if ($errors->has('billing_firstname')) + @endif
- {!! Form::text('billing[lastname]', null, ['class' => 'form-control '.($errors->has('billing.lastname') ? 'error' : ''), 'id'=>'billing_lastname']) !!} - @if ($errors->has('billing.lastname')) - + {!! Form::text('billing_lastname', $shopping_user->billing_lastname, ['class' => 'form-control '.($errors->has('billing_lastname') ? 'error' : ''), 'id'=>'billing_lastname']) !!} + @if ($errors->has('billing_lastname')) + @endif
@@ -195,18 +214,18 @@
- {!! Form::text('billing[address]', null, ['class' => 'form-control '.($errors->has('billing.address') ? 'error' : ''), 'id'=>'billing_address']) !!} - @if ($errors->has('billing.address')) - + {!! Form::text('billing_address', $shopping_user->billing_address, ['class' => 'form-control '.($errors->has('billing_address') ? 'error' : ''), 'id'=>'billing_address']) !!} + @if ($errors->has('billing_address')) + @endif
- {!! Form::text('billing[address_2]', null, ['class' => 'form-control '.($errors->has('billing.address_2') ? 'error' : ''), 'id'=>'billing_address_2']) !!} - @if ($errors->has('billing.address_]')) - + {!! Form::text('billing_address_2', $shopping_user->billing_address_2, ['class' => 'form-control '.($errors->has('billing_address_2') ? 'error' : ''), 'id'=>'billing_address_2']) !!} + @if ($errors->has('billing_address_2')) + @endif
@@ -215,44 +234,44 @@
- {!! Form::text('billing[zipcode]', null, ['class' => 'form-control '.($errors->has('billing.zipcode') ? 'error' : ''), 'id'=>'billing_zipcode']) !!} - @if ($errors->has('billing.zipcode')) - + {!! Form::text('billing_zipcode', $shopping_user->billing_zipcode, ['class' => 'form-control '.($errors->has('billing_zipcode') ? 'error' : ''), 'id'=>'billing_zipcode']) !!} + @if ($errors->has('billing_zipcode')) + @endif
- {!! Form::text('billing[city]', null, ['class' => 'form-control '.($errors->has('billing.city') ? 'error' : ''), 'id'=>'billing_city']) !!} - @if ($errors->has('billing.city')) - + {!! Form::text('billing_city', $shopping_user->billing_city, ['class' => 'form-control '.($errors->has('billing_city') ? 'error' : ''), 'id'=>'billing_city']) !!} + @if ($errors->has('billing_city')) + @endif
- {!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!} - +
- {!! Form::text('billing[phone]', null, ['class' => 'form-control '.($errors->has('billing.phone') ? 'error' : ''), 'id'=>'billing_phone']) !!} - @if ($errors->has('billing.phone')) - + {!! Form::text('billing_phone', $shopping_user->billing_phone, ['class' => 'form-control '.($errors->has('billing_phone') ? 'error' : ''), 'id'=>'billing_phone']) !!} + @if ($errors->has('billing_phone')) + @endif
- {!! Form::email('billing[email]', null, ['class' => 'form-control '.($errors->has('billing.email') ? 'error' : ''), 'id'=>'billing_email']) !!} - @if ($errors->has('billing.email')) - + {!! Form::email('billing_email', $shopping_user->billing_email, ['class' => 'form-control '.($errors->has('billing_email') ? 'error' : ''), 'id'=>'billing_email']) !!} + @if ($errors->has('billing_email')) + @endif
@@ -261,7 +280,7 @@

@if ($errors->has('accepted_data_checkbox')) @@ -276,7 +295,7 @@

@@ -298,19 +317,23 @@
- {!! Form::text('shipping[company]', null, ['class' => 'form-control', 'id'=>'billing_company']) !!} + {!! Form::text('shipping_company', $shopping_user->shipping_company, ['class' => 'form-control', 'id'=>'billing_company']) !!}
+
+ + - + {!! HTMLHelper::getSalutation(($shopping_user->shipping_salutation ? $shopping_user->shipping_salutation : old('shipping_salutation'))) !!} - @if ($errors->has('shipping.firstname')) - + @if ($errors->has('shipping_salutation')) + @endif +
@@ -318,18 +341,18 @@
- {!! Form::text('shipping[firstname]', null, ['class' => 'form-control '.($errors->has('shipping.firstname') ? 'error' : ''), 'id'=>'shipping_firstname']) !!} - @if ($errors->has('shipping.firstname')) - + {!! Form::text('shipping_firstname', $shopping_user->shipping_firstname, ['class' => 'form-control '.($errors->has('shipping_firstname') ? 'error' : ''), 'id'=>'shipping_firstname']) !!} + @if ($errors->has('shipping_firstname')) + @endif
- {!! Form::text('shipping[lastname]', null, ['class' => 'form-control '.($errors->has('shipping.lastname') ? 'error' : ''), 'id'=>'shipping_lastname']) !!} - @if ($errors->has('shipping.lastname')) - + {!! Form::text('shipping_lastname', $shopping_user->shipping_lastname, ['class' => 'form-control '.($errors->has('shipping_lastname') ? 'error' : ''), 'id'=>'shipping_lastname']) !!} + @if ($errors->has('shipping_lastname')) + @endif
@@ -339,18 +362,18 @@
- {!! Form::text('shipping[address]', null, ['class' => 'form-control '.($errors->has('shipping.address') ? 'error' : ''), 'id'=>'shipping_address']) !!} - @if ($errors->has('shipping.address')) - + {!! Form::text('shipping_address', $shopping_user->shipping_address, ['class' => 'form-control '.($errors->has('shipping_address') ? 'error' : ''), 'id'=>'shipping_address']) !!} + @if ($errors->has('shipping_address')) + @endif
- {!! Form::text('shipping[address_2]', null, ['class' => 'form-control '.($errors->has('shipping.address_2') ? 'error' : ''), 'id'=>'shipping_address_2']) !!} - @if ($errors->has('shipping.address_]')) - + {!! Form::text('shipping_address_2', $shopping_user->shipping_address_2, ['class' => 'form-control '.($errors->has('shipping_address_2') ? 'error' : ''), 'id'=>'shipping_address_2']) !!} + @if ($errors->has('shipping_address_2')) + @endif
@@ -359,16 +382,16 @@
- {!! Form::text('shipping[zipcode]', null, ['class' => 'form-control '.($errors->has('shipping.zipcode') ? 'error' : ''), 'id'=>'shipping_zipcode']) !!} - @if ($errors->has('shipping.zipcode')) - + {!! Form::text('shipping_zipcode', $shopping_user->shipping_zipcode, ['class' => 'form-control '.($errors->has('shipping_zipcode') ? 'error' : ''), 'id'=>'shipping_zipcode']) !!} + @if ($errors->has('shipping_zipcode')) + @endif
- {!! Form::text('shipping[city]', null, ['class' => 'form-control '.($errors->has('shipping.city') ? 'error' : ''), 'id'=>'shipping_city']) !!} - @if ($errors->has('shipping.city')) - + {!! Form::text('shipping_city', $shopping_user->shipping_city, ['class' => 'form-control '.($errors->has('shipping_city') ? 'error' : ''), 'id'=>'shipping_city']) !!} + @if ($errors->has('shipping_city')) + @endif
@@ -377,19 +400,19 @@
- {!! HTMLHelper::getCountriesForShipping(Yard::instance('shopping')->getShippingCountryId()) !!} - +
- {!! Form::text('shipping[phone]', null, ['class' => 'form-control '.($errors->has('shipping.phone') ? 'error' : ''), 'id'=>'shipping_phone']) !!} - @if ($errors->has('shipping.phone')) - + {!! Form::text('shipping_phone', $shopping_user->shipping_phone, ['class' => 'form-control '.($errors->has('shipping_phone') ? 'error' : ''), 'id'=>'shipping_phone']) !!} + @if ($errors->has('shipping_phone')) + @endif
@@ -408,55 +431,61 @@

Zahlungsart


-
- -
-
-
{{--
-
--}}
-
- {{--
-
@@ -467,6 +496,85 @@ + +
+ + +

Kreditkarte

+ +
+ +
+
+
+ + + +
+ + +
+ +
+
+ +
+
+ {!! Form::text('cc_cardholder_first', '', ['class' => 'form-control', 'id'=>'cc_cardholder_first', 'placeholder'=>'Vorname']) !!} +
+
+ {!! Form::text('cc_cardholder_last', '', ['class' => 'form-control', 'id'=>'cc_cardholder_last', 'placeholder'=>'Nachname']) !!} +
+
+ +
+ + + {!! Form::text('cc_cardpan', '', ['class' => 'form-control', 'id'=>'cc_cardpan', 'placeholder'=>'Kreditkartennummer']) !!} +
+
+
+ +
+ +
+
+ +
+
+
+ + + {!! Form::text('cc_cardcvc2', '', ['class' => 'form-control', 'id'=>'cc_cardcvc2', 'placeholder'=>'CVC*']) !!} + +
+
+
+
+
+
@@ -517,46 +625,6 @@
- - - {{-- - -
-
-
- -
- -
- - -
- -
-
- - -
-
- - -
-
- NOTE: Email address will be used to login - -
- - - -
-
-
- - --}} -
{!! Form::close() !!} diff --git a/resources/views/web/user/layouts/application.blade.php b/resources/views/web/user/layouts/application.blade.php index e3061dd..1955f50 100644 --- a/resources/views/web/user/layouts/application.blade.php +++ b/resources/views/web/user/layouts/application.blade.php @@ -80,6 +80,87 @@ jQuery('.quick-cart-box').css('display', 'none'); }); + + function showCreditCardPayment(val){ + console.log(val); + if(val === 'cc'){ + $('#creditcard-box-holder').show('slow'); + }else{ + $('#creditcard-box-holder').hide('slow'); + } + + } + showCreditCardPayment(jQuery('input[name="payment_method"]:checked').val()); + jQuery('input[name="payment_method"]').on('change', function () { + showCreditCardPayment($(this).val()); + }); + + + + + {{-- + + + --}} + \ No newline at end of file diff --git a/resources/views/web/user/layouts/includes/footer.blade.php b/resources/views/web/user/layouts/includes/footer.blade.php index 1a0e536..4156c5a 100644 --- a/resources/views/web/user/layouts/includes/footer.blade.php +++ b/resources/views/web/user/layouts/includes/footer.blade.php @@ -7,16 +7,19 @@ Du möchtest Vertriebspartner werden oder hast Fragen zu unseren Produkten?

@if(Util::isCheckout()) - -

- Jetzt Kontakt aufnehmen: zum Kontakt -

- + @if(isset($order_reference)) +

+ zurück zum Shop +

+ @else +

+ Jetzt Kontakt aufnehmen: zum Kontakt +

+ @endif @else

Jetzt Kontakt aufnehmen: zum Kontakt

- @endif
@@ -61,9 +64,16 @@

 

- - zurück zum Warenkorb - + + @if(isset($order_reference)) + + zurück zum Shop + + @else + + zurück zum Warenkorb + + @endif
@else @@ -96,9 +106,9 @@
@if(Util::isCheckout()) @else diff --git a/resources/views/web/user/layouts/includes/header.blade.php b/resources/views/web/user/layouts/includes/header.blade.php index fbba118..74a7685 100644 --- a/resources/views/web/user/layouts/includes/header.blade.php +++ b/resources/views/web/user/layouts/includes/header.blade.php @@ -59,18 +59,31 @@ @if(Util::isCheckout()) - + @if(isset($order_reference)) + + @else + + @endif