diff --git a/app/Mail/Engine/PaymentEmailEngine.php b/app/Mail/Engine/PaymentEmailEngine.php index 93cb4d6cfbb7..137be2392677 100644 --- a/app/Mail/Engine/PaymentEmailEngine.php +++ b/app/Mail/Engine/PaymentEmailEngine.php @@ -133,7 +133,7 @@ class PaymentEmailEngine extends BaseEmailEngine $data['$email'] = ['value' => isset($this->contact) ? $this->contact->email : 'no contact email on record', 'label' => ctrans('texts.email')]; $data['$client_name'] = ['value' => $this->client->present()->name() ?: ' ', 'label' => ctrans('texts.client_name')]; $data['$client.name'] = &$data['$client_name']; - $data['$client'] = &$data['client_name']; + $data['$client'] = &$data['$client_name']; $data['$client.address1'] = &$data['$address1']; $data['$client.address2'] = &$data['$address2']; $data['$client_address'] = ['value' => $this->client->present()->address() ?: ' ', 'label' => ctrans('texts.address')]; diff --git a/app/PaymentDrivers/PaytracePaymentDriver.php b/app/PaymentDrivers/PaytracePaymentDriver.php index 752030201c68..58a0dedd5b54 100644 --- a/app/PaymentDrivers/PaytracePaymentDriver.php +++ b/app/PaymentDrivers/PaytracePaymentDriver.php @@ -11,6 +11,7 @@ namespace App\PaymentDrivers; +use App\Jobs\Util\SystemLogger; use App\Models\ClientGatewayToken; use App\Models\GatewayType; use App\Models\Payment; @@ -86,17 +87,18 @@ class PaytracePaymentDriver extends BaseDriver public function refund(Payment $payment, $amount, $return_client_response = false) { - $cgt = ClientGatewayToken::where('company_gateway_id', $payment->company_gateway_id) - ->where('gateway_type_id', $payment->gateway_type_id) - ->first(); + // $cgt = ClientGatewayToken::where('company_gateway_id', $payment->company_gateway_id) + // ->where('gateway_type_id', $payment->gateway_type_id) + // ->first(); $data = [ 'amount' => $amount, - 'customer_id' => $cgt->token, + //'customer_id' => $cgt->token, + 'transaction_id' => $payment->transaction_reference, 'integrator_id' => '959195xd1CuC' ]; - $response = $this->gatewayRequest('/v1/transactions/refund/to_customer', $data); + $response = $this->gatewayRequest('/v1/transactions/refund/for_transaction', $data); if($response && $response->success) { @@ -181,8 +183,10 @@ class PaytracePaymentDriver extends BaseDriver $url = 'https://api.paytrace.com/oauth/token'; $data = [ 'grant_type' => 'password', - 'username' => $this->company_gateway->getConfigField('username'), - 'password' => $this->company_gateway->getConfigField('password') + 'username' => config('ninja.testvars.paytrace.username'), + 'password' => config('ninja.testvars.paytrace.password'), + //'username' => $this->company_gateway->getConfigField('username'), + //'password' => $this->company_gateway->getConfigField('password') ]; $response = CurlUtils::post($url, $data, $headers = false); diff --git a/config/ninja.php b/config/ninja.php index 878174e2f07a..ac835e3624f5 100644 --- a/config/ninja.php +++ b/config/ninja.php @@ -84,6 +84,10 @@ return [ 'test_email' => env('TEST_EMAIL', 'test@example.com'), 'wepay' => env('WEPAY_KEYS', ''), 'braintree' => env('BRAINTREE_KEYS', ''), + 'paytrace' => [ + 'username' => env('PAYTRACE_U', ''), + 'password' => env('PAYTRACE_P','') + ], ], 'contact' => [ 'email' => env('MAIL_FROM_ADDRESS'), diff --git a/resources/views/portal/ninja2020/gateways/paytrace/pay.blade.php b/resources/views/portal/ninja2020/gateways/paytrace/pay.blade.php index aa9eb9162e29..4535639e43d4 100644 --- a/resources/views/portal/ninja2020/gateways/paytrace/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/paytrace/pay.blade.php @@ -146,22 +146,14 @@ PTPayment.setup({ PTPayment.getControl("securityCode").label.text("{!! ctrans('texts.cvv')!!}"); PTPayment.getControl("creditCard").label.text("{!! ctrans('texts.card_number')!!}"); PTPayment.getControl("expiration").label.text("{!! ctrans('texts.expires')!!}"); - //PTPayment.style({'cc': {'label_color': 'red'}}); - //PTPayment.style({'code': {'label_color': 'red'}}); - //PTPayment.style({'exp': {'label_color': 'red'}}); - //PTPayment.style({'exp':{'type':'dropdown'}}); - //PTPayment.theme('horizontal'); - // this can be any event we chose. We will use the submit event and stop any default event handling and prevent event handling bubbling. document.getElementById("server_response").addEventListener("submit",function(e){ e.preventDefault(); e.stopPropagation(); - // To trigger the validation of sensitive data payment fields within the iframe before calling the tokenization process: PTPayment.validate(function(validationErrors) { - if (validationErrors.length >= 1 && token_payment == false) { - + if (validationErrors.length >= 1 && !token_payment) { let errors = document.getElementById('errors'); errors.textContent = ''; @@ -170,6 +162,11 @@ PTPayment.setup({ } else { // no error so tokenize + if(token_payment){ + + tokenPayment(); + } + instance.process() .then( (r) => { submitPayment(r); @@ -200,5 +197,11 @@ function submitPayment(r){ } + +function tokenPayment(){ + + document.getElementById("server_response").submit(); + return false; +} @endsection