adapter->checkAuthorizationStatus($data)) { $captureData = [ 'amazon_authorization_id' => $data['amazon_authorization_id'], 'capture_amount' => $data['capture_amount'], 'currency_code' => $data['currency_code'], 'capture_reference_id' => $data['amazon_order_reference_id'] . '-C' . time() ]; $response = $this->adapter->completeCapture($captureData, $data['store_id']); } else { // if invalid - reauthorize and capture $captureData = [ 'amazon_order_reference_id' => $data['amazon_order_reference_id'], 'amount' => $data['capture_amount'], 'currency_code' => $data['currency_code'], 'store_name' => $data['store_name'], 'custom_information' => $data['custom_information'], 'platform_id' => $data['platform_id'] ]; $response = $this->adapter->authorize($data, true); $response['reauthorized'] = true; } return $response; } }