Вход Регистрация
Файл: app/Traits/PaymentTrait.php
Строк: 101
<?php


namespace AppTraits;

use 
AppModelsCoupon;
use 
AppModelsPayment;
use 
AppModelsPlan;
use 
AppModelsTaxRate;

trait 
PaymentTrait
{
    
/**
     * Store the Payment.
     *
     * @param $params
     * @return Payment
     */
    
private function paymentStore($params)
    {
        
$payment = new Payment();
        
$payment->user_id = $params['user_id'];
        
$payment->plan_id = $params['plan_id'];
        
$payment->payment_id = $params['payment_id'];
        
$payment->processor = $params['processor'];
        
$payment->amount = $params['amount'];
        
$payment->currency = $params['currency'];
        
$payment->interval = $params['interval'];
        
$payment->status = $params['status'];
        
$payment->product = Plan::select('id', 'name', 'currency', 'amount_' . $params['interval'])->where('id', '=', $params['plan_id'])->withTrashed()->first();
        
$payment->coupon = $params['coupon'] ? Coupon::select('id', 'name', 'code', 'type', 'percentage')->where('id', '=', $params['coupon'])->withTrashed()->first() : null;
        
$payment->tax_rates = $params['tax_rates'] ? TaxRate::select('id', 'name', 'type', 'percentage')->whereIn('id', explode('_', $params['tax_rates']))->withTrashed()->get() : null;
        
$payment->customer = $params['customer'];
        
$payment->seller = collect([
            
'title' => config('settings.title'),
            
'vendor' => config('settings.billing_vendor'),
            
'address' => config('settings.billing_address'),
            
'city' => config('settings.billing_city'),
            
'state' => config('settings.billing_state'),
            
'postal_code' => config('settings.billing_postal_code'),
            
'country' => config('settings.billing_country'),
            
'phone' => config('settings.billing_phone'),
            
'vat_number' => config('settings.billing_vat_number')
        ]);
        
$payment->save();

        
// Store the invoice ID
        
$payment->invoice_id = config('settings.billing_invoice_prefix') . $payment->id;
        
$payment->save();

        return 
$payment;
    }
}
Онлайн: 2
Реклама