Как позвонить получить запрос после отправки http ответа - PullRequest
0 голосов
/ 04 мая 2019

Я занимаюсь разработкой приложения с помощью API из Интернета.В Интернете я должен предоставить http-ответ, потому что они отправляют запросы POST в мою систему.

, например,

, схема

в первомшаг я могу отправить ответ и сохранить в моей базе данных, код, подобный этому

public function notification_kredivo_v_2(){
        //set response
        ignore_user_abort(true);
        set_time_limit(0);
        ob_start();

        //data response
        header('Content-Type: application/json; charset=utf-8');

        $default = array(
            "status"  => "OK",
            "message" => "Notification has been received",
        );

        echo json_encode($default);;

        // DON'T USE CONTENT-LENGTH or IT WILL BREAK THE CODE
        header('Connection: close');
        header('Content-Length: '.ob_get_length());
        ob_end_flush();
        ob_flush();
        flush();

        //load db
        $this->load->model('kredivo_model', 'km');

        //ambil data result
        $result = json_decode(file_get_contents('php://input'), true);

        $order_id               = $result['order_id'];
        $transaction_id         = $result['transaction_id'];
        $signature_key          = $result['signature_key'];

        //masukan ke database kredivo payment
        $this->km->confirm_payment_v2(
            $order_id,
            $transaction_id,
            $signature_key
        );
}

, но после этого процесса я должен отправить запрос GET в другую систему, мой код, как это, я использую Gzzle для GETrequest

/*CONFIRM TO V2/UPDATE*/
        //kirim get untuk confirm order
        $url = $this->ci->config->item("kredivo_api_link_confirm");

        //load libary kredivo
        $this->load->library('CoreKredivo','corekredivo');

        //sent to v2/update
        $confirm_order = array(
            'transaction_id' => $transaction_id,
            'signature_key'  => $signature_key,
        );

        //kirim data ke confirmation core kredivo
        $confirmation = $this->corekredivo->confirmOrder($url,$confirm_order);

        //menerima data dari core kredivo dan melakukan decode
        $finalResponse_payment = json_decode($confirmation,true);

        $fraud = $finalResponse_payment['fraud_status'];
        $transaction_status = $finalResponse_payment['transaction_status'];
        $user_token = $finalResponse_payment['user_token'];

        $this->km->confirm_payment_v2(
            $fraud,
            $transaction_status,
            $user_token
        );

я пытаюсь сохранить в базе данных, чтобы проверить, выполняется ли мой запрос get или нет

, но запрос get не работает, потому что данные не вставляются в мою базу данных,

как решить эту проблему?пожалуйста помогите

...