Closed dsrdnpblc closed 5 years ago
¿Podrías mostrar el código qué está fallando? Quizás así puedo ayudarte de mejor forma.
El mié., 14 de nov. de 2018 a la(s) 17:34, Luis Guillermo Ramos ( notifications@github.com) escribió:
Buenas tardes, estoy presentando un problema al intentar usar la llave y certificado de integracion de mi ecommerce y no el de integración que ya viene con el paquete... Creo el bag haciendo llamado al .key y .crt de acuerdo a como se estipula en la documentación y se me presenta el siguiente error
Commerce connection type must be WS(277)
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/freshworkstudio/transbank-web-services/issues/25, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDWhihZphCJMmd5o0FbCQmxyikHQWQDks5uvH5HgaJpZM4Yeh3A .
`<?php
namespace App\Http\Controllers\Register;
use App\Models\User; use App\Models\Person; use App\Models\Payment; use App\Models\Company; use App\Models\CompanyCommune; use App\Models\CompanySubCategory; use App\Models\Subscription; use Illuminate\Http\Request; use App\Models\PersonCompany; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use Freshwork\Transbank\RedirectorHelper; use Freshwork\Transbank\CertificationBag; use Freshwork\Transbank\CertificationBagFactory; use Freshwork\Transbank\TransbankServiceFactory; use App\Http\Requests\ValidatePersonProviderRequest; use App\Http\Requests\ValidateCompanyProviderRequest; use App\Http\Requests\RegisterServicesCommunesRequest;
class ProviderController extends Controller { public function payment($amount, Request $request) { //Desarrollo certificados api //$bag = CertificationBagFactory::integrationWebpayNormal();
//Desarrollo certificados
$bag = new CertificationBag(
public_path().'/certs/597020000546.key',
public_path().'/certs/597020000546.crt',
null,
CertificationBag::INTEGRATION
);
$plus = TransbankServiceFactory::normal($bag);
$plus->addTransactionDetail($amount, 'Orden-'.$request->session()->get('company_id').'-'.$request->session()->get('plan_id')); //Amount and BuyOrder
$response = $plus->initTransaction(env('APP_URL').'/register/provider/payment/store', env('APP_URL').'/register/provider/payment/finish');
return RedirectorHelper::redirectHTML($response->url, $response->token);
}
public function storePayment(Request $request)
{
//Desarrollo certificados api
//$bag = CertificationBagFactory::integrationWebpayNormal();
//Desarrollo certificados
$bag = new CertificationBag(
public_path().'\certs\597020000546.key',
public_path().'\certs\597020000546.crt',
null,
CertificationBag::INTEGRATION
);
$plus = TransbankServiceFactory::normal($bag);
$response = $plus->getTransactionResult();
$plus->acknowledgeTransaction();
if($response->detailOutput->responseCode == 0){
$request->session()->put('payment_result', 'APROBADO');
$payment = new Payment();
$payment->pay_order = $request->session()->get('comp_id').'-'.$request->session()->get('plan_id');
$payment->pay_uf = $request->session()->get('uf');
$payment->pay_amount = $response->detailOutput->amount;
$payment->pay_authorization_code = $response->detailOutput->authorizationCode;
$payment->pay_transaction_date = date('Y-m-d H:i:s',strtotime($response->transactionDate));
$payment->pay_status = 'APROBADO';
$payment->fk_companies_comp_id = $request->session()->get('comp_id');
$payment->fk_plans_plan_id = $request->session()->get('plan_id');
$payment->save();
$subscription = new Subscription();
$subscription->sub_start_date = date('Y-m-d H:i:s',strtotime($response->transactionDate));
$subscription->sub_end_date = date('Y-m-d H:i:s',strtotime($response->transactionDate.' +365 days'));
$subscription->fk_plans_plan_id = $request->session()->get('plan_id');
$subscription->fk_payments_pay_id = $payment->pay_id;
$subscription->fk_companies_comp_id = $request->session()->get('comp_id');
$subscription->save();
return redirect()->action(
'Register\ProviderController@step4'
);
}else{
$request->session()->put('payment_result', 'RECHAZADO');
$payment = new Payment();
$payment->pay_order = $request->session()->get('comp_id').'-'.$request->session()->get('plan_id');
$payment->pay_uf = $request->session()->get('uf');
$payment->pay_amount = $response->detailOutput->amount;
$payment->pay_status = 'RECHAZADO';
$payment->fk_companies_comp_id = $request->session()->get('comp_id');
$payment->fk_plans_plan_id = $request->session()->get('plan_id');
$payment->save();
return redirect()->action(
'Register\ProviderController@step4'
);
}
}
public function finishPayment(Request $request)
{
return redirect()->action(
'Register\ProviderController@step4'
);
}
public function step4()
{
return view('step4');
}
}
?>`
estoy creando el $bag usando new CertificationBag y le paso como parametros la ubicacion de mi .key y mi .crt que contienen la informacion de la llave y certificado respectivamente....
El ambiente debe ser de producción, no te Integración. Avisame si al cambiarlo se arregla.
El El mié, 14 de nov. de 2018 a las 19:03, Luis Guillermo Ramos < notifications@github.com> escribió:
estoy creando el $bag usando new CertificationBag y le paso como parametros la ubicacion de mi .key y mi .crt que contienen la informacion de la llave y certificado respectivamente....
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/freshworkstudio/transbank-web-services/issues/25#issuecomment-438835405, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDWhjruB8Ll1DNycJeLtw7GG__3aLZkks5uvJMYgaJpZM4Yeh3A .
-- Enviado con Gmail Mobile
Sigue dando el mismo error.... El escenario es el siguiente...
@dsrdnpblc ¿pudiste resolverlo finalmente?
Revisando tu código nuevamente veo que el tercer parametro del certification bag lo pusiste en null. Ahí debes colocar el certificado publico de transbank (ellos lo envían).
Buenas tardes, estoy presentando un problema al intentar usar la llave y certificado de integracion de mi ecommerce y no el de integración que ya viene con el paquete... Creo el bag haciendo llamado al .key y .crt de acuerdo a como se estipula en la documentación y se me presenta el siguiente error
Commerce connection type must be WS(277)