#codeigniter #phpmyadmin
#codeigniter — инициализатор кода #phpmyadmin
Вопрос:
У меня есть эти два метода, отвечающие за добавление пользователей из другой системы в эту систему.
private function api_login($email, $password){
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.#.com.br/v1/driver/login",
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_ENCODING => "",
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 3000,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode(['email' => $email, 'password' => $password, 'device_name' => 'web']),
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Content-Type: application/json'
],
]);
$response_body = curl_exec($curl);
$response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$response_error = curl_errno($curl);
$err = curl_error($curl);
curl_close($curl);
$token = false;
if (!$err) {
if($response_code == 200){
$json_decode = json_decode($response_body);
$token = $json_decode->token;
}
}
return $token;
}
private function api_user_info(){
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.#.com.br/v1/driver/user",
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_ENCODING => "",
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 3000,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.$this->session->userdata('token_#'),
'Accept: application/json',
'Content-Type: application/json'
],
]);
$response_body = curl_exec($curl);
$response_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
$response_error = curl_errno($curl);
$err = curl_error($curl);
curl_close($curl);
$json_decode = '';
if (!$err) {
if($response_code == 200){
$json_decode = json_decode($response_body);
}
}
return $json_decode;
}
Я хочу установить параметры следующего метода:
public function stripe_payment($user_id = "", $payment_request_from = "", $session_id = "") {
if ($this->session->userdata('user_login') != 1 amp;amp; $payment_request_from == 'from_web'){
$this->session->set_flashdata('error_message', get_phrase('please_login_first'));
redirect('home/login', 'refresh');
}
//THIS IS HOW I CHECKED THE STRIPE PAYMENT STATUS
$response = $this->payment_model->stripe_payment($user_id, $session_id);
if ($response['payment_status'] === 'succeeded') {
// STUDENT ENROLMENT OPERATIONS AFTER A SUCCESSFUL PAYMENT
$check_duplicate = $this->db->get_where('bundle_payment', array('user_id' => $user_id, 'session_id' => $session_id, 'transaction_id' => $response['transaction_id']))->num_rows();
if($check_duplicate <= 0):
$this->course_bundle_model->bundle_purchase('stripe', $response['paid_amount'], $response['transaction_id'], $session_id);
$this->email_model->bundle_purchase_notification($user_id);
$this->session->set_userdata('checkout_bundle_price', null);
$this->session->set_userdata('checkout_bundle_id', null);
else:
$this->session->set_flashdata('error_message', site_phrase('session_time_out'));
redirect('home/course_bundles', 'refresh');
endif;
if($payment_request_from == 'from_web'):
$this->session->set_flashdata('flash_message', site_phrase('payment_successfully_done'));
redirect('home/my_bundles', 'refresh');
else:
//for mobile
endif;
}else{
if($payment_request_from == 'from_web'):
$this->session->set_flashdata('error_message', $response['status_msg']);
redirect('home', 'refresh');
else:
//for mobile
endif;
}
}
И мне нужно настроить эти параметры в соответствии с результатом приведенного выше api.