diff --git a/app/PaymentDrivers/AuthorizeNetAIMPaymentDriver_old.php b/app/PaymentDrivers/AuthorizeNetAIMPaymentDriver_old.php
index fd4c9943c60e..b8e3c7ecf5a7 100644
--- a/app/PaymentDrivers/AuthorizeNetAIMPaymentDriver_old.php
+++ b/app/PaymentDrivers/AuthorizeNetAIMPaymentDriver_old.php
@@ -80,7 +80,7 @@ class AuthorizeNetAIMPaymentDriver extends BasePaymentDriver
{
$data['gateway'] = $this->gateway;
- return render($this->viewForType(GatewayType::CREDIT_CARD), $data);
+ return render('gateways.authorize.add_credit_card', $data);
}
public function authorizeCreditCardResponse($request)
diff --git a/app/PaymentDrivers/AuthorizePaymentDriver.php b/app/PaymentDrivers/AuthorizePaymentDriver.php
index e3b9fc4cf8f9..fa434e85b6ae 100644
--- a/app/PaymentDrivers/AuthorizePaymentDriver.php
+++ b/app/PaymentDrivers/AuthorizePaymentDriver.php
@@ -14,8 +14,10 @@ namespace App\PaymentDrivers;
use net\authorize\api\constants\ANetEnvironment;
use net\authorize\api\contract\v1\CreateTransactionRequest;
+use net\authorize\api\contract\v1\GetMerchantDetailsRequest;
use net\authorize\api\contract\v1\MerchantAuthenticationType;
use net\authorize\api\controller\CreateTransactionController;
+use net\authorize\api\controller\GetMerchantDetailsController;
/**
* Class BaseDriver
@@ -25,36 +27,59 @@ use net\authorize\api\controller\CreateTransactionController;
class AuthorizePaymentDriver extends BaseDriver
{
- public $anet;
+ public $merchant_authentication;
public function init()
{
+ error_reporting (E_ALL & ~E_DEPRECATED);
- $merchantAuthentication = new MerchantAuthenticationType();
- $merchantAuthentication->setName($this->company_gateway->getConfigField('apiLoginId'));
- $merchantAuthentication->setTransactionKey($this->company_gateway->getConfigField('transactionKey'));
-
-
- $this->anet = new CreateTransactionRequest();
- $this->anet->setMerchantAuthentication($merchantAuthentication);
+ $this->merchant_authentication = new MerchantAuthenticationType();
+ $this->merchant_authentication->setName($this->company_gateway->getConfigField('apiLoginId'));
+ $this->merchant_authentication->setTransactionKey($this->company_gateway->getConfigField('transactionKey'));
return $this;
}
- public function fire()
+ public function getPublicClientKey()
+ {
+
+ $request = new GetMerchantDetailsRequest();
+ $request->setMerchantAuthentication($this->merchant_authentication);
+
+ $controller = new GetMerchantDetailsController($request);
+ $response = $controller->executeWithApiResponse($this->mode());
+
+ return $response->getPublicClientKey();
+
+ }
+
+ private function mode()
{
if($this->company_gateway->getConfigField('testMode'))
- $env = ANetEnvironment::SANDBOX;
- else
- $env = ANetEnvironment::PRODUCTION;
+ return ANetEnvironment::SANDBOX;
+
+ return $env = ANetEnvironment::PRODUCTION;
- $controller = new CreateTransactionController($this->anet);
- $response = $controller->executeWithApiResponse($env);
-
- return $response;
}
+ public function authorizeView()
+ {
+ $data['gateway'] = $this->gateway;
+ $data['public_client_id'] = $this->init()->getPublicClientKey();
+
+ return render('gateways.authorize.add_credit_card', $data);
+ }
+
+ // public function fire()
+ // {
+
+ // $controller = new CreateTransactionController($this->anet);
+ // $response = $controller->executeWithApiResponse($env);
+
+ // return $response;
+ // }
+
public function authorize() {}
diff --git a/database/seeds/RandomDataSeeder.php b/database/seeds/RandomDataSeeder.php
index 27a4bc6226a4..6a1f4464f8bb 100644
--- a/database/seeds/RandomDataSeeder.php
+++ b/database/seeds/RandomDataSeeder.php
@@ -265,54 +265,68 @@ class RandomDataSeeder extends Seeder
]);
- if (config('ninja.testvars.stripe')) {
- $cg = new CompanyGateway;
- $cg->company_id = $company->id;
- $cg->user_id = $user->id;
- $cg->gateway_key = 'd14dd26a37cecc30fdd65700bfb55b23';
- $cg->require_cvv = true;
- $cg->show_billing_address = true;
- $cg->show_shipping_address = true;
- $cg->update_details = true;
- $cg->config = encrypt(config('ninja.testvars.stripe'));
- $cg->save();
+ // if (config('ninja.testvars.stripe')) {
+ // $cg = new CompanyGateway;
+ // $cg->company_id = $company->id;
+ // $cg->user_id = $user->id;
+ // $cg->gateway_key = 'd14dd26a37cecc30fdd65700bfb55b23';
+ // $cg->require_cvv = true;
+ // $cg->show_billing_address = true;
+ // $cg->show_shipping_address = true;
+ // $cg->update_details = true;
+ // $cg->config = encrypt(config('ninja.testvars.stripe'));
+ // $cg->save();
+ // $cg = new CompanyGateway;
+ // $cg->company_id = $company->id;
+ // $cg->user_id = $user->id;
+ // $cg->gateway_key = 'd14dd26a37cecc30fdd65700bfb55b23';
+ // $cg->require_cvv = true;
+ // $cg->show_billing_address = true;
+ // $cg->show_shipping_address = true;
+ // $cg->update_details = true;
+ // $cg->config = encrypt(config('ninja.testvars.stripe'));
+ // $cg->save();
+ // }
+
+ // if (config('ninja.testvars.paypal')) {
+ // $cg = new CompanyGateway;
+ // $cg->company_id = $company->id;
+ // $cg->user_id = $user->id;
+ // $cg->gateway_key = '38f2c48af60c7dd69e04248cbb24c36e';
+ // $cg->require_cvv = true;
+ // $cg->show_billing_address = true;
+ // $cg->show_shipping_address = true;
+ // $cg->update_details = true;
+ // $cg->config = encrypt(config('ninja.testvars.paypal'));
+ // $cg->save();
+ // }
+
+ // if(config('ninja.testvars.checkout')) {
+ // $cg = new CompanyGateway;
+ // $cg->company_id = $company->id;
+ // $cg->user_id = $user->id;
+ // $cg->gateway_key = '3758e7f7c6f4cecf0f4f348b9a00f456';
+ // $cg->require_cvv = true;
+ // $cg->show_billing_address = true;
+ // $cg->show_shipping_address = true;
+ // $cg->update_details = true;
+ // $cg->config = encrypt(config('ninja.testvars.checkout'));
+ // $cg->save();
+ // }
+
+ if(config('ninja.testvars.authorize')) {
$cg = new CompanyGateway;
$cg->company_id = $company->id;
$cg->user_id = $user->id;
- $cg->gateway_key = 'd14dd26a37cecc30fdd65700bfb55b23';
+ $cg->gateway_key = '2f71dc17b0158ac30a7ae0839799e888';
$cg->require_cvv = true;
$cg->show_billing_address = true;
$cg->show_shipping_address = true;
$cg->update_details = true;
- $cg->config = encrypt(config('ninja.testvars.stripe'));
- $cg->save();
- }
-
- if (config('ninja.testvars.paypal')) {
- $cg = new CompanyGateway;
- $cg->company_id = $company->id;
- $cg->user_id = $user->id;
- $cg->gateway_key = '38f2c48af60c7dd69e04248cbb24c36e';
- $cg->require_cvv = true;
- $cg->show_billing_address = true;
- $cg->show_shipping_address = true;
- $cg->update_details = true;
- $cg->config = encrypt(config('ninja.testvars.paypal'));
- $cg->save();
- }
-
- if(config('ninja.testvars.checkout')) {
- $cg = new CompanyGateway;
- $cg->company_id = $company->id;
- $cg->user_id = $user->id;
- $cg->gateway_key = '3758e7f7c6f4cecf0f4f348b9a00f456';
- $cg->require_cvv = true;
- $cg->show_billing_address = true;
- $cg->show_shipping_address = true;
- $cg->update_details = true;
- $cg->config = encrypt(config('ninja.testvars.checkout'));
+ $cg->config = encrypt(config('ninja.testvars.authorize'));
$cg->save();
}
+
}
}
diff --git a/resources/js/clients/payment_methods/authorize-authorize-card.js b/resources/js/clients/payment_methods/authorize-authorize-card.js
index 70d6c83cc320..7b9a0810e90f 100644
--- a/resources/js/clients/payment_methods/authorize-authorize-card.js
+++ b/resources/js/clients/payment_methods/authorize-authorize-card.js
@@ -9,8 +9,10 @@
*/
class AuthorizeAuthorizeCard {
- constructor(key) {
- this.key = key;
+
+ constructor(publicKey, loginId) {
+ this.publicKey = publicKey;
+ this.loginId = loginId;
this.cardHolderName = document.getElementById("cardholder_name");
this.cardButton = document.getElementById("card_button");
@@ -19,8 +21,8 @@ class AuthorizeAuthorizeCard {
handleAuthorization() {
var authData = {};
- authData.clientKey = this.key;
- authData.apiLoginID = "YOUR API LOGIN ID";
+ authData.clientKey = this.publicKey;
+ authData.apiLoginID = this.loginId;
var cardData = {};
cardData.cardNumber = document.getElementById("card_number").value;
@@ -77,5 +79,9 @@ const publicKey = document.querySelector(
'meta[name="authorize-public-key"]'
).content;
+const loginId = document.querySelector(
+ 'meta[name="api_login_id"]'
+).content;
+
/** @handle */
-new AuthorizeAuthorizeCard(publicKey).handle();
\ No newline at end of file
+new AuthorizeAuthorizeCard(publicKey, loginId).handle();
\ No newline at end of file
diff --git a/resources/views/portal/ninja2020/gateways/authorize/add_credit_card.blade.php b/resources/views/portal/ninja2020/gateways/authorize/add_credit_card.blade.php
index ceb81eb9d55b..af22be42736c 100644
--- a/resources/views/portal/ninja2020/gateways/authorize/add_credit_card.blade.php
+++ b/resources/views/portal/ninja2020/gateways/authorize/add_credit_card.blade.php
@@ -2,7 +2,8 @@
@section('meta_title', ctrans('texts.add_credit_card'))
@push('head')
-
+
+
@endpush
@section('body')